Layer der nächsten Einrichtung erstellen (Network Analyst)
Zusammenfassung
Erstellt einen Netzwerkanalyse-Layer der nächsten Einrichtung und legt seine Analyseeigenschaften fest. Ein Netzwerkanalyse-Layer für die nächstgelegenen Einrichtung ist hilfreich, um die nächste Einrichtung oder die Einrichtungen zu einem Ereignis auf der Grundlage der angegebenen Netzwerkkosten zu bestimmen.
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, für das die Analyse der nächstgelegenen Einrichtung ausgeführt wird. | Network Dataset Layer |
out_network_analysis_layer |
Name des zu erstellenden Netzwerkanalyse-Layers für die nächstgelegene Einrichtung. | String |
impedance_attribute |
Das Kostenattribut, das in der Analyse als Impedanz verwendet wird. | String |
travel_from_to (optional) |
Gibt die Fahrtrichtung zwischen Einrichtungen und Ereignissen an.
Mithilfe dieser Option können in einem Netzwerk mit Beschränkungen für Einbahnstraßen und unterschiedlichen Impedanzen basierend auf der Fahrtrichtung verschiedene Einrichtungen gesucht werden. So kann eine Einrichtung zum Beispiel 10 Minuten Fahrzeit vom Ereignis entfernt sein, wenn die Fahrt vom Ereignis zur Einrichtung erfolgt, jedoch 15 Minuten Fahrzeit entfernt, wenn die Fahrt von der Einrichtung zum Ereignis erfolgt. Feuerwehren verwenden im Allgemeinen die Einstellung "TRAVEL_FROM", da es hier darauf ankommt, wie lange es dauert, von der Feuerwache (Einrichtung) zum Einsatzort (Ereignis) zu fahren. Ein Einzelhandelsgeschäft (Einrichtung) ist eher daran interessiert, wie lange die Käufer (Ereignisse) brauchen, um den Laden zu erreichen. Daher verwenden Läden für gewöhnlich die Option "TRAVEL_TO". | String |
default_cutoff (optional) |
Standardimpedanzwert, an dem die Suche nach Einrichtungen für ein gegebenes Ereignis beendet wird. Der Standard kann überschrieben werden, indem der Grenzwert für Ereignisse angegeben wird, wenn die TRAVEL_TO-Option verwendet wird oder indem der Grenzwert für Einrichtungen angegeben wird, wenn die TRAVEL_FROM-Option verwendet wird. | Double |
default_number_facilities_to_find (optional) |
Standardanzahl der nächsten Einrichtungen, die pro Ereignis gesucht werden sollen. Der Standard kann überschrieben werden, indem ein Wert für die Eigenschaft "TargetFacilityCount" der Ereignisse 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) |
Gibt den Shape-Typ für die Routen-Features an, die von der Analyse ausgegeben werden.
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/SanFrancisco.gdb" arcpy.MakeClosestFacilityLayer_na("Transportation/Streets_ND", "ClosestFireStations","Minutes")
Ausführen des Werkzeugs unter Verwendung aller Parameter
import arcpy arcpy.env.workspace = "C:/ArcTutor/Network Analyst/Tutorial/SanFrancisco.gdb" arcpy.MakeClosestFacilityLayer_na("Transportation/Streets_ND", "ClosestHospitals","Minutes","TRAVEL_TO",5,3, ["Meters","Minutes"],"ALLOW_UTURNS", ["Oneway"],"USE_HIERARCHY","", "TRUE_LINES_WITH_MEASURES")
Mit dem folgenden eigenständigen Python-Skript wird veranschaulicht, wie das Werkzeug "MakeClosestFacilityLayer" verwendet werden kann, um von den Ladenstandorten aus das nächst gelegene Lager zu ermitteln.
# Name: MakeClosestFacilityLayer_Workflow.py # Description: 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 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)