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

Syntaxe

MakeServiceAreaLayer_na (in_network_dataset, out_network_analysis_layer, impedance_attribute, {travel_from_to}, {default_break_values}, {polygon_type}, {merge}, {nesting_type}, {line_type}, {overlap}, {split}, {excluded_source_name}, {accumulate_attribute_name}, {UTurn_policy}, {restriction_attribute_name}, {polygon_trim}, {poly_trim_value}, {lines_source_fields})
ParamètreExplicationType 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.

  • TRAVEL_FROMLa zone de desserte est créée depuis les ressources.
  • TRAVEL_TOLa zone de desserte est créée dans la direction des ressources.

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.

  • SIMPLE_POLYSCrée des polygones généralisés qui sont générés rapidement et offrent une assez bonne précision, sauf au niveau des bordures. Il s'agit de l'option par défaut.
  • DETAILED_POLYSCrée des polygones détaillés qui modélisent avec précision les lignes de zone de desserte et peuvent contenir des îlots de zones non atteintes. Cette option s'avère beaucoup plus lente que la création de polygones généralisés.
  • NO_POLYSDésactive la génération de polygones lorsque seules des lignes de zone de desserte sont requises.

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.

  • NO_MERGECrée des polygones individuels pour chaque ressource. Les polygones peuvent se superposer.
  • NO_OVERLAPCrée des polygones individuels les plus proches possible pour chaque ressource. Les polygones ne se chevauchent pas.
  • MERGE Combine les polygones de plusieurs ressources partageant la même valeur de borne.
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.

  • RINGSN'inclue pas la zone contenant les plus petites bornes. Ils créent des polygones entre des bornes consécutives. Utilisez cette option si vous souhaitez définir la zone d'une borne à une autre.
  • DISKS Crée les polygones entre la ressource et la borne. Par exemple, si vous créez des zones de desserte de 5 et 10 minutes, le polygone de la zone de desserte de 10 minutes inclura la zone située sous le polygone de la zone de desserte de 5 minutes. Utilisez cette option si vous souhaitez trouver la surface entière entre la ressource et la borne pour chaque borne.
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.

  • NO_LINESNe génère pas de lignes. Il s'agit de l'option par défaut.
  • TRUE_LINESLes lignes sont générées sans mesures.
  • TRUE_LINES_WITH_MEASURESLes lignes sont générées avec des mesures. Les valeurs de mesure sont générées en fonction de la valeur d'impédance à chaque extrémité du tronçon avec les sommets intermédiaires interpolés. N'utilisez pas cette option si vous souhaitez des performances plus rapides.
String
overlap
(Facultatif)

Determines if overlapping lines are generated when the service area lines are computed.

  • OVERLAP Comprend une entité linéaire distincte pour chaque ressource lorsque les ressources ont des lignes de zones de desserte coïncidentes.
  • NON_OVERLAP Inclut toutes les lignes d'une zone de desserte une fois au plus et les associe à la ressource la plus proche (impédance la plus faible).
Boolean
split
(Facultatif)
  • SPLITFractionne chaque ligne entre deux bornes en deux lignes, chacune étant positionnée sur sa borne. Cette option est utile si vous souhaitez symboliser les lignes de zones de desserte par borne. Dans le cas contraire, utilisez l'option NO_SPLIT pour des performances optimales.
  • NO_SPLITLes lignes ne sont pas fractionnées aux limites des bornes. Il s'agit de l'option par défaut.
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.

  • ALLOW_UTURNSLes demi-tours sont permis aux jonctions comportant un nombre de tronçons adjacents quelconque.
  • NO_UTURNSLes demi-tours sont interdits au niveau de toutes les jonctions. Notez toutefois que les demi-tours restent autorisés au niveau des localisations réseau lorsque ce paramètre est sélectionné ; en revanche, vous pouvez configurer la propriété CurbApproach des localisations réseau individuelles pour interdire les demi-tours.
  • ALLOW_DEAD_ENDS_ONLYLes demi-tours sont interdits au niveau de toutes les jonctions, sauf celles ayant un seul tronçon adjacent (voie sans issue).
  • ALLOW_DEAD_ENDS_AND_INTERSECTIONS_ONLYLes demi-tours sont interdits aux jonctions où deux tronçons adjacents se rencontrent, mais sont autorisés aux intersection (jonctions avec au moins trois tronçons adjacents) ou aux voies sans issue (jonctions avec exactement un tronçon adjacent).
String
restriction_attribute_name
[restriction_attribute_name,...]
(Facultatif)

Liste des attributs de restriction à appliquer lors de l'analyse.

String
polygon_trim
(Facultatif)
  • TRIM_POLYSTronque les polygones contenant les tronçons à la périphérie de la zone de desserte pour qu'ils se trouvent dans la distance spécifiée des tronçons extérieurs. Cette option s'avère utile si le réseau est clairsemé et que vous ne voulez pas que la zone de desserte couvre de larges surfaces sur lesquelles il n'y a aucune entité.
  • NO_TRIM_POLYSNe tronque pas les polygones.
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)
  • LINES_SOURCE_FIELDS Ajoute les champs SourceID, SourceOID, FromPosition et ToPosition aux lignes de zones de desserte, afin de contenir des informations concernant les entités source sous-jacentes parcourues pendant l'analyse. Cela facilite la jonction des résultats des lignes de zone de desserte aux données sources d'origine.
  • NO_LINES_SOURCE_FIELDSN'ajoute pas les champs source (SourceID, SourceOID, FromPosition et ToPosition) aux lignes de zone de desserte.
Boolean

Exemple de code

Exemple 1 d'utilisation de l'outil Générer une couche de zones de desserte (fenêtre Python)

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")
Exemple 2 d'utilisation de l'outil Générer une couche de zones de desserte (fenêtre Python)

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")
Exemple 3 d'utilisation de l'outil Générer une couche de zones de desserte (workflow)

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)

Environnements

Rubriques connexes

Informations de licence

ArcView : Oui
ArcEditor : Oui
ArcInfo : Oui

7/10/2012