描述
从 Web 服务下载实时交通数据并将其存储在动态交通格式 (DTF) 文件中,该文件可供网络数据集读取,并用来进行实时交通分析和显示。
使用
您需要拥有“提供商”参数中所列出的任一数据提供商的帐户,才能使用此工具下载交通数据。
通过规划此工具按固定时间间隔运行或在具有战略意义的特定时间运行,可始终确保获取最新的交通数据。常见的规划方法之一是对调用此工具的 Python 脚本使用“Windows Task Scheduler”。
语法
UpdateTrafficData(provider, user_name, password, regions, traffic_data_output_folder, expected_update_interval, prediction_cutoff, compress_data, {maximum_file_age}, {speed_unit})
参数 | 说明 | 数据类型 |
provider | 选择交通数据提供商的名称和区域。
| String |
user_name | 经数据提供商授权可下载交通数据的用户名。如果数据提供商无法鉴别用户名,则无法执行该工具。 如果“提供商”参数为“北美 TomTom”或“欧洲 TomTom”,则使用 "APIKEY" 作为参数值。 | String |
password | 数据提供商所提供的用于下载交通数据的密码。如果数据提供商无法鉴别密码,则无法执行该工具。 | Encrypted String |
regions [regions,...] | 输入要下载交通数据的区域。如果要下载所有可用区域,请输入 "#"。 | String |
traffic_data_output_folder | 要创建 DTF 文件的文件夹。如果文件夹为空,则该工具将创建一个 TrafficIndex.xml 文件以及 DTF 文件。为运行后续工具,该工具将更新 TrafficIndex.xml 并创建 DTF 文件。 如果从多个数据提供商下载数据,应为每个数据提供商指定唯一的文件夹。 | Folder |
expected_update_interval | 以分钟为单位的时间间隔,在此时间间隔之后,下载的交通数据不再是最新数据,数据提供商将提供更新的数据。此时间间隔过后,建议您重新运行该工具并下载最新的数据。 | Long |
prediction_cutoff | 此工具处理预测性交通数据的时间间隔(分钟)。数据提供商可以提供接下来 24 小时、一周或其他时间段的预测性数据。此参数的时间段值用于限制工具处理预测性流量数据的数量,从而加快工具执行速度。例如,如果流量提供商提供 24 小时的预测深度,但是您仅需要一小时的预测深度,这时,可在此处指定 60,从而节省时间。 | Long |
compress_data |
| Boolean |
maximum_file_age (可选) | 交通文件(即 DTF 文件)在交通数据输出文件夹中保存的时间间隔(分钟)。此参数有助于快速删除不再需要的交通文件。重新运行该工具时,将自动删除所有超过最长文件保留期限的交通数据文件。默认值为 720 分钟(12 小时)。 | Long |
speed_unit (可选) | 指从自定义流量源下载数据时的速度单位。如果正在使用提供商参数中记录的标准商业源之一,将忽略此参数。
为自定义流量源指定适当的速度单位,确保网络数据集可以正确解释这些速度值。 | String |
代码示例
UpdateTrafficData 示例 1(Python 窗口)
下面的 Python 窗口脚本演示了如何使用 UpdateTrafficData 工具。
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)
UpdateTrafficData 示例 2(工作流)
以下独立 Python 脚本演示了如何使用 UpdateTrafficData 工具从提供商下载实时交通数据。可将该脚本作为“Windows Scheduler Task”或 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 occurred on line %i" % tb.tb_lineno
print str(e)
环境
此工具不使用任何地理处理环境。
许可信息
- Basic: 是
- Standard: 是
- Advanced: 是