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.
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
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})
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 zum Berechnen der Standorte verwendete Netzwerk-Dataset. 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 | Die Suchtoleranz zur Ermittlung der Eingabe-Features im Netzwerk. Features, die sich außerhalb der Suchtoleranz befinden, bleiben unverortet. Der Parameter umfasst einen Wert und die Einheiten für die Toleranz. Der Parameter wird nicht für die Berechnung der Standorte für Linien- oder Polygon-Features verwendet. Verwenden Sie in solchen Fällen "#" als Parameterwert. | Linear Unit |
search_criteria [[Source, SnapType],...] | Legt fest, welche Quellen im Netzwerk-Dataset beim Ermitteln der Standorte durchsucht werden und welche Teile der Geometrie (auch als Fangtypen bezeichnet) verwendet werden. 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.
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. | Value Table |
match_type (optional) |
Der Parameter wird nicht für die Berechnung der Standorte für Linien- oder Polygon-Features verwendet. Verwenden Sie in solchen Fällen "#" als Parameterwert. | 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. Verwenden Sie in solchen Fällen "#" als Parameterwert. | 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. Verwenden Sie in solchen Fällen "#" als Parameterwert. | 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. Verwenden Sie in solchen Fällen "#" als Parameterwert. | 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. Verwenden Sie in solchen Fällen "#" als Parameterwert. | 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. Verwenden Sie in solchen Fällen "#" als Parameterwert. | 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. Verwenden Sie in solchen Fällen "#" als Parameterwert. | 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. Der Parameter wird nicht für die Berechnung der Standorte für Linien- oder Polygon-Features verwendet. Verwenden Sie in solchen Fällen "#" als Parameterwert. | 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. Verwenden Sie in solchen Fällen "#" als Parameterwert. 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. Dieser Parameter ist nur anwendbar, wenn die Eingabe-Features aus dem Sublayer eines Netzwerkanalyse-Layers stammen und keine Barrierenobjekte sind. In allen anderen Fällen müssen Sie "#" als Parameterwert verwenden.
| Boolean |
search_query [[Source, Expression],...] (optional) | Gibt eine Abfrage an, um die Suche auf eine Teilmenge der Features innerhalb einer Quell-Feature-Class zu beschränken. 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 |
Abgeleitete Ausgabe
Name | Erklärung | Datentyp |
out_point_feature_class | Aktualisierte Eingabe-Features. | Tabellenansicht |
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
#Check out the Network Analyst extension license
arcpy.CheckOutExtension("Network")
#Set environment settings
env.workspace = "C:/data/SanFrancisco.gdb"
#Set local variables
inFeatures = "Analysis/FireStations"
inNetworkDataset = "Transportation/Streets_ND"
searchTolerance = "2000 Meters"
searchCriteria = [["Streets","SHAPE"],["Streets_ND_Junctions","NONE"]]
searchQuery = [["Streets",'"FREEWAY" = 0'],["Streets_ND_Junctions",""]]
#Calculate network locations and store them in defaut field names
arcpy.na.CalculateLocations(inFeatures,inNetworkDataset,searchTolerance,
searchCriteria,"MATCH_TO_CLOSEST",
exclude_restricted_elements="EXCLUDE",
search_query=searchQuery)
print "Script completed successfully."
Umgebungen
Lizenzinformationen
- Basic: Ja
- Standard: Ja
- Advanced: Ja