ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • 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 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

Layer für nächstgelegene Einrichtung erstellen

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

Zusammenfassung

Erstellt einen Netzwerkanalyse-Layer für die nächstgelegene Einrichtung und legt seine Analyse-Eigenschaften fest. Ein Netzwerkanalyse-Layer für die nächstgelegene 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 ihm Netzwerkanalyse-Objekte mithilfe des Werkzeugs Standorte hinzufügen hinzufügen, die Analyse mit dem Werkzeug Berechnen berechnen und die Ergebnisse mit dem Werkzeug In Layer-Datei speichern auf der Festplatte speichern.

  • Bei Verwendung dieses Werkzeugs in Geoverarbeitungsmodellen muss der Ausgabe-Netzwerkanalyse-Layer in einen Modellparameter geändert werden, wenn das Modell als Werkzeug ausgeführt wird. Andernfalls wird der Ausgabe-Layer dem Inhalt der Karte nicht hinzugefügt.

Syntax

arcpy.na.MakeClosestFacilityLayer(in_network_dataset, out_network_analysis_layer, impedance_attribute, {travel_from_to}, {default_cutoff}, {default_number_facilities_to_find}, {accumulate_attribute_name}, {UTurn_policy}, {restriction_attribute_name}, {hierarchy}, {hierarchy_settings}, {output_path_shape}, {time_of_day}, {time_of_day_usage})
ParameterErklärungDatentyp
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 Widerstand verwendet wird.

String
travel_from_to
(optional)

Gibt die Fahrtrichtung zwischen Einrichtungen und Ereignissen an.

  • TRAVEL_FROM —Die Fahrtrichtung erfolgt von den Einrichtungen zu den Ereignissen. Feuerwehren verwenden im Allgemeinen diese Einstellung, da es hier darauf ankommt, wie lange es dauert, von der Feuerwache (Einrichtung) zum Einsatzort (Ereignis) zu fahren.
  • TRAVEL_TO —Die Fahrtrichtung erfolgt von den Ereignissen zu den Einrichtungen. Einzelhandelsgeschäfte verwenden im Allgemeinen diese Einstellung, da es hier darauf ankommt, wie lange die Käufer (Ereignisse) brauchen, um den Laden zu erreichen.

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.

String
default_cutoff
(optional)

Standardimpedanzwert, an dem die Suche nach Einrichtungen für ein gegebenes Ereignis beendet wird. Der Standardwert kann durch Angabe des Grenzwertes für Ereignisse überschrieben werden, wenn die Fahrtrichtung von den Ereignissen zu den Einrichtungen erfolgt, oder durch Angabe des Grenzwertes für Einrichtungen, wenn die Fahrtrichtung von den Einrichtungen zu den Ereignissen erfolgt.

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)

Eine Liste mit Kostenattributen, die während der Analyse akkumuliert werden sollen. Diese Akkumulationsattribute dienen ausschließlich zu Referenzzwecken. Der Solver verwendet nur das vom Parameter Impedanzattribut angegebene Kostenattribut zum Berechnen der Route.

Für jedes akkumulierte Kostenattribut wird den vom Solver ausgegebenen Routen eine Total_[Impedance]-Eigenschaft hinzugefügt.

String
UTurn_policy
(optional)

Die Wendenregel an Knoten. Das Zulassen von Wenden bedeutet, dass der Solver an einem Knoten wenden und auf der gleichen Straße wieder zurückführen kann. Da diese Knoten Straßenkreuzungen und Sackgassen darstellen können, kann es sein, dass verschiedene Fahrzeuge an manchen Knoten wenden können und an anderen wiederum nicht. Dies hängt davon ab, ob der Knoten eine Kreuzung oder eine Sackgasse darstellt. Um dies zu berücksichtigen, wird der Parameter "Wendenregel" implizit durch die Anzahl der mit der Kreuzung verbundenen Kanten angegeben. Diese Anzahl wird als Valenz der Knoten bezeichnet. Die zulässigen Werte für diesen Parameter sowie eine Beschreibung der jeweiligen Bedeutung in Bezug auf die Valenz der Knoten sind unten aufgelistet.

  • ALLOW_UTURNS —Wenden sind an Knoten mit einer beliebigen Anzahl verbundener Kanten erlaubt. Dies ist der Standardwert.
  • NO_UTURNS —Wenden sind an allen Knoten verboten, unabhängig von der Valenz der Knoten. Beachten Sie jedoch, dass selbst bei Auswahl dieser Einstellung Wenden an Netzwerkpositionen weiterhin erlaubt sind; allerdings können Sie für die Eigenschaft CurbApproach der jeweiligen Netzwerkposition auch ein Verbot von Wenden festlegen.
  • ALLOW_DEAD_ENDS_ONLY —Wenden sind an allen Knoten verboten, außer es ist nur eine angrenzende Kante vorhanden (Sackgasse).
  • ALLOW_DEAD_ENDS_AND_INTERSECTIONS_ONLY —Wenden sind an Knoten verboten, an denen genau zwei angrenzende Kanten aufeinander treffen, jedoch an Kreuzungen (Knoten mit drei oder mehr angrenzenden Kanten) und in Sackgassen (Knoten mit genau einer angrenzenden Kante) erlaubt. Oftmals verfügen Netzwerke über unwesentliche Knoten in der Mitte von Straßensegmenten. Durch diese Option wird verhindert, dass Fahrzeuge an diesen Punkten wenden.

Falls Sie eine Wendenregel benötigen, die genauer definiert ist, können Sie einem Netzwerkkostenattribut einen globalen Evaluator für Verzögerung bei Kantenübergängen hinzufügen oder dessen Einstellungen anpassen, sofern dieser vorhanden ist, und der Konfiguration von U-förmigen Kantenübergängen einen besonderen Stellenwert einräumen. Ziehen Sie auch die Einstellung der CurbApproach-Eigenschaft Ihrer Netzwerkstandorte in Erwägung.

String
restriction_attribute_name
[restriction_attribute_name,...]
(optional)

Eine Liste mit Beschränkungsattributen, die während der Analyse angewendet werden sollen.

String
hierarchy
(optional)
  • USE_HIERARCHY — Verwendet das Hierarchie-Attribut für die Analyse. Wenn eine Hierarchie verwendet wird, werden vom Solver Kanten einer höheren Rangstufe gegenüber Kanten niedrigerer Rangstufen bevorzugt. Hierarchische Berechnungen sind schneller und können verwendet werden, um zu simulieren, dass ein Fahrer es nach Möglichkeit vorzieht, auf Autobahnen statt auf Landstraßen zu fahren, selbst wenn die Fahrstrecke dann länger ist. Diese Option ist nur dann gültig, wenn das Eingabe-Netzwerk-Dataset ein Hierarchie-Attribut aufweist.
  • NO_HIERARCHY —Das Hierarchie-Attribut wird nicht für die Analyse verwendet. Wenn keine Hierarchie verwendet wird, wird eine genaue Route für das Netzwerk-Dataset berechnet.

Der Parameter wird nicht verwendet, wenn ein Hierarchie-Attribut nicht für das Netzwerk-Dataset definiert ist, das zum Durchführen der Analyse verwendet wird. Verwenden Sie in solchen Fällen "#" als Parameterwert.

Boolean
hierarchy_settings
(optional)

Ältere Versionen:

Vor Version 10 konnten mit diesem Parameter die im Netzwerk-Dataset erstellten Standardhierarchiebereiche in die Hierarchiebereiche für Ihre Analyse geändert werden. In Version 10 wird dieser Parameter nicht mehr unterstützt und sollte als leere Zeichenfolge angegeben werden. Wenn Sie die Hierarchiebereiche für Ihre Analyse ändern möchten, müssen Sie die Standardhierarchiebereiche im Netzwerk-Dataset aktualisieren.

Network Analyst Hierarchy Settings
output_path_shape
(optional)

Gibt den Shape-Typ für die Routen-Features an, die von der Analyse ausgegeben werden.

  • TRUE_LINES_WITH_MEASURES —Die Ausgabe-Routen haben die exakte Form der zugrunde liegenden Netzwerkquellen. Die Ausgabe umfasst zudem Routenmesswerte für die lineare Referenzierung. Die Messwerte nehmen ab dem ersten Halt zu und zeichnen die kumulierte Impedanz auf, um eine bestimmte Position zu erreichen.
  • TRUE_LINES_WITHOUT_MEASURES —Die Ausgabe-Routen haben die exakte Form der zugrunde liegenden Netzwerkquellen.
  • STRAIGHT_LINES —In der Ausgabe wird als Routen-Shape eine einzelne gerade Linie zwischen jedem Paar aus Ereignis und Einrichtung verwendet.
  • NO_LINES —Für die Ausgaberouten wird kein Shape erstellt.

Gleichgültig, welcher Ausgabe-Shape-Typ gewählt wird, die optimale Route wird immer durch die Netzwerkimpedanz und nie durch die Euklidische Entfernung bestimmt. Dies bedeutet, dass sich nur die Routen-Shapes und nicht der zugrunde liegende Durchlauf des Netzwerks unterscheiden.

String
time_of_day
(optional)

Gibt die Uhrzeit und das Datum für den Beginn oder das Ende der Routen an. Die Interpretation dieses Wertes hängt davon ab, ob "Verwendung der Uhrzeit" auf START_TIME oder END_TIME festgelegt ist.

Wenn Sie ein verkehrsbasiertes Impedanzattribut ausgewählt haben, wird die Lösung auf Grundlage des dynamischen Verkehrsaufkommens zu der hier angegebenen Uhrzeit generiert. Sie können ein Datum und eine Uhrzeit im Format 14.5.2012 10:30 angeben.

Statt ein bestimmtes Datum zu verwenden, kann ein Wochentag mithilfe der folgenden Datumsangaben angegeben werden:

  • Heute – 30.12.1899
  • Sonntag – 31.12.1899
  • Montag – 1.1.1900
  • Dienstag – 2.1.1900
  • Mittwoch – 3.1.1900
  • Donnerstag – 4.1.1900
  • Freitag – 5.1.1900
  • Samstag – 06.01.1900
Wenn Sie beispielsweise angeben möchten, dass die Reise am Dienstag um 17:00 Uhr starten soll, geben Sie den Parameterwert wie folgt an: 2.1.1900 17:00.

Date
time_of_day_usage
(optional)

Gibt an, ob der Wert des Parameters "Zeitpunkt" die Ankunfts- oder Abfahrtzeit für die Route oder die Routen darstellt.

  • START_TIME —"Zeitpunkt" wird als Abfahrtzeit von der Einrichtung oder dem Ereignis interpretiert.Wenn diese Einstellung ausgewählt wird, gibt "Zeitpunkt" an, dass der Solver die beste Route für eine bestimmte Abfahrtzeit bestimmen soll.
  • END_TIME —"Zeitpunkt" wird als Ankunftszeit an der Einrichtung oder beim Ereignis interpretiert. Diese Option empfiehlt sich, wenn Sie wissen möchten, wann von einem Ort abgefahren werden soll, um zur in "Zeitpunkt" festgelegten Uhrzeit am Ziel einzutreffen.
  • NOT_USED —Wenn für "Zeitpunkt" kein Wert angegeben ist, kann nur diese Einstellung verwendet werden. Wenn für "Zeitpunkt" ein Wert angegeben ist, steht diese Einstellung nicht zur Verfügung.
String

Abgeleitete Ausgabe

NameErklärungDatentyp
output_layer

Der neu erstellte Netzwerkanalyse-Layer.

Network Analyst-Layer

Codebeispiel

MakeClosestFacilityLayer – Beispiel 1 (Python-Fenster)

Ausführen des Werkzeugs, wenn nur die erforderlichen Parameter verwendet werden.

network = "C:/Data/SanFrancisco.gdb/Transportation/Streets_ND"
arcpy.na.MakeClosestFacilityLayer(network, "ClosestFireStations", "TravelTime")
MakeClosestFacilityLayer – Beispiel 2 (Python-Fenster)

Führen Sie das Werkzeug unter Verwendung aller Parameter aus.

network = "C:/Data/SanFrancisco.gdb/Transportation/Streets_ND"
arcpy.na.MakeClosestFacilityLayer(network, "ClosestHospitals", "TravelTime",
                                    "TRAVEL_TO", 5 ,3, ["Meters", "TravelTime"],
                                    "ALLOW_UTURNS", ["Oneway"], "USE_HIERARCHY",
                                    "", "TRUE_LINES_WITH_MEASURES")
MakeClosestFacilityLayer – Beispiel 3 (Workflow)

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
import os

try:
    #Check out the Network Analyst extension license
    arcpy.CheckOutExtension("Network")

    #Set environment settings
    env.workspace = r"C:/data/Paris.gdb"
    env.overwriteOutput = True

    #Set local variables
    inNetworkDataset = r"Transportation/ParisMultimodal_ND"
    outNALayerName = "ClosestWarehouse"
    impedanceAttribute = "Drivetime"
    accumulateAttributeName = ["Meters"]
    inFacilities = r"Analysis/Warehouses"
    inIncidents = r"Analysis/Stores"
    outLayerFile = os.path.join(r"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.
    NAResultObject = 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 = NAResultObject.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

  • Basic: Ja
  • Standard: Ja
  • Advanced: Ja

Verwandte Themen

  • Analyse der nächstgelegenen Einrichtung
  • Netzwerkanalyse mit Hierarchie
  • Überblick über das Toolset "Analyse"
  • Was sind Netzwerkanalyse-Layer?

ArcGIS Desktop

  • Startseite
  • Dokumentation
  • Support

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

Über Esri

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