Générer une couche des ressources les plus proches (Network Analyst)
Récapitulatif
Crée une couche d'analyse de réseau des ressources les plus proches et définit ses propriétés d'analyse. Une couche d'analyse des ressources les plus proches est utile pour définir la ou les ressources les plus proches d'un incident, 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 l'analyse de la ressource la plus proche s'effectue. | Network Dataset Layer |
out_network_analysis_layer |
Nom de la couche d'analyse de réseau des ressources les plus proches à 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 entre des ressources et des incidents.
Cette option permet de trouver différentes ressources sur un réseau avec des restrictions unidirectionnelles et des impédances différentes selon le sens du trajet. Par exemple, une ressource peut être située à 10 minutes en voiture de l'incident si le trajet est effectué de l'incident vers la ressource, mais à 15 minutes si le trajet est effectué de la ressource vers l'incident car la durée du trajet est plus longue dans ce sens. Les services des pompiers utilisent en général le paramètre TRAVEL_FROM, car ils s'intéressent à la durée du trajet de la caserne (ressource) à l'emplacement de l'urgence (incident). Un point de vente (ressource) s'intéresse plus au temps nécessaire aux acheteurs (incident) pour atteindre le magasin ; par conséquent, les magasins utilisent en général l'option TRAVEL_TO. | String |
default_cutoff (Facultatif) |
Valeur d'impédance par défaut à laquelle la recherche de ressources est arrêtée pour un incident donné. La valeur par défaut peut être remplacée en précisant la valeur limite sur les incidents lorsque l'option TRAVEL_TO est utilisée ou en précisant la valeur limite sur les ressources lorsque l'option TRAVEL_FROM est utilisée. | Double |
default_number_facilities_to_find (Facultatif) |
Nombre par défaut des ressources les plus proches lors de la recherche par incident. Cette valeur peut être remplacée en précisant la valeur de la propriété TargetFacilityCount des incidents. | Long |
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 |
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.MakeClosestFacilityLayer_na("Transportation/Streets_ND", "ClosestFireStations","Minutes")
Exécute l'outil avec tous les paramètres
import arcpy arcpy.env.workspace = "C:/ArcTutor/Network Analyst/Tutorial/SanFrancisco.gdb" arcpy.MakeClosestFacilityLayer_na("Transportation/Streets_ND", "ClosestHospitals","Minutes","TRAVEL_TO",5,3, ["Meters","Minutes"],"ALLOW_UTURNS", ["Oneway"],"USE_HIERARCHY","", "TRUE_LINES_WITH_MEASURES")
Le script Python autonome suivant illustre l'utilisation de l'outil Générer une couche des ressources les plus proches pour trouver l'entrepôt le plus proche des emplacements de magasins.
# Name: MakeClosestFacilityLayer_Workflow.py # Description: Find the closest warehouse from the store locations and save the # results to a layer file on disk. # 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/Paris.gdb" env.overwriteOutput = True #Set local variables inNetworkDataset = "Transportation/ParisMultimodal_ND" outNALayer = "ClosestWarehouse" impedanceAttribute = "Drivetime" accumulateAttributeName = ["Meters"] inFacilities = "Analysis/Warehouses" inIncidents = "Analysis/Stores" fieldMappings = "Name NOM #" outLayerFile = "C:/data/output" + "/" + outNALayer + ".lyr" #Create a new closest facility analysis layer. Apart from finding the drive #time to the closest warehouse, we also want to find the total distance. So #we will accumulate the "Meters" impedance attribute. arcpy.MakeClosestFacilityLayer_na(inNetworkDataset,outNALayer, impedanceAttribute,"TRAVEL_TO","",1, accumulateAttributeName,"NO_UTURNS") #Load the warehouses as Facilities using the default field mappings and #search tolerance arcpy.AddLocations_na(outNALayer,"Facilities",inFacilities,"","") #Load the Stores as Incidents. Map the Name property from the NOM field arcpy.AddLocations_na(outNALayer,"Incidents",inIncidents,fieldMappings,"") #Solve the closest facility layer arcpy.Solve_na(outNALayer) #Save the solved closest facility 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)