Résumé
Génère une feuille de route tournant par tournant à partir d'une couche d'analyse de réseau avec des itinéraires. La feuille de route peut être enregistrée dans un fichier au format texte, XML ou HTML. Si vous fournissez une feuille de style appropriée, la feuille de route peut être enregistrée dans un autre format de fichier.
Utilisation
L'outil résout la couche d'analyse du réseau s'il ne possède pas déjà un résultat valide. Il n'est donc pas indispensable de résoudre la couche d'analyse du réseau avant de générer la feuille de route.
Syntaxe
arcpy.na.Directions(in_network_analysis_layer, file_type, out_directions_file, report_units, {report_time}, {time_attribute}, {language}, {style_name}, {stylesheet})
Paramètre | Explication | Type de données |
in_network_analysis_layer | Couche d'analyse de réseau pour laquelle la feuille de route est générée. Il est possible de générer la feuille de route uniquement pour les couches d'analyse de réseau itinéraire, ressource la plus proche et tournée de véhicules. | Network Analyst Layer |
file_type | Format du fichier de directions en sortie. Ce paramètre est ignoré si le paramètre de feuille de style possède une valeur.
| String |
out_directions_file | Si vous fournissez une feuille de style dans le paramètre stylesheet, vérifiez que le suffixe du fichier out_directions_file correspond au type de fichier que votre feuille de style produit. | File |
report_units | Précise les unités linéaires dans lesquelles les informations relatives à la longueur seront consignées dans le fichier de directions. Par exemple, bien que votre impédance soit en mètres, vous pouvez afficher des feuilles de route en miles.
| String |
report_time (Facultatif) |
| Boolean |
time_attribute (Facultatif) | Attribut de coût basé sur le temps pour fournir les temps de déplacement dans la feuille de route. L'attribut de coût doit exister sur le jeu de données réseau utilisé par la couche d'analyse de réseau en entrée. | String |
language (Facultatif) | Choisissez un langage dans lequel générer des trajets. Les langues affichées dans la liste déroulante dépendent des modules linguistiques d'ArcGIS installés sur votre ordinateur. Notez que si vous envisagez de publier cet outil dans le cadre d'un service sur un serveur distinct, le module linguistique d'ArcGIS correspondant à la langue que vous choisissez doit être installé sur ce serveur pour que l'outil fonctionne correctement. De plus, si un module linguistique n'est pas installé sur l'ordinateur, la langue n'apparaît pas dans la liste déroulante. Toutefois, vous pouvez saisir un code de langue au lieu d'en choisir un. | String |
style_name (Facultatif) | Choisissez le nom du style de mise en forme pour la feuille de route.
| String |
stylesheet (Facultatif) | Feuille de style permettant de générer un type de fichier en sortie dans un format (tel que PDF, Word ou HTML). Le suffixe du fichier dans le paramètre Fichier de feuille de route en sortie doit correspondre au type de fichier que la feuille de style génère. L'outil Feuille de route remplace le paramètre Type de fichier en sortie si ce paramètre contient une valeur.
| File |
Sortie dérivée
Nom | Explication | Type de données |
output_layer | Couche d’analyse de réseau mise à jour avec des itinéraires. | Couche Network Analyst |
Exemple de code
Exemple 1 d'utilisation de l'outil Feuille de route (fenêtre Python)
Exécutez l'outil Feuille de route avec tous les paramètres.
arcpy.na.Directions("Route", "TEXT", "C:/Data/Route_Directions.txt", "Miles",
"REPORT_TIME", "Minutes")
Exemple 2 d'utilisation de l'outil Feuille de route (workflow)
Le script Python autonome suivant illustre l'utilisation de l'outil Directions pour générer des trajets dans un fichier HTML pour un itinéraire.
# 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)
Environnements
Informations de licence
- Basic: Requiert Network Analyst
- Standard: Requiert Network Analyst
- Advanced: Requiert Network Analyst