Feuille de route (Network Analyst)
Récapitulatif
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
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 Stylesheet possède une valeur.
| String |
out_directions_file |
Chemin complet de la feuille de route qui sera écrite. Si vous fournissez une feuille de style dans le paramètre Stylesheet, vérifiez que le suffixe du fichier de feuille de route en sortie 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 donné (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 le paramètre Stylesheet contient une valeur. Astuce: Si vous souhaitez accélérer la création de votre propre texte et de vos feuilles de style HTML, copiez et modifiez les feuilles de style que ArcGIS Network Analyst utilise. Vous les trouverez dans le répertoire suivant : [Répertoire d'installation ArcGIS]\ArcGIS\Desktop10.1\NetworkAnalyst\Directions\Styles. La feuille de style HMTL est Dir2PHTML.xsl et la feuille de style de texte est Dir2PlainText.xsl. | File |
Exemple de code
Exécutez l'outil Feuille de route avec tous les paramètres.
import arcpy
arcpy.na.Directions("Route","TEXT","C:/temp/Route_Directions.txt","Miles",
"REPORT_TIME","Minutes")
Le script Python autonome suivant illustre l'utilisation de l'outil Feuille de route 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 occured on line %i" % tb.tb_lineno
print str(e)