Mit der Spatial Analyst-Lizenz verfügbar.
Zusammenfassung
Berechnet den kostengünstigsten Pfad von einer Quelle zu einem Ziel als Linien-Feature.
Weitere Informationen zur Erstellung der kostengünstigsten Route
Verwendung
Das Werkzeug Kostenpfad als Polylinie erzeugt ein Ausgabe-Polylinien-Feature, das die kostengünstigste(n) Route(n) von einer Quelle zum jeweils nächsten Ziel aufzeichnet, das 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 als Polylinie ausgeführt werden, um das Eingabe-Kostenentfernungs- und -Rückverknüpfungs-Raster zu erstellen. Dies sind erforderliche Eingabe-Raster für Kostenpfad als Polylinie.
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.
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, 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 CELL_CENTER 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.
Das Ausgabe-Polylinien-Feature weist ein Feld mit der Bezeichnung "DestID" auf, das angibt, zu welchem Ziel jede einzelne Linie führt. 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.
Kostenpfad als Polylinie 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 als Polylinie kann zur Ermittlung des Fließpfades basierend auf der D8-Fließrichtung verwendet werden. Um Kostenpfad als Polylinie 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.
Mit Kostenpfad als Polylinie kann, basierend auf dem von den euklidischen Werkzeugen generierten Ausgabe-Gegenrichtungs-Raster, ein Pfad um Barrieren ermittelt werden. Wenn Kostenpfad als Polylinie auf diese Weise verwendet werden soll, führen Sie zunächst ein beliebiges euklidisches Werkzeug mit definierten Eingabe-Raster- oder -Feature-Barriere-Daten aus, um das Ausgabe-Entfernungs-Raster und Ausgabe-Gegenrichtungs-Raster zu generieren. Verwenden Sie die von den euklidischen Werkzeugen generierten Ausgaben als Eingabe für Kostenpfad als Polylinie.
Weitere Informationen zur Geoverarbeitung von Umgebungen mit diesem Werkzeug finden Sie unter Analyseumgebungen und Spatial Analyst.
Syntax
CostPathAsPolyline(in_destination_data, in_cost_distance_raster, in_cost_backlink_raster, out_polyline_features, {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, 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_cost_distance_raster | Das Kostenentfernungs-Raster, das verwendet werden soll, um die kostengünstigste Route von den Quellen zu den Zielen 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 | Das Kosten-Rückverknüpfungs-Raster, das verwendet wird, um den Pfad zur Rückkehr zu einer Quelle über die kostengünstigste oder kürzeste Route zu ermitteln. Für jede Zelle in einem Rückverknüpfungs-, Gegenrichtungs- oder Fließrichtungs-Raster gibt der Wert den Nachbarn an, der sich in der nächsten Zelle auf dem Pfad von dieser Zelle zu einer Quellenzelle befindet. | Raster Layer |
out_polyline_features | Die Ausgabe-Feature-Class, die die kostengünstigste Route enthält. | Feature Class |
path_type (optional) | Gibt ein Schlüsselwort an, 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 |
Codebeispiel
CostPathAsPolyline – Beispiel 1 (Python-Fenster)
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"
CostPathAsPolyline("observers", "costdistraster", "backlink2", "c:/sapyexamples/output/outcostpth01.shp")
CostPathAsPolyline – Beispiel 2 (eigenständiges Skript)
Berechnet den kostengünstigsten Pfad von einer Quelle zu einem Ziel.
# Name: CostPathAsPolyline_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"
inCostDistRaster = "costdistraster"
inBacklink = "backlink2"
outCostPathFeat = "c:/sapyexamples/output.gdb/outcostpathfeat02"
method = "EACH_CELL"
destField = "FID"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute
CostPathAsPolyline(inDestination, inCostDistRaster, inBacklink,
outCostPathFeat, method, destField)
Umgebungen
Lizenzinformationen
- Basic: Erfordert Spatial Analyst
- Standard: Erfordert Spatial Analyst
- Advanced: Erfordert Spatial Analyst