Générer une couche d'itinéraires (Network Analyst)
Récapitulatif
Crée une couche de calcul de réseau d'itinéraires et définit ses propriétés d'analyse. Une couche d'analyse d'itinéraire est utile pour définir le meilleur itinéraire entre plusieurs localisations de réseau, en fonction d'un coût réseau spécifié.
Utilisation
-
Après avoir créé la couche d'analyse avec cet outil, vous pouvez y ajouter des objets d'analyse de réseau grâce à l'outil Ajouter des localisations, résoudre l'analyse à l'aide de l'outil Analyser et enregistrer les résultats sur le disque à l'aide de l'outil Enregistrer dans un fichier de couche.
-
Lors de l'utilisation de cet outil dans les modèles de géotraitement, si le modèle est exécuté en tant qu'outil, la couche d'analyse de réseau en sortie doit devenir un paramètre de modèle. Dans le cas contraire, la couche en sortie n'est pas ajoutée à la table des matières d'ArcMap.
Syntaxe
Paramètre | Explication | Type de données |
in_network_dataset |
Jeu d'entités réseau sur lequel le calcul d'itinéraires est effectué. | Network Dataset Layer |
out_network_analysis_layer |
Nom de la couche de calcul d'analyse de réseau d'itinéraires à créer. | String |
impedance_attribute |
L'attribut de coût à utiliser comme impédance dans l'analyse. | String |
find_best_order (Facultatif) |
| Boolean |
ordering_type (Facultatif) |
Précise l'ordre des arrêts lorsque FIND_BEST_ORDER est utilisé.
| String |
time_windows (Facultatif) |
Specifies if time windows will be used at the stops.
| Boolean |
accumulate_attribute_name [accumulate_attribute_name,...] (Facultatif) |
Liste des attributs de coût à cumuler lors de l'analyse. Ces attributs de cumul sont destinés à servir à titre de référence uniquement ; le solveur utilise uniquement l'attribut de coût spécifié par le paramètre d'attribut Impédance de la couche d'analyse pour calculer l'itinéraire. For each cost attribute that is accumulated, a Total_[Impedance] property is added to the routes that are output by the solver. | String |
UTurn_policy (Facultatif) |
Restreint ou autorise les demi-tours aux jonctions qui pourraient survenir lors de la traversée du réseau entre des arrêts.
| String |
restriction_attribute_name [restriction_attribute_name,...] (Facultatif) |
Liste des attributs de restriction à appliquer lors de l'analyse. | String |
hierarchy (Facultatif) |
Le paramètre n'est pas utilisé si un attribut de hiérarchie n'est pas défini sur le jeu de données réseau utilisé pour l'analyse. Dans ces cas, utilisez "#" comme valeur de paramètre. | Boolean |
hierarchy_settings (Facultatif) |
Héritage : Avant la version 10, ce paramètre permettait de modifier les plages de hiérarchies pour l'analyse des plages de hiérarchies par défaut établies dans le jeu de données réseau. Dans la version 10, ce paramètre n'est plus pris en charge et doit être spécifié en tant que chaîne vide. Si vous souhaitez modifier les plages de hiérarchies de votre analyse, mettez à jour les plages de hiérarchies par défaut du jeu de données réseau. | Network Analyst Hierarchy Settings |
output_path_shape (Facultatif) |
Spécifie le type de forme pour les entités itinéraire produites en sortie par l'analyse.
Indépendamment du type de forme en sortie sélectionnée, le meilleur itinéraire est toujours déterminé par l'impédance du réseau, jamais par la distance euclidienne. Cela signifie que seules les formes d'itinéraire sont différentes, pas le parcours du réseau sous-jacent. | String |
start_date_time (Facultatif) |
Spécifie une date de début et une durée pour l'itinéraire. L'heure de début de l'itinéraire permet principalement de trouver des itinéraires selon l'attribut d'impédance qui varie avec l'heure du jour. Par exemple, une heure de début égale à 9h00 permet de trouver un itinéraire tenant compte de la circulation à l'heure de pointe. La valeur par défaut de ce paramètre est 8h00. Une date et une heure peuvent être spécifiées sous la forme 10/21/05 10:30 AM. Si l'itinéraire couvre plusieurs jours et que seule l'heure de début est spécifiée, la date courante est utilisée. Au lieu d'utiliser une date particulière, un jour de la semaine peut être spécifié à l'aide des dates suivantes.
Après le calcul, l'heure de début et l'heure de fin de l'itinéraire sont renseignées dans les itinéraires en sortie. Ces heures de début et de fin sont également utilisées lors de la génération de directions. Cette option est valide uniquement si un attribut de coût basé sur le temps a été spécifié en tant qu'attribut d'impédance. | Date |
Exemple de code
Exécute l'outil uniquement avec les paramètres requis
import arcpy arcpy.env.workspace = "C:/ArcTutor/Network Analyst/Tutorial/SanFrancisco.gdb" arcpy.MakeRouteLayer_na("Transportation/Streets_ND","WorkRoute","Minutes")
Exécute l'outil avec tous les paramètres
import arcpy arcpy.env.workspace = "C:/ArcTutor/Network Analyst/Tutorial/SanFrancisco.gdb" arcpy.MakeRouteLayer_na("Transportation/Streets_ND","InspectionRoute","Minutes", "FIND_BEST_ORDER","PRESERVE_BOTH","USE_TIMEWINDOWS", ["Meters","Minutes"], "ALLOW_DEAD_ENDS_AND_INTERSECTIONS_ONLY",["Oneway"], "USE_HIERARCHY","","TRUE_LINES_WITH_MEASURES", "1/1/1900 9:00 AM")
Le script Python autonome illustre l'utilisation de l'outil Générer une couche d'itinéraires pour trouver un meilleur itinéraire pour visiter les emplacements d'arrêts géocodés.
# Name: MakeRouteLayer_Workflow.py # Description: Find a best route to visit the stop locations and save the # route to a layer file. The stop locations are geocoded from a # text file containing the addresses. # 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" outNALayer = "BestRoute" impedanceAttribute = "TravelTime" inAddressLocator = "SanFranciscoLocator" inAddressTable = "C:/data/StopAddresses.csv" inAddressFields = "Street Address VISIBLE NONE" fieldMappings = "Name Address #" outStops = "GeocodedStops" outLayerFile = "C:/data/output" + "/" + outNALayer + ".lyr" #Create a new Route layer. Once the route layer is created, it can be #referenced using its name. arcpy.MakeRouteLayer_na(inNetworkDataset, outNALayer, impedanceAttribute) #Geocode the stop locations from a csv file containing the addresses. #The Geocode Addresses tool can use a text or csv file as input table #as long as the first line in the file contains the field names. arcpy.GeocodeAddresses_geocoding(inAddressTable, inAddressLocator, inAddressFields, outStops) #Load the geocoded address locations as stop smapping the address field from #geocoded stop features as Name property. arcpy.AddLocations_na(outNALayer,"Stops", outStops, fieldMappings, "") #Solve the route layer, ignore any invalid locations such as those that #can not be geocoded arcpy.Solve_na(outNALayer,"SKIP") #Save the solved route layer as a layer file on disk with 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)