Kostenpfad (Spatial Analyst)

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 Zellenmittelpunkt. 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.

    Beispiel für die Option "Jede Zone" mit zusammengeführten Pfaden
    Beispiel für die Option "Jede Zone" mit zusammengeführten Pfaden
  • 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.

  • 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})
ParameterErklärungDatentyp
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.

  • EACH_CELL Für jede Zelle mit gültigen Werten in den Eingabezieldaten wird eine kostengünstigste Route ermittelt und im Ausgabe-Raster gespeichert. Mit dieser Option wird jede Zelle der Eingabezieldaten separat behandelt und eine kostengünstigste Route für jede Zelle ermittelt.
  • EACH_ZONE Für jede Zone in den Eingabezieldaten wird eine kostengünstigste Route ermittelt und im Ausgabe-Raster gespeichert. Bei dieser Option beginnt die kostengünstigste Route für jede Zone bei der Zelle mit der niedrigsten Kostenentfernungsgewichtung in der Zone.
  • BEST_SINGLE Für alle Zellen in den Eingabezieldaten wird die kostengünstigste Route aus der Zelle mit dem Minimum der kostengünstigsten Routen zu Quellenzellen abgeleitet.
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.

  • INPUT_RANGEDas in_cost_backlink_raster wird abhängig vom Wertebereich und abhängig davon, ob ganzzahlige oder Gleitkommawerte vorliegen, unterschiedlich interpretiert. Für den Wertebereich von 0–8 wird das in_cost_backlink_raster als Rückverknüpfungs-Raster behandelt. Für den Wertebereich von 0–255 und ganze Zahlen wird das in_cost_backlink_raster als Fließrichtungs-Raster behandelt. Für den Wertebereich von 0–360 und Gleitkommawerte wird das in_cost_backlink_raster als Gegenrichtungs-Raster behandelt.
  • FLOW_DIRECTIONDas für das in_cost_backlink_raster angegebene Raster wird als Fließrichtungs-Raster behandelt. Dies ist erforderlich, wenn das Fließrichtungs-Raster einen Höchstwert von 8 oder einen geringeren Wert aufweist.
Boolean

Rückgabewert

NameErklärungDatentyp
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"
costDistanceRaster = "costdistraster"
backLink = "backlink2"
method = "EACH_CELL"
destField = "FID"

# Execute CostPath
outCostPath = CostPath(inDestination, costDistanceRaster, backLink, method,
                       destField)

# Save the output 
outCostPath.save("c:/sapyexamples/output/costpath02")

Lizenzinformationen

  • Basic: Erfordert Spatial Analyst
  • Standard: Erfordert Spatial Analyst
  • Advanced: Erfordert Spatial Analyst

Verwandte Themen