Berechnen (Network Analyst)

Zusammenfassung

Berechnet das Netzwerkanalyse-Layer-Problem auf der Grundlage der Netzwerkstandorte und Eigenschaften.

Verwendung

Syntax

Solve_na (in_network_analysis_layer, {ignore_invalids}, {terminate_on_solve_error})
ParameterErläuterungDatentyp
in_network_analysis_layer

Der Netzwerkanalyse-Layer, für den die Analyse erstellt wird.

Network Analyst Layer
ignore_invalids
(optional)
  • SKIPDer Solver überspringt Netzwerkstandorte, die nicht verortet sind, und berechnet den Analyse-Layer nur aus gültigen Netzwerkstandorten. Der Berechnungsvorgang wird auch fortgesetzt, wenn sich die Standorte auf nicht passierbaren Elementen befinden oder andere Fehler aufweisen. Dies ist nützlich, wenn Sie wissen, dass die Netzwerkstandorte nicht alle korrekt sind, Sie die Berechnung jedoch mit gültigen Netzwerkstandorten ausführen möchten.
  • HALTDie Berechnung wird nicht ausgeführt, wenn ungültige Standorte vorhanden sind. Sie können diese Standorte dann korrigieren und die Analyse erneut ausführen.

Verwenden Sie für den Netzwerkanalyse-Layer für das Vehicle Routing Problem den Parameterwert "HALT", da für den Vehicle Routing Problem-Solver alle Netzwerkstandorte gültig sein müssen.

Boolean
terminate_on_solve_error
(optional)
  • TERMINATEDas Werkzeug wird nicht ausgeführt, wenn im Solver ein Fehler auftritt. Dies ist die Standardeinstellung. Wenn Sie diese Option verwenden, wird das Ergebnisobjekt nicht erstellt, wenn das Werkzeug aufgrund eines Solver-Fehlers nicht ausgeführt wird. Sie sollten die Geoverarbeitungsmeldungen aus dem ArcPy-Objekt abrufen.
  • CONTINUEDas Werkzeug wird ausgeführt und die Ausführung wird fortgesetzt, selbst wenn im Solver ein Fehler auftritt. Alle vom Solver zurückgegebenen Fehlermeldungen werden in Warnmeldungen konvertiert. Wenn Sie diese Option verwenden, wird immer ein Ergebnisobjekt erstellt und die maxSeverity-Eigenschaft des Ergebnisobjekts wird auf 1 festgelegt, selbst wenn im Solver ein Fehler auftritt. Verwenden Sie die getOutput-Methode des Ergebnisobjekts mit dem Indexwert 1, um zu bestimmen, ob die Berechnung erfolgreich war.
Boolean

Codebeispiel

Berechnen – Beispiel 1 (Python-Fenster)

Ausführen des Werkzeugs unter Verwendung aller Parameter.

import arcpy
arcpy.Solve_na("Route","HALT","TERMINATE")
Berechnen – Beispiel 2 (Workflow)

Mit dem folgenden eigenständigen Python-Skript wird veranschaulicht, wie das Werkzeug "Berechnen" verwendet werden kann, um eine Analyse der nächstgelegenen Einrichtung zu erstellen und die Ergebnisse in einer Layer-Datei zu speichern.

# 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)

Umgebungen

Verwandte Themen

Lizenzinformationen

ArcView: Erfordert Network Analyst
ArcEditor: Erfordert Network Analyst
ArcInfo: Erfordert Network Analyst

7/10/2012