Mit der Spatial Analyst-Lizenz verfügbar.
Zusammenfassung
Berechnet den optimalen Pfad von einer Quelle zu einem Ziel als Linie.
Verwendung
Das Werkzeug Optimaler Pfad als Linie erzeugt ein Ausgabe-Polylinien-Feature als optimalen Pfad von der Quelle zum Ziel.
Wenn es sich bei den Eingabezieldaten um ein Raster handelt, besteht die Menge der Zielzellen aus allen Zellen in den Eingabe-Raster- bzw. Feature-Zieldaten, die über gültige Werte verfügen. Zellen mit NoData-Werten sind nicht in der Quellmenge enthalten. Der Wert 0 wird als ein rechtmäßiges Ziel betrachtet. Ein Ziel-Raster kann mit den Extraktionswerkzeugen erstellt werden.
Bei der Verwendung von Polygon-Feature-Daten für Eingabe-Feature-Ziele muss auf den Umgang mit der Größe der Ausgabezelle geachtet werden, insbesondere wenn diese grob relativ zu dem in der Eingabe vorhandenen Detail ist. Es wird ein interner Rasterungsprozess mit dem Werkzeug Polygon in Raster angewendet, wobei für den Zellenzuweisungstyp die Standardeinstellung Zellenmittelpunkt verwendet wird. Das bedeutet, dass Daten, die sich nicht am Zellmittelpunkt befinden, nicht in die vorläufige, gerasterte Zielausgabe aufgenommen und nicht in den Entfernungsberechnungen dargestellt werden. Wenn Ihre Ziele beispielsweise aus einer Serie kleiner Polygone bestehen, wie etwa Gebäudegrundrisse, die in Relation zur Ausgabe-Zellengröße klein sind, kann es sein, dass nur einige von ihnen an den Mittelpunkten der Ausgabe-Raster-Zellen liegen und scheinbar dazu führen, dass zahlreiche andere Polygone in der Analyse nicht enthalten sind.
Um dies zu vermeiden, können Sie die Eingabe-Features in einem Zwischenschritt direkt mit dem Werkzeug Feature in Raster rastern und den Parameter Feld festlegen. Verwenden Sie anschließend die resultierende Ausgabe als Eingabe in das jeweilige Entfernungswerkzeug, das Sie verwenden möchten. Alternativ können Sie eine kleine Zellengröße auswählen, damit der jeweilige Detaillierungsgrad von den Eingabe-Features erfasst wird.
Vor dem Generieren eines optimalen Pfades wird i. d. R. eines der folgenden Werkzeuge verwendet, um ein Entfernungsakkumulations-Raster und ein Gegenrichtungs-Raster zu erstellen: Entfernungsakkumulation oder Entfernungsallokation. Dies sind erforderliche Eingaben zum Generieren eines optimalen Pfades.
Die erstellte optimale Verbindung kann eine Fließverbindung auf Grundlage einer D8-Fließrichtung sein. Um auf diese Weise einen optimalen Pfad zu generieren, verwenden Sie ein D8-Fließrichtungs-Raster als Eingabe für das Eingabe-Gegenrichtungs- oder -Fließrichtungs-Raster. Sie müssen auch ein Eingabe-Entfernungsakkumulations-Raster bereitstellen. Wenn der Parameter Netzwerkpfade erstellen nicht aktiviert ist, wird das Eingabe-Entfernungsakkumulations-Raster nicht zum Bestimmen des Pfades verwendet. Daher bleibt die Verbindung gleich, unabhängig davon, ob Sie ein konstantes Raster oder ein digitales Höhenmodell (DEM) verwenden. Lediglich ein Attributwert in der Verbindung variiert. Wenn jedoch mit Netzwerkpfade erstellen generiert wird, dann muss das Eingabe-Entfernungsakkumulations-Raster ein Ausgabe-Abflussakkumulations-Raster sein. Im Abschnitt zum Werkzeug Fließrichtung finden Sie weitere Informationen zu D8-Fließrichtungs-Rastern und zum Werkzeug Abflussakkumulation zum Erstellen des Akkumulations-Rasters.
Das Ausgabe-Polylinien-Feature enthält ein Feld mit dem Namen DestID und ein Feld mit dem Namen PathCost. Das Feld DestID gibt das Ziel jeder Linie an. Im Feld PathCost werden die akkumulativen Kosten für jeden Pfad angegeben. Wenn die Ausgabe in eine File-Geodatabase geschrieben wird, ist ein Feld mit der Bezeichnung shape_length vorhanden, das die Gesamtlänge der kostengünstigsten Route enthält.
Zum Generieren eines optimalen Pfades wird die Umgebungseinstellung Zellengröße ignoriert, und zum Berechnen des Ausgabe-Rasters wird die Zellengröße des Eingabe-Kosten-Rückverknüpfungs-Rasters verwendet. Das Muster des Rückverknüpfungs-Rasters würde erheblich geändert werden, wenn ein Resampling mit einer anderen Auflösung durchgeführt würde. Um Verwechslungen zu vermeiden, sollte bei Verwendung dieses Werkzeugs die Zellengröße nicht festgelegt werden.
Syntax
OptimalPathAsLine(in_destination_data, in_distance_accumulation_raster, in_back_direction_raster, out_polyline_features, {destination_field}, {path_type}, {create_network_paths})
Parameter | Erklärung | Datentyp |
in_destination_data | Ein Integer-Raster- oder Feature-Dataset, das Positionen identifiziert, von denen der optimale Pfad zur am wenigsten kostspieligen Quelle ermittelt wird. Wenn die Eingabe ein Raster ist, muss dieses aus Zellen mit gültigen Werten für die Ziele bestehen, und den restlichen Zellen muss "NoData" zugewiesen werden. 0 ist ein gültiger Wert. | Raster Layer; Feature Layer |
in_distance_accumulation_raster | Mit dem Entfernungsakkumulations-Raster wird der optimale Pfad von den Quellen zu den Zielen zu ermittelt. Das Entfernungsakkumulations-Raster wird i. d. R. mit dem Werkzeug Entfernungsakkumulation oder Entfernungsallokation erstellt. Jede Zelle im Entfernungsakkumulations-Raster stellt die minimale akkumulative Kostenentfernung über eine Oberfläche von jeder Zelle zu einer Menge von Quellenzellen dar. | Raster Layer |
in_back_direction_raster | Das Gegenrichtungs-Raster enthält berechnete Richtungen in Grad. Die Richtung identifiziert die nächste Zelle entlang der optimalen Verbindung zurück zur Quelle mit den geringsten akkumulativen Kosten, wobei Barrieren vermieden werden. Der Wertebereich reicht von 0 Grad bis 360 Grad, wobei 0 Grad für die Quellenzellen reserviert ist. In östlicher Richtung (rechts) befindet sich der 90-Grad-Winkel, und die Werte nehmen im Uhrzeigersinn zu (180 Grad ist Süden, 270 Grad ist Westen und 360 Grad ist Norden). | Raster Layer |
out_polyline_features | Die Ausgabe-Feature-Class, bei der es sich um den/die optimalen Pfad(e) handelt. | Feature Class |
destination_field (optional) | Ein ganzzahliges Feld, das verwendet wird, um Werte für die Zielpositionen zu erhalten. | Field |
path_type (optional) | Gibt ein Schlüsselwort an, das die Art und Weise definiert, in der die Werte und Zonen der Eingabezieldaten in den Kostenverbindungsberechnungen interpretiert werden:
| String |
create_network_paths (optional) | Gibt an, ob vollständige und möglichst überlappende Pfade von den Zielen zu den Quellen berechnet werden oder ob nicht überlappende Netzwerkpfade erstellt werden.
| Boolean |
Codebeispiel
Das folgende Skript veranschaulicht, wie dieses Werkzeug im Python-Fenster verwendet wird.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
OptimalPathAsLine("observers.shp", "distaccum.tif", "backdir.tif",
"c:/sapyexamples/output/outOptimalPath01.shp")
Berechnet den kostengünstigsten Pfad von einer Quelle zu einem Ziel.
# Name: OptimalPathAsLine_Ex_02.py
# Description: Calculates the least-cost path from a source to
# a destination.
# Requirements: Spatial Analyst Extension
# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *
# Set environment settings
env.workspace = "C:/sapyexamples/data"
# Set local variables
inDestination = "observers.shp"
inDistAccum = "accumraster.tif"
inBackDir = "backdir2.tif"
outPathFeat = "c:/sapyexamples/output.gdb/optimalfeaturepaths02"
destField = "FID"
method = "EACH_CELL"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute
OptimalPathAsLine(inDestination, inDistAccum, inBackDir,
outPathFeat, destField, method)
Umgebungen
Lizenzinformationen
- Basic: Erfordert Spatial Analyst
- Standard: Erfordert Spatial Analyst
- Advanced: Erfordert Spatial Analyst