Rechercher (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

Syntaxe

Solve_na (in_network_analysis_layer, {ignore_invalids}, {terminate_on_solve_error})
ParamètreExplicationType 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)
  • SKIPLe solveur ignore les localisations de réseau non localisées et recherche la couche d'analyse uniquement à partir de localisations de réseau valides. Cette option continue de rechercher les localisations situées sur des éléments non traversables ou comportant d'autres erreurs. Elle s'avère utile si vous savez que vos localisations de réseau ne sont pas toutes correctes, mais que vous souhaitez rechercher les localisations de réseau valides.
  • HALTN'effectue pas l'analyse en présence de localisations non valides. Vous pouvez apporter des corrections et réexécuter l'analyse.

Pour la couche d'analyse de réseau de tournée de véhicules, utilisez HALT comme valeur de paramètre puisque le solveur de tournée de véhicules nécessite que toutes les localisations de réseau soient valides.

Boolean
terminate_on_solve_error
(Facultatif)
  • TERMINATEL'outil ne peut pas s'exécuter lorsque le solveur rencontre une erreur. Il s'agit de l'option par défaut. Lorsque vous utilisez cette option, l'objet de résultat n'est pas créé lorsque l'outil ne peut pas s'exécuter en raison d'une erreur du solveur. Vous devez obtenir les messages de géotraitement de l'objet ArcPy.
  • CONTINUEL'outil n'échoue pas et poursuit son exécution même lorsque le solveur rencontre une erreur. Tous les messages d'erreur renvoyés par le solveur sont convertis en messages d'avertissement. Lorsque vous utilisez cette option, l'objet de résultat est toujours créé et la propriété maxSeverity de l'objet de résultat a la valeur 1 même lorsque le solveur rencontre une erreur. Utilisez la méthode getOutput de l'objet de résultat avec une valeur d'index de 1 pour déterminer si l'analyse a réussi.
Boolean

Exemple de code

Exemple 1 d'utilisation de l'outil Rechercher (fenêtre Python)

Exécute l'outil avec tous les paramètres.

import arcpy
arcpy.Solve_na("Route","HALT","TERMINATE")
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"
    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 using
    #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 : Obligatoire ArcGIS Network Analyst
ArcEditor : Obligatoire ArcGIS Network Analyst
ArcInfo : Obligatoire ArcGIS Network Analyst

7/10/2012