Update Traffic Data (Network Analyst)
Summary
Downloads live traffic data from a web service and stores it in a dynamic traffic format (DTF) file, which is a file that network datasets can read for live-traffic analysis and display.
Usage
-
You need to have an account with one of the data providers listed in the Provider parameter before this tool can download traffic data.
By scheduling this tool to run at regular intervals or strategic times, you can ensure the latest traffic data is available. One common method of scheduling is to use Windows Task Scheduler on a Python script that calls this tool.
Syntax
Parameter | Explanation | Data Type |
provider |
Choose the name of your traffic data provider. The tool supports downloading traffic data from the following providers:
| String |
user_name |
The user name authorized by the data provider to download traffic data. The tool fails to execute if the user name cannot be authenticated by the data provider. If the Provider parameter is TomTom North America or TomTom Europe, use "APIKEY" as the parameter value. | String |
password |
The password provided by the data provider to download traffic data. The tool fails to execute if the password cannot be authenticated by the data provider. | Encrypted String |
regions [regions,...] | Enter the regions for which you want to download traffic data. To download all available regions, type "#". | String |
traffic_data_output_folder |
The folder in which the DTF file will be created. If the folder is empty, the tool creates a TrafficIndex.xml file along with the DTF file. For subsequent tool runs, the tool updates TrafficIndex.xml and creates a DTF file. If you download data from multiple data providers, a unique folder should be specified for each data provider. | Folder |
expected_update_interval |
The time interval in minutes after which the downloaded traffic data is no longer up-to-date, and the data provider makes available refreshed data. After this interval has elapsed, it is recommended that you rerun the tool and download the latest data. | Long |
prediction_cutoff |
The time interval (in minutes) for which the predictive traffic data is processed by the tool. Data providers may supply predictive data for the next day or other time period. This time-span value is used to limit the amount of predictive traffic data that is processed by the tool to speed up tool execution. | Long |
compress_data |
| Boolean |
maximum_file_age (Optional) |
The time interval (in minutes) for which the traffic files (that is, the DTF files) will be kept in the traffic data output folder. This parameter facilitates deleting traffic files that are no longer required. When the tool is rerun, any traffic data files that are older than the maximum file age are deleted automatically. The default value is 720 minutes (12 hours). | Long |
Code Sample
The following Python window script demonstrates how to use the Update Traffic Data tool.
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)
The following stand alone Python script describes how the Update Traffic Data tool can be used to download 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.
# 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)