更新交通事件 (Network Analyst)
摘要
通过 Web 服务创建包含实时交通事件数据的点要素类。交通事件包括事故和道路施工等事件。
用法
您需要拥有提供商参数中列出的其中一个数据提供商的帐户,才能使用此工具下载流量数据。
-
如果使用相同的输出工作空间和要素类名称多次运行此工具,则在创建新要素前将删除所有先前要素。
语法
参数 | 说明 | 数据类型 |
provider |
选择交通事件数据提供商的名称。该工具支持从以下提供商下载交通事件数据:
| String |
user_name |
经数据提供商授权可下载事件数据的用户名。如果数据提供商无法鉴别用户名,则无法执行该工具。 如果“提供商”参数为“北美 TomTom”或“欧洲 TomTom”,则使用 "APIKEY" 作为参数值。 | String |
password |
数据提供商所提供的用于下载交通事件数据的密码。如果数据提供商无法鉴别密码,则无法执行该工具。 | Encrypted String |
regions [regions,...] | 输入要下载交通事件数据的区域。如果要下载所有可用区域,请输入 "#"。 | String |
incidents_feature_class_location |
将创建输出要素类的 ArcSDE 地理数据库、文件地理数据库或个人地理数据库。此工作空间必须已经存在。 | Workspace; Feature Dataset |
incidents_feature_class_name |
要创建的要素类的名称。如果之前已运行过该工具且具有此名称的要素类已经存在,则该工具将删除现有要素并根据最新的事件数据创建新要素。 | String |
time_zone_boundaries (可选) |
要素自身划定了时区的面要素类。通过提供此要素类,可以按协调世界时间和本地时间来报告发生在时区边界内的事件。 如果不提供时区边界要素类,则只能按协调世界时间 (UTC) 报告事件的开始时间和结束时间;所有本地时间字段将被分配为空值。在少数情况下,流量源中的某些事件(如天气事件)存在空几何。这种情况下,即使提供了时区边界要素类,也会为本地时间字段分配空值。 如果提供了时区边界要素类,则需要设置“时区 ID 字段”属性。 | Feature Layer |
time_zone_id_field (可选) |
时区边界要素类中包含 Windows 时区标识符的文本字段。 此字段中的值与 Windows 注册表中的时区项对应。您可以按照类似于向网络数据集添加时区主题中所述的步骤来为输入要素类中的面查找合适的时区名称。 | Field |
代码实例
以下 Python 窗口脚本演示了如何使用“更新交通事件”工具。
import arcpy
arcpy.na.UpdateTrafficIncidents("NAVTEQ North America", "myUserName",
"myPassword",
["New England", "New York/Northern NJ/Connecticut"],
"C:/Data/Traffic.gdb","Traffic_Incidents",
"C:/data/TimeZones.gdb/NATimeZones", "MSTIMEZONE")
以下独立 Python 脚本演示了如何使用“更新交通事件”工具将交通事件数据作为 ArcSDE 地理数据库中的要素类进行下载。可将该脚本作为“Windows 任务计划程序”或 cron 作业 (Linux) 运行,从而按固定时间间隔更新交通事件数据。该要素类可用于发布要素服务。
# Name: UpdateTrafficIncidents_Workflow.py
# Description: Downloads traffic incidents as a feature class in an ArcSDE
# geodatabase. The script can be run as a Windows Scheduler Task or
# a cron job on Linux so that the traffic incidents are updated at
# regular intervals. The feature class can be used to publish a
# feature service.
#Import system modules
import arcpy
from arcpy import env
#Set local variables
trafficIncidentsStorage = "C:/data/TrafficIncidentsStorage.sde"
incidentsFeatureClass = "NAVTEQ_NorthAmerica_Incidents"
provider = "NAVTEQ North America"
username = "Replace with your username"
password = "Replace with your password"
#download data for all regions
regions = "#"
timeZoneBoundaries = "C:/data/TimeZones.gdb/NATimeZones"
timeZonesID = "MSTIMEZONE"
try:
#Update Traffic Data. Use default values for remaining parameters
arcpy.na.UpdateTrafficIncidents(provider,username,password, regions,
trafficIncidentsStorage, incidentsFeatureClass,
timeZoneBoundaries, timeZonesID)
print "Script completed successfully."
except Exception as e:
# If an error occurred, print line number and error message
import traceback, sys
tb = sys.exc_info()[2]
print "An error occured on line %i" % tb.tb_lineno
print str(e)