Kostenentfernung (Spatial Analyst)

Zusammenfassung

Berechnet für jede Zelle die kleinste akkumulative Kostenentfernung zur nächstgelegenen Quelle auf einer Kostenoberfläche.

Weitere Informationen zur Funktionsweise der Kostenentfernungswerkzeuge

Abbildung

Abbildung: Kostenentfernung
Cost_Dist = CostDistance(Source_Ras, Cost_Ras)

Verwendung

Syntax

CostDistance (in_source_data, in_cost_raster, {maximum_distance}, {out_backlink_raster})
ParameterErläuterungDatentyp
in_source_data

Die Eingabequellenpositionen.

Dies ist ein Raster oder ein Feature-Dataset, das die Zellen oder Positionen identifiziert, für die die Entfernung mit den geringsten akkumulativen Kosten jeder Ausgabezellenposition berechnet wird.

Bei Rastern kann der Eingabetyp ein Ganzzahl- oder Gleitkomma-Raster sein.

Raster Layer | Feature Layer
in_cost_raster

Ein Raster, das die Impedanz oder die Kosten für eine planimetrische Bewegung durch jede Zelle definiert.

Der Wert an jeder Zellenposition stellt die Kosten pro Einheitenentfernung für die Bewegung durch die Zelle dar. Jeder Zellenpositionswert wird mit der Zellenauflösung multipliziert, und gleichzeitig werden diagonale Bewegungen ausgeglichen, um die Gesamtkosten für die Bewegung durch die Zelle zu erhalten.

Die Werte im Kosten-Raster können Ganzzahl- oder Gleitkommawerte sein, sie dürfen jedoch nicht negativ oder 0 sein (negative oder keine Kosten sind nicht zulässig).

Raster Layer
maximum_distance
(optional)

Definiert den Schwellenwert, den die akkumulativen Kostenwerte nicht überschreiten dürfen.

Wenn ein akkumulativer Kostenentfernungswert diesen Wert überschreitet, lautet der Ausgabewert für die Zellenposition "NoData". Die maximale Entfernung definiert die Ausdehnung, für die akkumulative Kostenentfernungen berechnet werden.

Die Standardentfernung ist bis zur Kante des Ausgabe-Rasters.

Double
out_backlink_raster
(optional)

Das Ausgabe-Raster für Kostenrückverknüpfungen.

Das Rückverknüpfungs-Raster enthält Werte von 0 bis 8. Mit diesen Werten wird die Richtung definiert oder die nächste angrenzende Zelle (die nachfolgende Zelle) entlang dem kleinsten akkumulativen Kostenpfad von einer Zelle zu ihrer kostengünstigsten Quelle identifiziert.

Wenn der Pfad in die rechte benachbarte Zelle übergeht, wird der Zelle der Wert 1 zugeordnet, gefolgt von 2 für die diagonal rechts unten angeordnete Zelle. Die folgenden Zellen werden im Uhrzeigersinn nummeriert. Der Wert 0 ist für die Quellenzellen reserviert.

Rückverknüpfungs-Positionen
Raster Dataset

Rückgabewert

NameErläuterungDatentyp
out_distance_raster

Das Ausgabe-Raster für die Kostenentfernung.

Das Kostenentfernungs-Raster gibt für jede Zelle die geringste akkumulative Kostenentfernung über die Kostenoberfläche zu den festgelegten Quellenpositionen an.

Eine Quelle kann eine Zelle, ein Satz von Zellen oder eine bzw. mehrere Feature-Positionen sein.

Das Ausgabe-Raster ist ein Gleitkomma-Raster.

Raster

Codebeispiel

CostDistance – Beispiel 1 (Python-Fenster)

Das folgende Skript im Python-Fenster veranschaulicht die Verwendung des Werkzeugs CostDistance.

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outCostDist = CostDistance("source.shp", "elevation", 200000, "backlink")
outCostDist.save("C:/sapyexamples/output/costdist")
CostDistance – Beispiel 2 (eigenständiges Skript)

Berechnen Sie das Entfernungs-Raster mit den geringsten akkumulierten Kosten aus Quellenpositionen von Punkt-Shapefiles.

# Name: CostDistance_Ex_02.py
# Description: Calculates for each cell the least accumulative cost distance
#    to the nearest source over a cost  surface. 
# 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
inSourceData = "source.shp"
inCostRaster = "elevation"
maxDistance = 20000000   
outBkLinkRaster = "C:/sapyexamples/output/outbklink"

# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")

# Execute CostDistance
outCostDistance = CostDistance(inSourceData, inCostRaster, maxDistance, outBkLinkRaster)

# Save the output 
outCostDistance.save("C:/sapyexamples/output/outcostdist")

Umgebungen

Verwandte Themen

Lizenzinformationen

ArcView: Erfordert Spatial Analyst
ArcEditor: Erfordert Spatial Analyst
ArcInfo: Erfordert Spatial Analyst

7/10/2012