更新交通数据 (Network Analyst)
摘要
从 Web 服务下载实时交通数据并将其存储在动态交通格式 (DTF) 文件中,该文件可供网络数据集读取,并用来进行实时交通分析和显示。
用法
-
您需要拥有“提供商”参数中所列出的其中任一数据提供商的帐户,才能使用此工具下载交通数据。
通过安排此工具按固定时间间隔运行或在具有战略意义的特定时间运行,可始终确保获取最新的交通数据。常见的安排方法之一是对调用此工具的 Python 脚本使用“Windows 任务调用程序”。
语法
参数 | 说明 | 数据类型 |
provider |
选择交通数据提供商的名称。该工具支持从以下提供商下载交通数据:
| String |
user_name |
经数据提供商授权可下载交通数据的用户名。如果数据提供商无法鉴别用户名,则无法执行该工具。 如果“提供商”参数为“北美 TomTom”或“欧洲 TomTom”,则使用 "APIKEY" 作为参数值。 | String |
password |
数据提供商所提供的用于下载交通数据的密码。如果数据提供商无法鉴别密码,则无法执行该工具。 | Encrypted String |
regions [regions,...] | 输入要下载交通数据的区域。如果要下载所有可用区域,请输入 "#"。 | String |
traffic_data_output_folder |
要创建 DTF 文件的文件夹。如果文件夹为空,则该工具将随 DTF 文件创建 TrafficIndex.xml 文件。为运行后续工具,该工具将更新 TrafficIndex.xml 并创建 DTF 文件。 如果从多个数据提供商下载数据,应为每个数据提供商指定唯一的文件夹。 | Folder |
expected_update_interval |
以分钟为单位的时间间隔,在此时间间隔之后,下载的交通数据不再是最新数据,数据提供商将提供更新的数据。此时间间隔过后,建议您重新运行该工具并下载最新的数据。 | Long |
prediction_cutoff |
此工具处理预测性交通数据的时间间隔(分钟)。数据提供商可以提供第二天或其他时间段的预测性数据。此时间段值用于限制工具处理预测性交通数据的数量,从而加快工具执行速度。 | Long |
compress_data |
| Boolean |
maximum_file_age (可选) |
交通文件(即 DTF 文件)在交通数据输出文件夹中保存的时间间隔(分钟)。此参数有助于快速删除不再需要的交通文件。重新运行该工具时,将自动删除所有超过最长文件保留期限的交通数据文件。默认值为 720 分钟(12 小时)。 | Long |
代码实例
以下 Python 窗口脚本演示了如何使用“更新交通数据”工具。
import arcpy
arcpy.na.UpdateTrafficData("NAVTEQ North America", "myUserName", "myPassword",
["New England", "New York/Northern NJ/Connecticut"],
"d:/data/dtfs", 15, 120,"NO_COMPRESS", 720)
以下独立 Python 脚本演示了如何使用“更新交通数据”工具从提供商下载实时交通数据。可将该脚本作为“Windows 任务调度程序”或 cron 作业 (Linux) 运行,从而按固定时间间隔更新实时交通数据。
# Name: UpdateTrafficData_Workflow.py
# Description: Downloads live traffic data from a provider. The script can be run
# as a Windows Scheduler Task or a cron job on Linux so that the
# live traffic data is updated at regular intervals.
#Import system modules
import arcpy
#Set local variables
trafficDataFolder = "C:/data/TrafficData"
provider = "NAVTEQ North America"
username = "Replace with your username"
password = "Replace with your password"
#download data for all regions
regions = "#"
try:
#Update Traffic Data. Use default values for remaining parameters
arcpy.na.UpdateTrafficData(provider,username,password, regions,
trafficDataFolder)
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)