ArcGIS Desktop

  • Dokumentation
  • Support

  • My Profile
  • Hilfe
  • Sign Out
ArcGIS Desktop

ArcGIS Online

Die Mapping-Plattform für Ihre Organisation

ArcGIS Desktop

Ein vollständiges professionelles GIS

ArcGIS Enterprise

GIS in Ihrem Unternehmen

ArcGIS for Developers

Werkzeuge zum Erstellen standortbezogener Apps

ArcGIS Solutions

Kostenlose Karten- und App-Vorlagen für Ihre Branche

ArcGIS Marketplace

Rufen Sie Apps und Daten für Ihre Organisation ab.

  • Dokumentation
  • Support
Esri
  • Anmelden
user
  • Eigenes Profil
  • Abmelden

ArcMap

  • Startseite
  • Erste Schritte
  • Karte
  • Analysieren
  • Verwalten von Daten
  • Werkzeuge
  • Erweiterungen

Berechnen

  • Zusammenfassung
  • Verwendung
  • Syntax
  • Codebeispiel
  • Umgebungen
  • Lizenzinformationen

Zusammenfassung

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

Verwendung

  • Falls bei der Berechnung ein Fehler auftritt, finden Sie in den Warn- und Fehlermeldungen hilfreiche Informationen zu den Ursachen des Fehlers.

  • Stellen Sie sicher, dass Sie vor dem Ausführen dieses Werkzeugs alle Parameter im Netzwerkanalyse-Layer angeben, die zur Berechnung des Problems notwendig sind.

Syntax

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

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

Network Analyst Layer
ignore_invalids
(optional)
  • SKIP —Der 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.
  • HALT —Die Berechnung wird nicht ausgeführt, wenn ungültige Standorte vorhanden sind. Sie können diese Standorte dann korrigieren und die Analyse erneut ausführen.
Boolean
terminate_on_solve_error
(optional)
  • TERMINATE —Das Werkzeug wird nicht ausgeführt, wenn im Solver ein Fehler auftritt. Dies ist die Standardeinstellung. Wenn Sie diese Option verwenden, wird das Result-Objekt nicht erstellt, wenn das Werkzeug aufgrund eines Solver-Fehlers nicht ausgeführt wird. Sie sollten die Geoverarbeitungsmeldungen aus dem ArcPy-Objekt abrufen.
  • CONTINUE —Das 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 Resultobjekt erstellt und die maxSeverity-Eigenschaft des Resultobjekts wird auf 1 festgelegt, selbst wenn im Solver ein Fehler auftritt. Verwenden Sie die getOutput-Methode des Resultobjekts mit dem Indexwert 1, um zu bestimmen, ob die Berechnung erfolgreich war.
Boolean
simplification_tolerance
(optional)

Der Grad der Vereinfachung für die Ausgabegeometrie wird durch die Toleranz bestimmt. Wenn die Toleranz angegeben ist, muss die größer als null sein. Sie können eine bevorzugte Einheit auswählen. Standardmäßig werden Dezimalgrad verwendet.

Durch Angabe einer Vereinfachungstoleranz wird im Allgemeinen weniger Zeit zum Rendern von Routen oder Einzugsgebieten benötigt. Ein Nachteil ist jedoch, dass durch die Vereinfachung der Geometrie Stützpunkte entfernt werden, wodurch die räumliche Genauigkeit der Ausgabe bei größeren Maßstäben abnimmt.

Da eine Linie mit nur zwei Stützpunkten nicht weiter vereinfacht werden kann, hat dieser Parameter keine Auswirkungen auf die Darstellungszeit von Ausgaben mit nur einem Segment, z. B. geradlinige Routen, Linien in einer Start-Ziel-Kostenmatrix und Linien in einem Location-Allocation-Problem.

Linear Unit
overrides
(optional)

Legen Sie zusätzliche Einstellungen fest, die das Verhalten des Solvers beim Suchen von Lösungen für die Netzwerkanalyseprobleme beeinflussen können.

Der Wert dieses Parameters muss in JavaScript Object Notation (JSON) angegeben werden. Ein gültiger Wert hat beispielsweise das Format {"overrideSetting1" : "value1", "overrideSetting2" : "value2"}. Der Name der Override-Einstellung wird immer in doppelten Anführungszeichen angegeben. Die Werte können eine Zahl, ein boolescher Wert oder eine Zeichenfolge sein.

Der Standardwert für diesen Parameter ist kein Wert, was darauf hinweist, dass keine Solver-Einstellungen überschrieben werden.

Overrides sind erweiterte Einstellungen, die nur nach sorgfältiger Analyse der abgerufenen Ergebnisse vor und nach Anwendung der Einstellungen verwendet werden sollten. Eine Liste der unterstützten Override-Einstellungen und ihrer akzeptierten Werte erhalten Sie beim technischen Support von Esri.

String

Codebeispiel

Berechnen – Beispiel 1 (Python-Fenster)

Ausführen des Werkzeugs unter Verwendung aller Parameter.

arcpy.na.Solve("Route", "HALT", "TERMINATE", "10 Meters")
Berechnen – Beispiel 2 (Workflow)

Mit dem folgenden eigenständigen Python-Skript wird veranschaulicht, wie das Werkzeug Solve 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"
    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 occurred on line %i" % tb.tb_lineno
    print str(e)

Umgebungen

  • Aktueller Workspace

Lizenzinformationen

  • ArcGIS Desktop Basic: Erfordert Network Analyst
  • ArcGIS Desktop Standard: Erfordert Network Analyst
  • ArcGIS Desktop Advanced: Erfordert Network Analyst

Verwandte Themen

  • Von der Erweiterung "ArcGIS Network Analyst" verwendeten Algorithmen
  • Problembehandlung bei Netzwerkanalysen
  • Überblick über das Toolset "Analyse"
  • Verarbeitung im Vordergrund und Hintergrund

ArcGIS Desktop

  • Startseite
  • Dokumentation
  • Support

ArcGIS Plattform

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

Über Esri

  • Über uns
  • Karriere
  • Insider-Blog
  • User Conference
  • Developer Summit
Esri
Wir sind an Ihrer Meinung interessiert.
Copyright © 2018 Esri. | Datenschutz | Rechtliches