Disponible avec une licence Network Analyst.
Récapitulatif
Résout le problème de la couche d'analyse de réseau en fonction de ses localisations de réseau et de ses propriétés.
Utilisation
Lorsque l'analyse échoue, les messages d'erreur et d'avertissement fournissent des informations utiles concernant les raisons de l'échec.
Veillez à spécifier tous les paramètres sur la couche d'analyse de réseau qui sont nécessaires pour résoudre le problème avant d'exécuter cet outil.
Syntaxe
Solve_na (in_network_analysis_layer, {ignore_invalids}, {terminate_on_solve_error}, {simplification_tolerance})
Paramètre | Explication | Type de données |
in_network_analysis_layer | Couche d'analyse de réseau sur laquelle l'analyse est calculée. | Network Analyst Layer |
ignore_invalids (Facultatif) |
| Boolean |
terminate_on_solve_error (Facultatif) |
| Boolean |
simplification_tolerance (Facultatif) | Tolérance qui détermine le degré de simplification pour la géométrie en sortie. Si une tolérance est spécifiée, elle doit être supérieure à zéro. Vous pouvez choisir une unité préférée. L'unité par défaut correspond aux degrés décimaux. La spécification d'une tolérance de simplification a tendance à réduire le temps nécessaire pour afficher des itinéraires ou des zones de desserte. L'inconvénient de cela, toutefois, est que la simplification de la géométrie supprime des sommets, ce qui peut amoindrir la précision spatiale de la sortie à plus grande échelle. Etant donné qu'une ligne dotée de seulement deux sommets ne peut pas être simplifiée, ce paramètre n'a aucun effet sur la durée d'affichage d'une sortie composée de segments simples, telle que des itinéraires en lignes droites, les lignes d'une matrice de coût OD ou des lignes d'emplacement-allocation. | Linear unit |
Exemple de code
Exemple 1 d'utilisation de l'outil Rechercher (fenêtre Python)
Exécute l'outil avec tous les paramètres.
arcpy.na.Solve("Route", "HALT", "TERMINATE", "10 Meters")
Exemple 2 d'utilisation de l'outil Rechercher (workflow)
Le script Python autonome suivant illustre l'utilisation de l'outil Rechercher pour effectuer une analyse des ressources les plus proches et enregistrer les résultats dans un fichier de couches.
# Name: Solve_Workflow.py
# Description: Solve a closest facility analysis to 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"
outNALayerName = "ClosestWarehouse"
impedanceAttribute = "Drivetime"
accumulateAttributeName = ["Meters"]
inFacilities = "Analysis/Warehouses"
inIncidents = "Analysis/Stores"
outLayerFile = "C:/data/output" + "/" + outNALayerName + ".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.
outNALayer = arcpy.na.MakeClosestFacilityLayer(inNetworkDataset,outNALayerName,
impedanceAttribute,"TRAVEL_TO",
"",1, accumulateAttributeName,
"NO_UTURNS")
#Get the layer object from the result object. The closest facility layer can
#now be referenced using the layer object.
outNALayer = outNALayer.getOutput(0)
#Get the names of all the sublayers within the closest facility layer.
subLayerNames = arcpy.na.GetNAClassNames(outNALayer)
#Stores the layer names that we will use later
facilitiesLayerName = subLayerNames["Facilities"]
incidentsLayerName = subLayerNames["Incidents"]
#Load the warehouses as Facilities using the default field mappings and
#search tolerance
arcpy.na.AddLocations(outNALayer, facilitiesLayerName, inFacilities, "", "")
#Load the Stores as Incidents. Map the Name property from the NOM field
#using field mappings
fieldMappings = arcpy.na.NAClassFieldMappings(outNALayer, incidentsLayerName)
fieldMappings["Name"].mappedFieldName = "NOM"
arcpy.na.AddLocations(outNALayer, incidentsLayerName, inIncidents,
fieldMappings,"")
#Solve the closest facility layer
arcpy.na.Solve(outNALayer)
#Save the solved closest facility layer as a layer file on disk with
#relative paths
arcpy.management.SaveToLayerFile(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
Informations de licence
- ArcGIS for Desktop Basic: Requis ArcGIS Network Analyst
- ArcGIS for Desktop Standard: Requis ArcGIS Network Analyst
- ArcGIS for Desktop Advanced: Requis ArcGIS Network Analyst