Layer mit Start-Ziel-Kostenmatrix erstellen (Network Analyst)
Zusammenfassung
Erstellt einen Netzwerkanalyse-Layer für Start-Ziel-Kostenmatrix und legt seine Analyseeigenschaften fest. Mit dem Netzwerkanalyse-Layer für die Start-Ziel-Kostenmatrix können Sie eine Kostenübersicht von einer Gruppe von Startstandorten zu einer Gruppe von Zielstandorten erstellen.
Verwendung
Nachdem Sie den Analyse-Layer mit diesem Werkzeug erstellt haben, können Sie diesem mithilfe des Werkzeugs Standorte hinzufügen Netzwerk-Analyseobjekte hinzufügen, die Analyse mithilfe des Werkzeugs Berechnen berechnen und die Ergebnisse mithilfe des Werkzeugs In Layer-Datei speichern auf einem Datenträger speichern.
-
Wenn Sie das Werkzeug in Geoverarbeitungsmodellen verwenden und das Modell als Werkzeug ausgeführt wird, muss der Ausgabenetzwerkanalyse-Layer als Modellparameter festgelegt werden. Ansonsten wird der Ausgabe-Layer dem Inhaltsverzeichnis in ArcMap nicht hinzugefügt.
Syntax
Parameter | Erläuterung | Datentyp |
in_network_dataset |
Das Netzwerk-Dataset, auf dem die Start-Ziel-Kostenmatrixanalyse ausgeführt wird. | Network Dataset Layer |
out_network_analysis_layer |
Name des zu erstellenden Netzwerkanalyse-Layers für Start-Ziel-Kostenmatrizen. | String |
impedance_attribute |
Das Kostenattribut, das in der Analyse als Impedanz verwendet wird. | String |
default_cutoff (optional) |
Standardimpedanzwert, an dem die Suche nach Zielen für einen angegebenen Ursprung abgebrochen wird. Wenn die Gesamtimpedanz größer als der Grenzwert ist, wird das Durchlaufen angehalten. Der Standardwert kann durch die Angabe eines Grenzwerts für die Ursprünge überschrieben werden. | Double |
default_number_destinations_to_find (optional) |
Standardanzahl von Zielen, die für jeden Ursprung gesucht werden soll. Der Standard kann überschrieben werden, indem ein Wert für die Eigenschaft "TargetDestinationCount" der Ursprünge angegeben wird. | Long |
accumulate_attribute_name [accumulate_attribute_name,...] (optional) |
Liste der Kostenattribute, die während der Analyse akkumuliert werden sollen. Diese Akkumulationsattribute dienen ausschließlich zu Referenzzwecken. Der Solver verwendet nur das mit dem Parameter "Impedanz-Attribut" angegebene Kostenattribut zum Berechnen der Route. 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 (optional) |
Wenden an Knoten, die beim Durchlaufen des Netzwerks zwischen Stopps auftreten, sind zulässig oder nicht.
| String |
restriction_attribute_name [restriction_attribute_name,...] (optional) |
Liste von Restriktionsattributen, die während der Analyse angewendet werden. | String |
hierarchy (optional) |
Der Parameter wird nicht verwenden, wenn für das Netzwerk-Dataset, das zum Ausführen der Analyse verwendet wird, kein Hierarchieattribut definiert wird. In solchen Fällen verwenden Sie "#" als Parameterwert. | Boolean |
hierarchy_settings (optional) |
Ältere Versionen: Vor Version 10 konnten mit diesem Parameter die Hierarchiebereiche für die Analyse von den im Netzwerk-Dataset festgelegten Standard-Hierarchiebereichen geändert werden. In Version 10 wird dieser Parameter nicht mehr unterstützt und muss als leere Zeichenfolge angegeben werden. Wenn Sie die Hierarchiebereiche für Ihre Analyse ändern möchten, aktualisieren Sie die Standard-Hierarchiebereiche im Netzwerk-Dataset. | Network Analyst Hierarchy Settings |
output_path_shape (optional) |
Unabhängig vom ausgewählten Ausgabe-Shape-Typ wird die optimale Route immer anhand der Netzwerkimpedanz und nie anhand der Euklidischen Entfernung ermittelt. Dies bedeutet, dass sich nur die Routen-Shapes und nicht der zugrunde liegende Durchlauf des Netzwerks unterscheiden. | String |
Codebeispiel
Ausführen des Werkzeugs, wenn nur die erforderlichen Parameter verwendet werden
import arcpy arcpy.env.workspace = "C:/ArcTutor/Network Analyst/Tutorial/Paris.gdb" arcpy.MakeODCostMatrixLayer_na("Transportation/ParisNet","DrivetimeCosts", "Drivetime")
Ausführen des Werkzeugs unter Verwendung aller Parameter
import arcpy arcpy.env.workspace = "C:/ArcTutor/Network Analyst/Tutorial/Paris.gdb" arcpy.MakeODCostMatrixLayer_na("Transportation/ParisNet","DrivetimeCosts", "Drivetime",10,20,["Meters","Drivetime"], "NO_UTURNS",["Oneway"],"USE_HIERARCHY","", "NO_LINES")
Im folgenden eigenständigen Python-Skript wird veranschaulicht, wie das Werkzeug "MakeODCostMatrixLayer" verwendet werden kann, um eine Start-Ziel-Kostenmatrix für die Warenlieferung von den Lagern an die Geschäfte zu erstellen, die innerhalb einer Fahrzeit von 10 Minuten erreichbar sind.
# Name: MakeODCostMatrixLayer_Workflow.py # Description: Create an origin-destination cost matrix for delivery of goods # from the warehouses to all stores within a 10-minute drive time # and save the results to a layer file on disk. Such a matrix can # be used as an input for logistics, delivery and routing analyses. # 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 = "WarehouseToStoreDrivetimeMatrix" impedanceAttribute = "Drivetime" accumulateAttributeName = ["Meters"] inOrgins = "Analysis/Warehouses" inDestinations = "Analysis/Stores" fieldMappings = "Name NOM #" outLayerFile = "C:/data/output" + "/" + outNALayer + ".lyr" #Create a new OD Cost matrix layer. We wish to find all stores within a 10 #minute cutoff. Apart from finding the drive time to the stores, we also #want to find the total distance. So we will accumulate the "Meters" #impedance attribute. arcpy.MakeODCostMatrixLayer_na(inNetworkDataset, outNALayer, impedanceAttribute, 10, "", accumulateAttributeName) #Load the warehouse locations as origins using a default field map that maps #the Name property using a name field from warehouse features. arcpy.AddLocations_na(outNALayer, "Origins", inOrgins, "","1000 Meters") #Load the store locations as destinations mapping the NOM field from stores #features as Name property arcpy.AddLocations_na(outNALayer, "Destinations", inDestinations, fieldMappings,"1000 Meters") #Solve the OD cost matrix layer arcpy.Solve_na(outNALayer) #Save the solved OD cost matrix 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)