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 den Parameterwert für 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
arcpy.na.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})
Parameter | Erklärung | Datentyp |
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 Netzwerkstandorte durchsucht werden sollen, und die Teile der Geometrie (auch als Fangtypen bezeichnet), die verwendet werden sollen. Wenn das Netzwerk-Dataset beispielsweise separate Feature-Classes referenziert, die Straßen und Gehwege darstellen, können Sie die Eingaben auf Straßen, aber nicht auf Gehwegen verorten. Im Folgenden werden die verfügbaren Auswahlmöglichkeiten an Fang-Typen für die einzelnen Netzwerkquellen aufgeführt:
Die Optionen MIDDLE und END wurden aus Gründen der Abwärtskompatibilität beibehalten. Verwenden Sie die Option SHAPE, wenn Sie Ihre Eingaben in einer bestimmten Netzwerkquelle verorten möchten; verwenden Sie andernfalls NONE. Beim Berechnen von Standorten für Linien- oder Polygon-Features wird auch bei Angabe anderer Fangtypen nur der Fangtyp SHAPE verwendet. Der Standardwert für alle Netzwerkquellen lautet SHAPE; eine Ausnahme bilden Knoten vom Typ "Override", die durch Ausführung des Werkzeugs Netzelemente reduzieren ausgeführt wurden, und Systemknoten, deren Standardwert NONE lautet. Dieser Parameter wird nicht verwendet, wenn die Netzwerkdatenquelle ein Portal-Service ist. Der Parameterwert wird als Liste mit geschachtelten Listen angegeben. Die geschachtelten Listen bestehen aus zwei Werten, die den Namen und Fangtyp jeder Netzwerkquelle angeben. Der Parameterwert [["Streets","SHAPE"],["Streets_ND_Junctions","NONE"]] gibt zum Beispiel an, dass die Suche auf dem Shape der Quelle Streets und nicht auf der Quelle Streets_ND_Junctions verortet werden kann. Alle Netzwerkquellen, die nicht in dieser Liste aufgeführt sind, verwenden den Standard-Fangtyp. Es wird empfohlen, dass Sie alle Netzwerkquellen in der Liste einschließen und den Fangtyp jeweils explizit festlegen. Für Geodatabase-Netzwerk-Datasets können die Fangtypen für jeden Subtype der Netzwerkquelle festgelegt werden. Wenn die Netzwerkquelle beispielsweise Streets heißt und diese über den Subtype Local Streets verfügt, geben Sie mithilfe von ["Streets : Local Streets", "SHAPE"] den Fang-Typ für Wohnstraßen an. | Value Table |
match_type (optional) | Gibt an, wie neue Netzwerkstandorte mit Netzwerkquellen abgeglichen werden.
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.
| 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 ist hilfreich, wenn Sie keine Features suchen möchten, die für Ihre Analyse ungeeignet sein könnten Sie können in der Abfrage zum Beispiel alle Features mit einer bestimmten Straßenklasse ausschließen. Für jede Quell-Feature-Class des Netzwerk-Datasets können Sie einen separaten SQL-Ausdruck festlegen. Standardmäßig wird für keine Quelle eine Abfrage verwendet. Dieser Parameter wird nicht verwendet, wenn die Netzwerkdatenquelle ein Portal-Service ist. Der Parameterwert wird als Liste geschachtelter Listen angegeben. Die geschachtelten Listen bestehen aus zwei Werten, die den Namen und den SQL-Ausdruck für alle Netzwerkquellen angeben. Weitere Informationen zur SQL-Syntax finden Sie unter SQL-Referenz für in ArcGIS verwendete Abfrageausdrücke. Auf Netzwerkquellen, die nicht in dieser Liste enthalten sind, wird keine Abfrage angewendet. Ein als leere Zeichenfolge angegebener Ausdruck wird ebenfalls nicht als Abfrage interpretiert. Der Parameterwert [["Streets", "\"CFCC\" = 'A15'"], ["Streets_ND_Junctions", ""]] gibt beispielsweise für die Quell-Feature-Class Streets eine Abfrage an, die nur Eingaben auf Straßen sucht, deren Feld CFCC den Wert A15 enthält. Auf die Quell-Feature-Class Streets_ND_Junctions wird keine Abfrage angewendet. | Value Table |
travel_mode (optional) | Der Name des Reisemodus, der in der Analyse verwendet werden soll. 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
Name | Erklärung | Datentyp |
out_point_feature_class | Die aktualisierten Eingabe-Features. | Tabellenansicht |
Codebeispiel
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"]])
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")
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")
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)))
Umgebungen
Lizenzinformationen
- Basic: Ja
- Standard: Ja
- Advanced: Ja