Générer une couche de zones de desserte (Network Analyst)
Récapitulatif
Crée une couche de calcul de réseau de zones de desserte et définit ses propriétés d'analyse. Une couche d'analyse de zones de desserte est utile pour déterminer la zone d'accessibilité à partir de la localisation d'une ressource, au sein d'une valeur limite.
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 de zones de dessertes sera effectué. | Network Dataset Layer |
out_network_analysis_layer |
Nom de la couche d'analyse de réseau des zones de desserte à créer. | String |
impedance_attribute |
L'attribut de coût à utiliser comme impédance dans l'analyse. | String |
travel_from_to (Facultatif) |
Spécifie la direction de déplacement vers les équipements ou à partir des équipements.
Cette option peut engendrer des zones de desserte différentes sur un réseau avec des restrictions unidirectionnelles et des impédances différentes selon le sens du trajet. La zone de desserte d'un vendeur de pizzas, par exemple, doit être créée depuis la ressource, alors que la zone de desserte d'un hôpital doit être créée vers la ressource. | String |
default_break_values (Facultatif) |
Valeurs d'impédance par défaut qui indiquent l'étendue de la zone de desserte à calculer. Cette valeur peut être remplacée par la valeur des bornes sur les ressources. Plusieurs bornes de polygones peuvent être configurées pour créer des zones de desserte concentriques. Par exemple, pour trouver les zones de desserte de 2, 3 et 5 minutes pour la même ressource, spécifiez "2 3 5" comme valeur pour le paramètre de valeurs de borne Par défaut (les nombres 2, 3 et 5 doivent être séparés par un espace). | String |
polygon_type (Facultatif) |
Spécifie le type de polygone à générer.
Si vos données proviennent d'une zone urbaine avec un réseau de type quadrillage, la différence entre les polygones généralisés et les polygones détaillés est minime. Cependant, les polygones détaillés peuvent afficher des résultats beaucoup plus précis que les polygones généralisés pour les routes de montagne et de campagne. | String |
merge (Facultatif) |
Spécifie les options de fusion des polygones qui partagent des valeurs de bornes similaires. Cette option est applicable uniquement lors de la génération de polygones pour plusieurs ressources.
| String |
nesting_type (Facultatif) |
Précise l'option de création de polygones de zone de desserte concentriques sous forme de disques ou d'anneaux. Cette option s'applique uniquement lorsque plusieurs valeurs de bornes sont spécifiées pour les ressources.
| String |
line_type (Facultatif) |
Spécifie le type de lignes à générer selon l'analyse des zones de desserte. Le fait de sélectionner l'option TRUE_LINES ou TRUE_LINES_WITH_MEASURES pour les grandes zones de desserte augmente la quantité de mémoire consommée par l'analyse.
| String |
overlap (Facultatif) |
Determines if overlapping lines are generated when the service area lines are computed.
| Boolean |
split (Facultatif) |
| Boolean |
excluded_source_name [excluded_source_name,...] (Facultatif) |
Spécifie la liste des sources de données du réseau à exclure lors de la génération des polygones. La géométrie des éléments parcourus provenant des sources exclues est omise de tous les polygones. Cette option est utile si vous avez quelques sources de données du réseau que vous ne voulez pas inclure dans la génération de polygones parce qu'elles créent des polygones moins précis ou sont sans importance pour l'analyse des zones de desserte. Par exemple, lors de la création d'une zone de desserte de durée de trajet dans un réseau multimodal de rues et de voies ferrées, vous devez choisir d'exclure les voies ferrées de la génération de polygones afin de modéliser correctement les zones accessibles par un véhicule. L'exclusion d'une source de données de polygones de zone de desserte n'empêche pas ces sources d'être traversées. L'exclusion des sources de polygones de zone de desserte influence uniquement la forme des polygones des zones de desserte. Si vous souhaitez empêcher la traversée d'une source de données précise, vous devez créer une restriction appropriée lors de la définition de votre jeu de données réseau. | String |
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 |
polygon_trim (Facultatif) |
| Boolean |
poly_trim_value (Facultatif) |
Spécifie la distance au sein de laquelle les polygones de zone de desserte sont tronqués. Le paramètre comprend une valeur et des unités de distance. La valeur par défaut est 100 mètres. | Linear unit |
lines_source_fields (Facultatif) |
| Boolean |
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.MakeServiceAreaLayer_na("Transportation/Streets_ND","FireStationCoverage", "Minutes")
Exécute l'outil avec tous les paramètres
import arcpy arcpy.env.workspace = "C:/ArcTutor/Network Analyst/Tutorial/Paris.gdb" arcpy.MakeServiceAreaLayer_na("Transportation/ParisNet","WarehouseCoverage", "Drivetime","TRAVEL_FROM","5 10 15", "SIMPLE_POLYS", "NO_OVERLAP","RINGS","TRUE_LINES", "NON_OVERLAP","NO_SPLIT", ["Metro_Lines","Transfer_Stations", "Transfer_Street_Station"], ["Meters","Drivetime"],"ALLOW_DEAD_ENDS_ONLY", ["Oneway"],"NO_TRIM_POLYS","", "LINES_SOURCE_FIELDS")
Le script Python autonome suivant illustre l'utilisation de l'outil Générer une couche de zones de desserte pour générer des zones de desserte de 1, 2 et 3 minutes autour de casernes de pompiers.
# Name: MakeServiceAreaLayer_Workflow.py # Description: Generate 1-,2-,3- minute service area around fire stations and # save the results to a layer file on disk. The service area # polygons can be used to visualize the areas that do not have # adequate coverage from the fire stations # 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 = "FireStationCoverage" impedanceAttribute = "TravelTime" inFacilities = "Analysis/FireStations" outLayerFile = "C:/data/output" + "/" + outNALayer + ".lyr" #Create a new service area layer. We wish to generate the service area #polygons as rings, so that we can easily visualize the coverage for any #given location. We also want overlapping polygons as we can determine the #number of fire stations that cover a given location. We will specify these #options while creating the new service area layer. arcpy.MakeServiceAreaLayer_na(inNetworkDataset, outNALayer, impedanceAttribute, "TRAVEL_FROM", "1 2 3", "SIMPLE_POLYS", "NO_MERGE", "RINGS") #Load the fire stations as facilities using deafult field mappings and #default search tolerance arcpy.AddLocations_na(outNALayer, "Facilities", inFacilities, "","") #Solve the service area layer arcpy.Solve_na(outNALayer) #Save the solved service area 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)