Disponible con una licencia de Network Analyst.
Resumen
Genera indicaciones giro a giro de una capa de análisis de red con rutas. Las direcciones se escriben en un archivo de texto, XML, o formato HTML. Si proporciona una hoja de estilo adecuada, las direcciones se pueden escribir en cualquier otro formato de archivo.
Uso
La herramienta resuelve la capa de análisis de red si no tienen ya un resultado válido, de modo que no es necesario resolver la capa de análisis de red antes de generar las indicaciones.
Sintaxis
Directions_na (in_network_analysis_layer, file_type, out_directions_file, report_units, {report_time}, {time_attribute}, {language}, {style_name}, {stylesheet})
Parámetro | Explicación | Tipo de datos |
in_network_analysis_layer | La capa de análisis de red desde la que se generarán las indicaciones. Las direcciones se pueden generar sólo para ruta, instalación más cercana, capas de análisis de red de problema de generación de rutas para vehículos. | Network Analyst Layer |
file_type | El formato del archivo de indicaciones de salida. Este parámetro se ignora si el parámetro de hoja de estilo tiene un valor.
| String |
out_directions_file | Si proporciona una hoja de estilo en el parámetro stylesheet, asegúrese de que el sufijo de out_directions_file coincide con el tipo de archivo que produce la hoja de estilo. | File |
report_units | Especifica las unidades lineales en las que se informará la información de longitud en el archivo de indicaciones. Por ejemplo, si bien la impedancia estaba en metros, usted puede optar por mostrar las direcciones en millas.
| String |
report_time (Opcional) |
| Boolean |
time_attribute (Opcional) | El atributo de coste basado en el tiempo que proporciona los tiempos de viaje en las indicaciones. El atributo de coste debe existir en el dataset de red utilizado por la capa de análisis de red de entrada. | String |
language (Opcional) | Elija un idioma en el cual desea generar las indicaciones para conducir. Los idiomas que se muestran en la lista desplegable dependen de qué paquetes de idioma de ArcGIS estén instalados en su equipo. Observe que si va a publicar esta herramienta como parte de un servicio en un servidor separado, el paquete de idioma de ArcGIS que corresponde al idioma que elija se debe instalar en ese servidor para que la herramienta funcione correctamente. También, si el paquete de idioma no está instalado en su equipo, el idioma no aparecerá en la lista desplegable; sin embargo, puede escribir un código de idioma en lugar de elegir uno. | String |
style_name (Opcional) | Elija el nombre del estilo de formato para las indicaciones.
| String |
stylesheet (Opcional) | Hoja de estilo para generar un tipo de archivo de salida formateado (como un archivo PDF, Word o HTML). El sufijo del archivo del parámetro del archivo de indicaciones de salida debe coincidir con el tipo de archivo generado por la hoja de estilo. La herramienta Indicaciones invalida el parámetro del tipo de archivo de salida si este parámetro contiene un valor.
| File |
Muestra de código
Ejemplo 1 de Indicaciones (ventana de Python)
Ejecute la herramienta Indicaciones con todos los parámetros.
arcpy.na.Directions("Route", "TEXT", "C:/Data/Route_Directions.txt", "Miles",
"REPORT_TIME", "Minutes")
Ejemplo 2 de Indicaciones (flujo de trabajo)
La siguiente secuencia de comandos de Python independiente muestra cómo se puede utilizar la herramienta Indicaciones para generar indicaciones para conducir en un archivo HTML para una ruta.
# Name: Directions_Workflow.py
# Description: Generate driving directions in a html file for a route that
# visits the store locations in the best sequence that minimizes
# the total travel time
# Requirements: Network Analyst Extension
#Import system modules
import arcpy
from arcpy import env
try:
#Check out the Network Analyst extension license
arcpy.CheckOutExtension("Network")
#Set environment settings
env.workspace = "C:/data/SanFrancisco.gdb"
env.overwriteOutput = True
#Set local variables
inNetworkDataset = "Transportation/Streets_ND"
outNALayerName = "StoreRoute"
impedanceAttribute = "TravelTime"
startLocation = "Analysis/DistributionCenter"
storeLocations = "Analysis/Stores"
#fieldMappings = "Name Name #; Attr_TravelTime ServiceTime #"
outDirectionsFile = "C:/data/output" + "/" + outNALayerName + "Directions.html"
outLayerFile = "C:/data/output" + "/" + outNALayerName + ".lyr"
#Create a new route layer. The route starts at the distribution center and
#takes the best sequence to visit the store locations.
outNALayer = arcpy.na.MakeRouteLayer(inNetworkDataset, outNALayerName,
impedanceAttribute, "FIND_BEST_ORDER",
"PRESERVE_FIRST","",['Meters'],
"NO_UTURNS",start_date_time="8 AM")
#Get the layer object from the result object. The route layer can
#now be referenced using the layer object.
outNALayer = outNALayer.getOutput(0)
#Get the names of all the sublayers within the route layer.
subLayerNames = arcpy.na.GetNAClassNames(outNALayer)
#Stores the layer names that we will use later
stopsLayerName = subLayerNames["Stops"]
#Load the distribution center as the start location using default field
#mappings and search tolerance
arcpy.na.AddLocations(outNALayer,stopsLayerName,startLocation,"","",
exclude_restricted_elements = "EXCLUDE")
#Load the store locations as stops. Make sure the store locations are
#appended to the Stops sublayer which already contains the distribution
#center location. Map the Attr_TravelTime property from the ServiceTime
#field so that the total travel time for the route will also contain the
#service time using the field mappings
fieldMappings = arcpy.na.NAClassFieldMappings(outNALayer, stopsLayerName)
fieldMappings["Name"].mappedFieldName = "Name"
fieldMappings["Attr_" + impedanceAttribute].mappedFieldName = "ServiceTime"
arcpy.na.AddLocations(outNALayer, stopsLayerName, storeLocations,
fieldMappings, "", append="APPEND",
exclude_restricted_elements = "EXCLUDE")
#Generate driving directions in a HTML file
arcpy.na.Directions(outNALayer,"HTML",outDirectionsFile,"Miles",
"REPORT_TIME",impedanceAttribute)
#Save the solved na layer as a layer file on disk using relative paths
arcpy.SaveToLayerFile_management(outNALayer,outLayerFile,"RELATIVE")
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)
Entornos
Información sobre licencias
- ArcGIS Desktop Basic: Requiere Network Analyst
- ArcGIS Desktop Standard: Requiere Network Analyst
- ArcGIS Desktop Advanced: Requiere Network Analyst