Standorte berechnen (Network Analyst)
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
-
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 das Stopps-Sublayer als Eingabe-Features mit einer höheren Suchtoleranz anzugeben.
-
Dieses Werkzeug wird bedeutend schneller ausgeführt, wenn die Feature-Classes, die als Netzwerkquellen im Netzwerk-Dataset verwendet werden, einen gültigen und aktuellen räumlichen Index haben.
Syntax
Parameter | Erläuterung | 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 Standortbereiche-Feldparameter angegeben) werden. | Table View |
in_network_dataset |
The network dataset used to calculate the locations. 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 außerhalb der Suchtoleranz liegen, wird kein Standort zugewiesen. Der Parameter umfasst einen Wert und die Einheiten für die Toleranz. Beim Berechnen der Standorte für Linien- oder Polygon-Features wird der Parameter nicht verwendet. In solchen Fällen verwenden Sie "#" als Parameterwert. | Linear unit |
search_criteria [[Quelle, SnapType],...] |
Legt fest, welche Quellen im Netzwerk-Dataset beim Ermitteln von Standorten durchsucht 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 mit den Schlüsselwörtern "SHAPE", "MIDDLE", "END" oder "NONE" angegeben. Bei Suchen von Standorten wird beispielsweise mit dem Parameterwert [["Straßen", "SHAPE"], ["Streets_ND_Junctions", "NONE"]] angegeben, dass durch die Suche das Shape der Quelle "Straße", aber nicht der Quelle "Streets_ND_Junctions" ermittelt werden kann. Wenn Sie mehrere Fangtypen für eine einzelne Netzwerkquelle angeben möchten, verwenden Sie eine Kombination der Fangtypschlüsselwörter, die durch einen Unterstrich getrennt werden. MIDDLE_END gibt z. B. an, dass die Standorte in der Mitte oder am Ende der Netzwerkquelle gefangen werden können. For geodatabase network datasets, the snap types can be specified for each subtype of the network source. When calculating locations for line or polygon features, only the Shape snap type is used even if other snap types are specified. | Value Table |
match_type (optional) |
The parameter is not used when calculating locations for line or polygon features. In such cases, use "#" as the parameter value. | Boolean |
source_ID_field (optional) |
Name of the field to be created or updated with the source ID of the computed network location. A field called "SourceID" is created or updated by default. The parameter is not used when calculating locations for line or polygon features. In such cases, use "#" as the parameter value. | Field |
source_OID_field (optional) |
Name of the field to be created or updated with the source OID of the computed network location. A field called "SourceOID" is created or updated by default. The parameter is not used when calculating locations for line or polygon features. In such cases, use "#" as the parameter value. | Field |
position_field (optional) |
Name of the field to be created or updated with the percent along of the computed network location. A field called "PosAlong" is created or updated by default. The parameter is not used when calculating locations for line or polygon features. In such cases, use "#" as the parameter value. | Field |
side_field (optional) |
Name of the field to be created or updated with the side of edge on which the point feature is located on the computed network location. A field called "SideOfEdge" is created or updated by default. The parameter is not used when calculating locations for line or polygon features. In such cases, use "#" as the parameter value. | Field |
snap_x_field (optional) |
Name of the field to be created or updated with the x-coordinate of the computed network location. A field called "SnapX" is created or updated by default. The parameter is not used when calculating locations for line or polygon features. In such cases, use "#" as the parameter value. | Field |
snap_y_field (optional) |
Name of the field to be created or updated with the y-coordinate of the computed network location. A field called "SnapY" is created or updated by default. The parameter is not used when calculating locations for line or polygon features. In such cases, use "#" as the parameter value. | Field |
distance_field (optional) |
Name of the field to be created or updated with the distance of the point feature from the computed network location. A field called "Distance" is created or updated by default. The parameter is not used when calculating locations for line or polygon features. In such cases, use "#" as the parameter value. | Field |
snap_Z_field (optional) |
Name of the field to be created or updated with the z-coordinate of the computed network location. A field called "SnapZ" is created or updated by default. The parameter is not used when calculating locations for line or polygon features. In such cases, use "#" as the parameter value. 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 of the field to be created or updated with the location ranges of the computed network locations for the line or polygon features. A field called "Locations" is created or updated by default. 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.
| Boolean |
search_query [[Quelle, Ausdruck],...] (optional) | Specifies a query to restrict the search to a subset of the features within a source feature class. This is useful if you don't want to find features that may be unsuited for a network location. For example, if you are loading centroids of polygons and don't want to locate on local roads, you can define a query that searches for major roads only. 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 Netzwerk-Quell-Feature-Class ab. Wenn Sie beispielsweise Quell-Feature-Classes abfragen, die in File- oder ArcSDE-Geodatabases, Shapefiles oder SDC gespeichert sind, müssen Sie die Feldnamen in doppelte Anführungszeichen einschließen "CFCC". Wenn Sie in Personal-Geodatabases gespeicherte Quell-Feature-Classes abfragen, müssen Sie die Felder in eckige Klammern einschließen: [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 keine Abfrage für alle Netzwerkquellen angeben möchten, können Sie "#" als Parameterwert verwenden. So wird beispielsweise mit dem Parameterwert [["Straßen","\"CFCC\" = 'A15'"], ["Streets_ND_Junctions",""]] ein SQL-Ausdruck für die Straßen-Quell-Feature-Class und kein Ausdruck für die Streets_ND_Junctions-Quell-Feature-Class angegeben. Beachten Sie, dass die doppelten Anführungszeichen, mit denen der Feldname CFCC eingeschlossen wird, mit umgekehrten Schrägstrichzeichen als Escape-Zeichen versehen sind, um Analysefehler beim Python-Interpreter zu vermeiden. | Value Table |
Codebeispiel
Berechnen von Standorten für Punkt-Features mithilfe der erforderlichen Parameter.
import arcpy arcpy.env.workspace = "C:/ArcTutor/Network Analyst/Tutorial/SanFrancisco.gdb" arcpy.CalculateLocations_na("Analysis/Stores","Transportation/Streets_ND", "5000 Meters",[["Streets","SHAPE"], ["Streets_ND_Junctions","NONE"]])
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.CalculateLocations_na( "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", "","","","")
Berechnen von Standorten für Polygon-Features
import arcpy arcpy.env.workspace = "C:/ArcTutor/Network Analyst/Tutorial/SanFrancisco.gdb" arcpy.CalculateLocations_na("Basemap/Parks","Transportation/Streets_ND","", [["Streets","SHAPE"], ["Streets_ND_Junctions","NONE"]], location_field="Locations")
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.CalculateLocations_na(inFeatures,inNetworkDataset,searchTolerance, searchCriteria,"MATCH_TO_CLOSEST", exclude_restricted_elements="EXCLUDE", search_query=searchQuery) print "Script completed successfully."