Standorte berechnen (Network Analyst)

Lizenzstufe:BasicStandardAdvanced

Zusammenfassung

Fügt den Eingabe-Features, die den Netzwerkstandort der Features enthalten, Felder hinzu. Das Werkzeug wird verwendet, um die Netzwerkstandortinformationen als Feature-Attribute zu speichern, um auf diese Weise die Features als Eingaben für einen Netzwerkanalyse-Layer schnell laden zu können.

Verwendung

Syntax

CalculateLocations_na (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})
ParameterErläuterungDatentyp
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 Standortbereiche-Feldparameter 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. In solchen Fällen verwenden Sie "#" 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.

  • 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 "Straßen" 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 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)
  • MATCH_TO_CLOSESTGleicht die neuen Netzwerkstandorte mit der nächstgelegenen Netzwerkquelle unter allen Quellen ab, für die ein Fangtyp in den Suchkriterien festgelegt wurde. Dies ist die Standardeinstellung.
  • PRIORITYGleicht die neuen Netzwerkstandorte mit der ersten Netzwerkquelle ab, für die ein Fangtyp in den Suchkriterien festgelegt wurde. Die Quellen werden in der Reihenfolge ihrer Priorität gesucht und die Suche wird beendet, wenn der Standort innerhalb der Suchtoleranz gefunden wurde.

Der Parameter wird nicht für die Berechnung der Standorte für Linien- oder Polygon-Features verwendet. In solchen Fällen verwenden Sie "#" als Parameterwert.

Boolean
source_ID_field
(optional)

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. In solchen Fällen verwenden Sie "#" als Parameterwert.

Field
source_OID_field
(optional)

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. In solchen Fällen verwenden Sie "#" als Parameterwert.

Field
position_field
(optional)

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. In solchen Fällen verwenden Sie "#" als Parameterwert.

Field
side_field
(optional)

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. In solchen Fällen verwenden Sie "#" als Parameterwert.

Field
snap_X_field
(optional)

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. In solchen Fällen verwenden Sie "#" als Parameterwert.

Field
snap_Y_field
(optional)

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. In solchen Fällen verwenden Sie "#" als Parameterwert.

Field
distance_field
(optional)

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. In solchen Fällen verwenden Sie "#" als Parameterwert.

Field
snap_Z_field
(optional)

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. In solchen Fällen verwenden Sie "#" 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)

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)

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.

  • EXCLUDEGibt an, dass die Netzwerkstandorte nur auf passierbaren Teilen des Netzwerks platziert werden. 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.
  • INCLUDEGibt an, dass die Netzwerkstandorte auf allen Elementen des Netzwerks platziert werden. 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)

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 Werte, 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 Quellen-Feature-Classes abfragen, die in File- oder ArcSDE-Geodatabases, Shapefiles oder SDC gespeichert sind, schließen Sie Feldnamen in doppelte Anführungszeichen ein: "CFCC". Wenn Sie Quellen-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 Quellen-Feature-Class "Streets" und keinen Ausdruck für die Quellen-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-Interpreter zu vermeiden.

Value Table

Codebeispiel

CalculateLocations – Beispiel 1 (Python-Fenster)

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

import arcpy
arcpy.env.workspace = "C:/ArcTutor/Network Analyst/Tutorial/SanFrancisco.gdb"
arcpy.na.CalculateLocations("Analysis/Stores","Transportation/Streets_ND",
                            "5000 Meters",[["Streets","SHAPE"],
                                           ["Streets_ND_Junctions","NONE"]])
CalculateLocations – Beispiel 2 (Python-Fenster)

Berechnen von Standorten für Punkt-Features in einem Subtype einer Netzwerkquelle.

import arcpy
arcpy.env.workspace = "C:/ArcTutor/Network Analyst/Tutorial/Paris.gdb"
arcpy.na.CalculateLocations(
    "Analysis/Warehouses","Transportation/ParisNet","5000 Meters",
    [["Streets : Highways","NONE"],["Streets : Major Roads","NONE"],
     ["Streets : Local Streets","SHAPE"],["ParisNet_Junctions", "NONE"]],
    "MATCH_TO_CLOSEST","SID","SOID","PA","SOE","SnapX","SnapY","Distance",
    "","","","")
CalculateLocations – Beispiel 3 (Python-Fenster)

Berechnen von Standorten für Polygon-Features

import arcpy
arcpy.env.workspace = "C:/ArcTutor/Network Analyst/Tutorial/SanFrancisco.gdb"
arcpy.na.CalculateLocations("Basemap/Parks","Transportation/Streets_ND","",
                            [["Streets","SHAPE"],
                             ["Streets_ND_Junctions","NONE"]],
                            location_field="Locations")
CalculateLocations – Beispiel 4 (eigenständiges Python-Skript)

Im 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."

Umgebung

Verwandte Themen

Lizenzierungsinformationen

ArcGIS for Desktop Basic: Ja
ArcGIS for Desktop Standard: Ja
ArcGIS for Desktop Advanced: Ja
5/9/2014