Standorte berechnen (Network Analyst)

Zusammenfassung

Sucht nach Eingabe-Features in einem Netzwerk und fügt Felder hinzu, die die Netzwerkstandorte der Eingabe-Features beschreiben. Das Werkzeug wird verwendet, um die Netzwerkstandortinformationen als Feature-Attribute zu speichern, um auf diese Weise die Features als Eingaben für eine Netzwerkanalyse schnell laden zu können.

Weitere Informationen zur Suche nach Features in einem Netzwerk

Verwendung

  • Dieses Werkzeug wird verwendet, um Standortfelder zu berechnen, die im Werkzeug Standorte hinzufügen eingegeben werden können. Es sollte für Features verwendet werden, die mehrmals als Eingabe in einen Netzwerkanalyse-Layer verwendet werden. Sobald die Standorte berechnet wurden, kann der Parameter Netzwerkstandortfelder statt Geometrie verwenden im Werkzeug Standorte hinzufügen verwendet werden, um die Features schnell als Netzwerkstandorte zu laden.

  • Dieses Werkzeug kann auch verwendet werden, um die Netzwerkstandorte, denen im Netzwerkanalyse-Layer kein Standort zugewiesen wurde, mit einem anderen Satz von Suchoptionen neu zu berechnen. Wenn beispielsweise die Stopps im Routennetzwerkanalyse-Layer anfänglich mit einer Suchtoleranz von 500 Metern hinzugefügt wurden und wenigen Stopps kein Standort zugewiesen wurde, können Sie die nicht zugewiesenen Stopps z. B. mit dem Werkzeug Layer nach Attributen auswählen auswählen und anschließend dieses Werkzeug erneut ausführen, um den Stopps-Sublayer als Eingabe-Features mit einer höheren Suchtoleranz anzugeben.

  • Dieses Werkzeug wird erheblich schneller ausgeführt, wenn die im Netzwerk-Dataset als Netzwerkquellen verwendeten Feature-Classes über einen gültigen und aktuellen räumlichen Index verfügen.

Syntax

CalculateLocations(in_point_features, in_network_dataset, {search_tolerance}, {search_criteria}, {match_type}, {source_ID_field}, {source_OID_field}, {position_field}, {side_field}, {snap_X_field}, {snap_Y_field}, {distance_field}, {snap_Z_field}, {location_field}, {exclude_restricted_elements}, {search_query}, {travel_mode})
ParameterErklärungDatentyp
in_point_features

Die Eingabe-Features, für die die Netzwerkstandorte berechnet werden.

Für Linien- und Polygon-Features werden nur Geodatabase-Feature-Classes unterstützt, da die Netzwerkstandortinformationen in einem BLOB-Feld gespeichert (im Parameter Feld "Standortbereiche" angegeben) werden.

Table View
in_network_dataset

Das Netzwerk-Dataset, das zum Berechnen der Standorte verwendet werden soll.

Wenn ein Sublayer eines Netzwerkanalyse-Layers als Eingabe-Feature verwendet wird, muss der Parameter automatisch auf das Netzwerk-Dataset festgelegt werden, auf das vom Netzwerkanalyse-Layer verwiesen wird.

Network Dataset Layer
search_tolerance
(optional)

Die Suchtoleranz, die zur Ermittlung der Eingabe-Features im Netzwerk verwendet werden soll. Features, die sich außerhalb der Suchtoleranz befinden, bleiben unverortet. Der Parameter umfasst einen Wert und die Einheiten für die Toleranz.

Die Standardeinstellung ist 5,000 Meter.

Der Parameter wird nicht für die Berechnung der Standorte für Linien- oder Polygon-Features verwendet.

Linear Unit
search_criteria
[[Source, SnapType],...]
(optional)

Die Quellen im Netzwerk-Dataset, die beim Ermitteln der Standorte durchsucht werden sollen, und die Teile der Geometrie (auch als Fangtypen bezeichnet), die verwendet werden sollen.

Der Parameterwert wird als Liste mit geschachtelten Listen angegeben. Die geschachtelte Liste besteht aus zwei Werten, die den Namen und den Fangtyp für jede Netzwerkquelle angeben. Der Fangtyp wird anhand der Schlüsselwörter SHAPE, MIDDLE, END oder NONE angegeben.

  • SHAPE: Der Punkt befindet sich am nächsten Punkt eines Elements in dieser Netzwerkquelle.
  • MIDDLE: Der Punkt befindet sich am nächsten Mittelpunkt eines Elements in dieser Netzwerkquelle.
  • END: Der Punkt befindet sich am nächsten Endpunkt eines Elements in dieser Netzwerkquelle.
  • NONE: Der Punkt befindet sich nicht an Elementen in dieser Netzwerkquelle.
Beim Suchen von Standorten gibt der Parameterwert [["Streets","SHAPE"],["Streets_ND_Junctions","NONE"]] beispielsweise an, dass auf dem Shape der Quelle Streets und nicht auf der Quelle Streets_ND_Junctions verortet werden kann.

Um mehrere Fangtypen für eine einzelne Netzwerkquelle anzugeben, verwenden Sie eine Kombination der Fangtypen-Schlüsselwörter getrennt durch einen Unterstrich. MIDDLE_END gibt beispielsweise an, dass die Standorte in der Mitte oder am Ende der Netzwerkquelle gefangen werden können.

Für Geodatabase-Netzwerk-Datasets können die Fangtypen für jeden Subtype der Netzwerkquelle (["Streets : Local Streets","SHAPE"]) festgelegt werden.

Beim Berechnen von Standorten für Linien- oder Polygon-Features wird auch bei Angabe anderer Fangtypen nur der Fangtyp SHAPE verwendet.

Alle nicht in dieser Liste aufgeführten Netzwerkquellen verwenden den Standard-Fangtyp. Es ist am sichersten, alle Netzwerkquellen in der Liste einzuschließen und den Fangtyp jeweils explizit festzulegen.

Der Standardwert für alle Netzwerkquellen lautet SHAPE. Hiervon ausgenommen sind Systemknoten, für die der Standardwert NONE lautet.

Value Table
match_type
(optional)
  • MATCH_TO_CLOSESTDie neuen Netzwerkstandorte werden mit der nächstgelegenen Netzwerkquelle unter allen Quellen abgeglichen, für die ein Fangtyp in den Suchkriterien festgelegt wurde. Dies ist die Standardeinstellung.
  • PRIORITYDie neuen Netzwerkstandorte werden mit der ersten Netzwerkquelle abgeglichen, für die ein Fangtyp in den Suchkriterien festgelegt wurde. Die Quellen werden in der Reihenfolge ihrer Priorität gesucht. Die Suche wird beendet, wenn die Position innerhalb der Suchtoleranz gefunden wurde.

Der Parameter wird nicht für die Berechnung der Standorte für Linien- oder Polygon-Features verwendet.

Boolean
source_ID_field
(optional)

Der Name des zu erstellenden oder mit der Quellen-ID des berechneten Netzwerkstandorts zu aktualisierenden Feldes. Ein Feld namens SourceID wird standardmäßig erstellt bzw. aktualisiert.

Der Parameter wird nicht für die Berechnung der Standorte für Linien- oder Polygon-Features verwendet.

Field
source_OID_field
(optional)

Der Name des zu erstellenden oder mit der Quellen-OID des berechneten Netzwerkstandorts zu aktualisierenden Feldes. Ein Feld namens SourceOID wird standardmäßig erstellt bzw. aktualisiert.

Der Parameter wird nicht für die Berechnung der Standorte für Linien- oder Polygon-Features verwendet.

Field
position_field
(optional)

Der Name des zu erstellenden oder mit dem Prozentsatz (entlang einer Linie) des berechneten Netzwerkstandorts zu aktualisierenden Feldes. Ein Feld namens PosAlong wird standardmäßig erstellt bzw. aktualisiert.

Der Parameter wird nicht für die Berechnung der Standorte für Linien- oder Polygon-Features verwendet.

Field
side_field
(optional)

Der Name des Feldes, das erstellt oder mit der Kantenseite, auf dem sich das Punkt-Feature im berechneten Netzwerkstandort befindet, aktualisiert werden soll. Ein Feld namens SideOfEdge wird standardmäßig erstellt bzw. aktualisiert.

Der Parameter wird nicht für die Berechnung der Standorte für Linien- oder Polygon-Features verwendet.

Field
snap_X_field
(optional)

Der Name des zu erstellenden oder mit der X-Koordinate des berechneten Netzwerkstandorts zu aktualisierenden Feldes. Ein Feld namens SnapX wird standardmäßig erstellt bzw. aktualisiert.

Der Parameter wird nicht für die Berechnung der Standorte für Linien- oder Polygon-Features verwendet.

Field
snap_Y_field
(optional)

Der Name des zu erstellenden oder mit der Y-Koordinate des berechneten Netzwerkstandorts zu aktualisierenden Feldes. Ein Feld namens SnapY wird standardmäßig erstellt bzw. aktualisiert.

Der Parameter wird nicht für die Berechnung der Standorte für Linien- oder Polygon-Features verwendet.

Field
distance_field
(optional)

Der Name des zu erstellenden oder mit der Entfernung des Punkt-Features vom berechneten Netzwerkstandort zu aktualisierenden Feldes. Ein Feld namens Distance wird standardmäßig erstellt bzw. aktualisiert.

Das Ausgabefeld ist in Meter.

Der Parameter wird nicht für die Berechnung der Standorte für Linien- oder Polygon-Features verwendet.

Field
snap_Z_field
(optional)

Der Name des zu erstellenden oder mit der Z-Koordinate des berechneten Netzwerkstandorts zu aktualisierenden Feldes. Ein Feld namens SnapZ wird standardmäßig erstellt bzw. aktualisiert.

Der Parameter wird nicht für die Berechnung der Standorte für Linien- oder Polygon-Features verwendet.

Bei der Berechnung von Standorten für Punkt-Features wird der Parameter nur verwendet, wenn das Eingabe-Netzwerk-Dataset eine Konnektivität auf der Grundlage der Z-Koordinaten-Werte der Netzwerkquellen unterstützt. In allen anderen Fällen müssen Sie "#" als Parameterwert verwenden.

Field
location_field
(optional)

Der Name des Feldes, das mit den Standortbereichen der berechneten Netzwerkstandorte für die Linien- oder Polygon-Features erstellt oder aktualisiert werden soll. Ein Feld namens Locations wird standardmäßig erstellt bzw. aktualisiert.

Der Parameter wird nur für die Berechnung der Standorte für Linien- oder Polygon-Features verwendet. Für Eingabe-Punkt-Features müssen Sie "#" als Parameterwert verwenden.

Field
exclude_restricted_elements
(optional)

Gibt an, ob nicht passierbare Teile des Netzwerks bei der Suche nach Eingaben ausgeschlossen werden. Punkte befinden sich nicht auf Elementen, die im angegebenen Reisemodus beschränkt sind. Ist kein Reisemodus angegeben, werden die Beschränkungen im Standard-Reisemodus des Netzwerks verwendet.

  • EXCLUDEDie Netzwerkstandorte werden nur auf passierbaren Teilen des Netzwerks platziert. Dies verhindert, dass Netzwerkstandorte auf Elementen platziert werden, die Sie aufgrund von Beschränkungen oder Barrieren nicht erreichen können. Stellen Sie vor dem Ändern der Netzwerkstandorte mithilfe dieser Option sicher, dass Sie bereits alle Einschränkungsbarrieren zum Netzwerkanalyse-Layer hinzugefügt haben, um die gewünschten Ergebnisse zu erhalten. Dies ist die Standardeinstellung.
  • INCLUDEDie Netzwerkstandorte werden auf allen Elementen des Netzwerks platziert. Die Netzwerkstandorte, die mit dieser Option geändert werden, sind – wenn sie auf eingeschränkten Elementen platziert werden – möglicherweise während des Berechnungsprozesses nicht erreichbar.
Boolean
search_query
[[Source, Expression],...]
(optional)

Definiert eine Abfrage, mit der die Suche auf eine Teilmenge der Features innerhalb einer Quell-Feature-Class beschränkt wird. Dies empfiehlt sich, wenn keine Features gesucht werden sollen, die für einen Netzwerkstandort ungeeignet sind. Wenn Sie zum Beispiel Schwerpunkte von Polygonen laden und diese nicht auf Ortsstraßen verorten möchten, können Sie eine Abfrage definieren, die nur nach Hauptstraßen sucht.

Der Parameterwert wird als Liste mit geschachtelten Listen angegeben. Die geschachtelte Liste besteht aus zwei Werten, die den Namen und den SQL-Ausdruck für alle Netzwerkquellen angeben. Die Syntax für den SQL-Ausdruck hängt vom Typ der Quell-Feature-Class im Netzwerk ab. Wenn Sie beispielsweise Quell-Feature-Classes abfragen, die in File- oder Enterprise-Geodatabases, Shapefiles oder SDC gespeichert sind, schließen Sie Feldnamen in doppelte Anführungszeichen ein: "CFCC". Wenn Sie Quell-Feature-Classes abfragen, die in Personal-Geodatabases gespeichert sind, schließen Sie Felder in eckige Klammern ein: [CFCC].

Wenn Sie keine Abfrage für eine bestimmte Quelle angeben möchten, verwenden Sie "#" als Wert für den SQL-Ausdruck, oder schließen Sie den Quellennamen und den SQL-Ausdruck aus dem Parameterwert aus. Wenn Sie nicht für alle Netzwerkquellen eine Abfrage angeben möchten, verwenden Sie "#" als Parameterwert.

Der Parameterwert [["Streets","\"CFCC\" = 'A15'"], ["Streets_ND_Junctions",""]] gibt beispielsweise einen SQL-Ausdruck für die Quell-Feature-Class Streets und keinen Ausdruck für die Quell-Feature-Class Streets_ND_Junctions an. Beachten Sie, dass die doppelten Anführungszeichen, in die der Feldname CFCC eingeschlossen ist, mit umgekehrten Schrägstrichen als Escape-Zeichen versehen werden, um einen Analysefehler des Python-Interpreters zu vermeiden.

Standardmäßig werden keine Abfragen verwendet.

Value Table
travel_mode
(optional)

Name des Reisemodus, der in der Analyse verwendet wird.

Wenn Sie einen Reisemodus auswählen, werden die Einstellungen des Reisemodus, wie Beschränkungen und Impedanzattribute, beim Berechnen der Positionsfelder berücksichtigt. Wenn beispielsweise die Netzwerkkante, die am nächsten an einem Ihrer Eingabepunkte liegt, von Lkw nicht befahren werden darf und Ihr Reisemodus für Lkw festgelegt ist, bestimmt Standorte berechnen den Punkt auf der zweitnächsten Netzwerkkante, der nicht für Lkw verboten ist.

Die verfügbaren Reisemodi hängen vom Parameterwert in_network_dataset ab.

Wenn ein Sublayer eines Netzwerkanalyse-Layers als Eingabe-Features verwendet wird, muss der Reisemodus-Parameter auf den Reisemodus des Netzwerkanalyse-Layers festgelegt werden.

String

Abgeleitete Ausgabe

NameErklärungDatentyp
out_point_feature_class

Aktualisierte Eingabe-Features.

Tabellensicht

Codebeispiel

CalculateLocations – Beispiel 1 (Python-Fenster)

Berechnen von Standorten für Punkt-Features mithilfe der erforderlichen Parameter.

stores = "C:/Data/SanFrancisco.gdb/Analysis/Hospitals/Analysis/Stores"
network = "C:/Data/SanFrancisco.gdb/Transportation/Streets_ND"
arcpy.na.CalculateLocations(stores, network, "5000 Meters",
                            [["Streets", "SHAPE"],
                            ["Streets_ND_Junctions", "NONE"]])
CalculateLocations – Beispiel 2 (Python-Fenster)

Berechnen von Standorten für Punkt-Features in Straßen-Features, ausgenommen andere Netzwerkquellen.

warehouses = "C:/Data/Paris.gdb/Analysis/Warehouses"
network = "C:/Data/Paris.gdb/Transportation/ParisMultimodal_ND"
arcpy.na.CalculateLocations(warehouses, network, "5000 Meters",
    [["Metro_Lines", "NONE"], ["Streets", "SHAPE"],
    ["Transfer_Stations", "NONE"], ["Metro_Entrances", "NONE"],
    ["Metro_Stations", "NONE"], ["ParisMultimodal_ND_Junctions", "NONE"]],
    "MATCH_TO_CLOSEST", "SID", "SOID", "PA", "SOE", "SnapX", "SnapY",
    "Distance")
CalculateLocations – Beispiel 3 (Python-Fenster)

Berechnen von Standorten für Polygon-Features

parks = "C:/Data/SanFrancisco.gdb/Analysis/Hospitals/Basemap/Parks"
network = "C:/Data/SanFrancisco.gdb/Transportation/Streets_ND"
arcpy.na.CalculateLocations(parks, network, "", [["Streets", "SHAPE"],
                            ["Streets_ND_Junctions", "NONE"]],
                            location_field="Locations")
CalculateLocations – Beispiel 4 (eigenständiges Skript)

Mit dem folgenden Python-Skript wird veranschaulicht, wie Sie das Werkzeug CalculateLocations in einem eigenständigen Skript verwenden.

# Name: CalculateLocations_ex04.py
# Description: Calculate network locations for fire stations. Make sure that the
#              fire stations are not located on the freeways.
# Requirements: Network Analyst Extension

#Import system modules
import arcpy
from arcpy import env

try:
    #Set environment settings
    env.workspace = "C:/Data/SanFrancisco.gdb"

    #Set local variables
    in_features = "Analysis/FireStations"
    network = "Transportation/Streets_ND"
    search_tolerance = "2000 Meters"
    search_criteria = [["Streets", "SHAPE"], ["Streets_ND_Junctions", "NONE"]]
    search_query = [["Streets", '"FREEWAY" = 0'], ["Streets_ND_Junctions", ""]]

    #Calculate network locations and store them in defaut field names
    arcpy.na.CalculateLocations(in_features, network, search_tolerance,
                                search_criteria, "MATCH_TO_CLOSEST",
                                exclude_restricted_elements="EXCLUDE",
                                search_query=search_query)

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

Lizenzinformationen

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

Verwandte Themen