Mit der Spatial Analyst-Lizenz verfügbar.
Zusammenfassung
Berechnet den optimalen Pfad von einer Quelle zu einem Ziel als Raster.
Verwendung
Das Werkzeug Optimaler Pfad als Raster erzeugt ein Ausgabe-Raster.
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. Das Eingabe-Entfernungsakkumulations-Raster dient nicht zur Ermittlung des Pfades. Die Verbindung bleibt gleich, unabhängig davon, ob Sie ein konstantes Raster oder ein digitales Höhenmodell (DEM) verwenden. Lediglich ein Attributwert in der Verbindung variiert. Weitere Informationen zu D8-Fließrichtungs-Rastern finden Sie im Abschnitt zum Werkzeug Fließrichtung.
Die Werte für die optimale Ausgabeverbindung stellen die Anzahl der Verbindungen an einer gegebenen Position dar. Häufig folgen die Pfade derselben Route ab einer Quelle und verzweigen sich dann zu unterschiedlichen Zielen. Beispielsweise bedeutet der Wert 1, dass an einer gegebenen Position nur ein optimaler Pfad vorhanden ist, und der Wert 5 bedeutet, dass an dieser Position fünf optimale Pfade vorhanden sind, die durch diese Zelle im Untersuchungsgebiet verlaufen.
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.
Weitere Informationen zur Geoverarbeitung von Umgebungen mit diesem Werkzeug finden Sie unter Analyseumgebungen und Spatial Analyst.
Syntax
OptimalPathAsRaster(in_destination_data, in_distance_accumulation_raster, in_back_direction_raster, {destination_field}, {path_type})
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 |
destination_field (optional) | Das 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 |
Rückgabewert
Name | Erklärung | Datentyp |
out_path_accumulation_raster | Das Ausgabe-Raster. | Raster |
Codebeispiel
Das folgende Skript veranschaulicht die Verwendung des Werkzeugs OptimalPathAsRaster im Python-Fenster.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outOptimalRasPath = OptimalPathAsRaster("observers", "distAccum.tif", "backDir2", "IdField", "EACH_CELL")
outOptimalRasPath.save("c:/sapyexamples/output/bestpaths.tif")
Berechnet den kostengünstigsten Pfad von einer Quelle zu einem Ziel.
# Name: OptimalPathAsRaster_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"
distAccumRaster = "distAccum.tif"
backDir = "backDir2.tif"
destField = "FID"
pathType = "EACH_CELL"
# Execute CostPath
outOptimalRasPath = OptimalPathAsRaster(inDestination, distAccumRaster, backDir, destField,
pathType)
# Save the output
outOptimalRasPath.save("c:/sapyexamples/output/optimalraspath02.tif")
Umgebungen
Lizenzinformationen
- Basic: Erfordert Spatial Analyst
- Standard: Erfordert Spatial Analyst
- Advanced: Erfordert Spatial Analyst