Mit der Spatial Analyst-Lizenz verfügbar.
Zusammenfassung
Berechnet den kostengünstigsten Pfad von einer Quelle zu einem Ziel.
Weitere Informationen zur Erstellung der kostengünstigsten Route
Verwendung
Das Werkzeug Kostenpfad erzeugt ein Ausgabe-Raster, das die kostengünstigste(n) Route(n) von ausgewählten Positionen zur nächsten Quellenzelle aufzeichnet, die innerhalb der akkumulativen Kosten-Oberfläche definiert wurde (hinsichtlich der Kostenentfernung).
Im Allgemeinen muss mindestens ein Werkzeug für gewichtete Kosten (Kostenentfernung, Kostenrückverknüpfung oder Kostenzuordnung) vor der Ausführung von Kostenpfad ausgeführt werden, um das Eingabe-Kostenentfernungs- und -Rückverknüpfungs-Raster zu erstellen. Dies sind erforderliche Eingabe-Raster für Kostenpfad.
Jeder kostengünstigsten Route wird ein Wert zugewiesen, wenn sie beim Scanvorgang gefunden wird. Die Endzelle im ursprünglichen Quell-Raster (aus dem Kostenentfernung und Rückverknüpfung abgeleitet wurden) eines Kostenpfades erhält den Wert 1, der erste Pfad den Wert 3, der zweite den Wert 4 usw. Der Wert 2 ist für den zusammengeführten Teil von Routen reserviert, die Teile eines allgemeinen Kostenpfades enthalten.
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 problemlos mit den Extraktionswerkzeugen erstellt werden.
Wenn die Quelleingabe ein Feature ist, wird standardmäßig das erste gültige verfügbare Feld verwendet. Sind keine gültigen Felder vorhanden, wird das ObjectID-Feld verwendet (z. B. OID oder FID, abhängig vom Typ der Feature-Eingabe).
Bei der Verwendung von Polygon-Feature-Daten für Eingabe-Feature-Ziele muss auf den Umgang mit der Größe der Ausgabezelle geachtet werden, wenn diese grob relativ zu dem in der Eingabe vorhandenen Detail ist. Im internen Rasterungsprozess, der auf das Werkzeug Polygon in Raster zugreift, lautet die Standardeinstellung für den Zellenzuweisungstyp CELL_CENTER. Das bedeutet, dass Daten, die sich nicht am Zellmittelpunkt befinden, nicht in die vorläufige, gerasterte Zielausgabe aufgenommen und folglich 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 die meisten anderen 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.
Wenn mehrere Pfade zusammenlaufen und für die verbleibende Entfernung zurück zu einer Quelle dieselbe Route verwenden, wird dem Segment, in dem die beiden Pfade zusammen verlaufen, der Wert 2 zugewiesen. Dem zusammengeführten Teil des Pfades kann nicht der Wert eines der Pfade zugewiesen werden, da der zusammengeführte Teil zu beiden Routen gehört.
Kostenpfad ignoriert die Umgebungseinstellung Zellengröße und verwendet die Zellengröße des Eingabe-Kosten-Rückverknüpfungs-Rasters für das Ausgabe-Raster. 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.
Kostenpfad kann zur Ermittlung des Fließpfades basierend auf der D8-Fließrichtung verwendet werden. Um Kostenpfad auf diese Weise zu verwenden, verwenden Sie ein D8-Fließrichtungs-Raster als Eingabe für das Eingabe-Kosten-Rückverknüpfungs-Raster. Sie müssen auch ein Eingabe-Kostenentfernungs-Raster bereitstellen. Das Eingabe-Kostenentfernungs-Raster dient nicht zur Ermittlung des Pfades. Der Pfad bleibt gleich, unabhängig davon, ob Sie ein konstantes Raster oder ein digitales Höhenmodell (DEM) verwenden. Lediglich ein Attributwert im Pfad variiert. Weitere Informationen zu D8-Fließrichtungs-Rastern finden Sie im Abschnitt zum Werkzeug Fließrichtung.
Wenn es sich bei den Eingabezieldaten um ein Feature handelt, müssen sie mindestens ein gültiges Feld enthalten.
Bei Fließrichtungs-Konvention für Rückverknüpfungs-Raster erzwingen handelt es sich um einen neuen Parameter, mit dem bei Aktivierung erzwungen wird, dass das Eingabe-Kosten-Rückverknüpfungs-Raster als Fließrichtungs-Raster behandelt wird. Für den Zugriff auf diesen Parameter müssen Sie das ArcGIS (Desktop, Engine, Server) 10.7.1 Spatial Analyst Patch von der Seite Downloads des technischen Supports von Esri herunterladen und installieren.
Weitere Informationen zur Geoverarbeitung von Umgebungen mit diesem Werkzeug finden Sie unter Analyseumgebungen und Spatial Analyst.
Syntax
CostPath(in_destination_data, in_cost_distance_raster, in_cost_backlink_raster, {path_type}, {destination_field}, {force_flow_direction_convention})
Parameter | Erklärung | Datentyp |
in_destination_data | Ein Raster- oder Feature-Dataset, das diejenigen Zellen identifiziert, von denen die kostengünstigste Route zur am wenigsten kostspieligen Quelle ermittelt wird. Wenn die Eingabe ein Raster ist, besteht die Eingabe aus Zellen mit gültigen Werten (0 ist ein gültiger Wert), und den restlichen Zellen muss "NoData" zugewiesen werden. | Raster Layer; Feature Layer |
in_cost_distance_raster | Der Name eines Kostenentfernungs-Rasters, das verwendet werden soll, um die kostengünstigste Route von den Zielpositionen zu einer Quelle zu ermitteln. Das Kostenentfernungs-Raster wird normalerweise mit den Werkzeugen Kostenentfernung, Kostenzuordnung oder Kostenrückverknüpfung erstellt. Das Kostenentfernungs-Raster speichert für jede Zelle die minimale akkumulative Kostenentfernung über eine Kostenoberfläche von jeder Zelle zu einer Menge von Quellenzellen. | Raster Layer |
in_cost_backlink_raster | Der Name eines Kosten-Rückverknüpfungs-Rasters, das verwendet wird, um die Route zur Rückkehr zu einer Quelle über die kostengünstigste Route zu ermitteln. Für jede Zelle im Rückverknüpfungs-Raster gibt ein Wert den Nachbarn an, also die nächste Zelle auf der Route mit den geringsten akkumulativen Kosten von der Zelle zu einer einzelnen Quellenzelle oder einer Menge von Quellenzellen. | Raster Layer |
path_type (optional) | Ein Schlüsselwort, das die Art und Weise definiert, in der die Werte und Zonen der Eingabezieldaten in den Kostenpfadberechnungen interpretiert werden.
| String |
destination_field (optional) | Das Feld, das verwendet wird, um Werte für die Zielpositionen zu erhalten. Eingabe-Feature-Daten müssen mindestens ein gültiges Feld enthalten. | Field |
force_flow_direction_convention (optional) | Zwingt das Werkzeug, das Eingabe-Rückverknüpfungs-Raster als Fließrichtungs-Raster zu behandeln. Fließrichtungs-Raster können ganzzahlige Werte zwischen 0 und 255 enthalten.
| Boolean |
Rückgabewert
Name | Erklärung | Datentyp |
out_raster | Das Ausgabe-Kostenpfad-Raster. Das Ausgabe-Raster ist ganzzahlig. | Raster |
Codebeispiel
CostPath – Beispiel 1 (Python-Fenster)
Das folgende Skript im Python-Fenster veranschaulicht die Verwendung des Werkzeugs CostPath.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outCostPath = CostPath("observers", "costraster", "backlink2", "EACH_CELL")
outCostPath.save("c:/sapyexamples/output/costpath")
CostPath – Beispiel 2 (eigenständiges Skript)
Berechnet den kostengünstigsten Pfad von einer Quelle zu einem Ziel.
# Name: CostPath_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"
costRaster = "costraster"
backLink = "backlink2"
method = "EACH_CELL"
destField = "FID"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute CostPath
outCostPath = CostPath(inDestination, costRaster, backLink, method,
destField)
# Save the output
outCostPath.save("c:/sapyexamples/output/costpath02")
Umgebungen
Lizenzinformationen
- Basic: Erfordert Spatial Analyst
- Standard: Erfordert Spatial Analyst
- Advanced: Erfordert Spatial Analyst