Kostenentfernung (Spatial Analyst)

Mit der Spatial Analyst-Lizenz verfügbar.

Zusammenfassung

Berechnet für jede Zelle die kleinste akkumulative Kostenentfernung von oder zur kostengünstigsten Quelle auf einer Kostenoberfläche.

Vorversion:

Dieses Werkzeug ist veraltet und wird in einer zukünftigen Version entfernt.

Das Werkzeug Entfernungsakkumulation bietet eine erweiterte Funktionalität und Performance.

Weitere Informationen zur Funktionsweise der Kostenentfernungswerkzeuge

Abbildung

Abbildung: Kostenentfernung
Cost_Dist = CostDistance(Source_Ras, Cost_Ras)

Verwendung

  • Die Eingabequelldaten können eine Feature-Class oder ein Raster sein. Die Feature-Class kann ein Punkt, eine Linie oder ein Polygon sein.

  • Wenn es sich bei den Eingabequelldaten um ein Raster handelt, besteht die Menge der Quellzellen aus allen Zellen im Quell-Raster, die über gültige Werte verfügen. Zellen mit NoData-Werten sind nicht in der Quellmenge enthalten. Der Wert 0 wird als legitime Quelle verwendet. Ein Quell-Raster kann mit den Extraktionswerkzeugen erstellt werden.

  • Wenn die Eingabequelldaten eine Feature-Class sind, werden die Quellenpositionen intern in ein Raster konvertiert, bevor die Analyse ausgeführt wird. Die Auflösung des Rasters kann mithilfe der Umgebung der Zellengröße gesteuert werden. Standardmäßig wird als Auflösung die Auflösung des Eingabe-Kosten-Rasters festgelegt.

  • Bei der Verwendung von Feature-Daten als Eingabequelldaten muss auf den Umgang mit der Größe der Ausgabezelle geachtet werden, wenn diese, relativ zu dem in der Eingabe vorhandenen Detail, grob ist. Der interne Rasterungsprozess verwendet den gleichen Wert für den Zellenzuweisungstyp wie das Werkzeug Feature in Raster, nämlich die Methode "Zellenmittelpunkt". Das bedeutet, dass Daten, die sich nicht am Zellenmittelpunkt befinden, nicht in die vorläufige, gerasterte Quellausgabe aufgenommen und folglich nicht in den Entfernungsberechnungen dargestellt werden. Wenn die Quellen beispielsweise aus einer Serie kleiner Polygone bestehen (z. B. Gebäudegrundrisse), die in Relation zur Ausgabezellengröße klein sind, kann es sein, dass nur einige 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 aus den Eingabe-Features erfasst wird.

  • 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).

  • Zellenpositionen mit dem Wert "NoData" im Wert des Parameters Eingabe-Kosten-Raster fungieren in den Kostenoberflächenwerkzeugen als Barrieren. Jede Zellenposition, der auf der Eingabekostenoberfläche der Wert "NoData" zugewiesen ist, erhält in allen Ausgabe-Rastern (Kostenentfernung, Zuordnung und Rückverknüpfung) NoData-Werte.

  • Der Wert des Parameters Maximale Entfernung wird in den gleichen Kosteneinheiten wie im Kosten-Raster angegeben.

  • Für das Ausgabe-Entfernungs-Raster ist die kostengünstigste Entfernung (oder minimale akkumulative Kostenentfernung) einer Zelle von oder zu einer Reihe von Quellenpositionen die Untergrenze der kostengünstigsten Entfernungen von der Zelle zu allen Quellenpositionen.

  • Das Kosten-Raster kann Werte von 0 enthalten, da der Algorithmus ein multiplikativer Prozess ist. Wenn das Kosten-Raster Werte von 0 enthält und diese Werte Gebiete mit den niedrigsten Kosten darstellen, ändern Sie die Werte von 0 in einen kleinen positiven Wert (z. B. 0,01), bevor Sie Kostenentfernung ausführen. Führen Sie dazu zuerst das Werkzeug If-Else-Bedingungen aus. Wenn Flächen mit dem Wert 0 Bereiche darstellen, die von der Analyse ausgeschlossen werden sollen, sollten diese Werte vor dem Ausführen von Kostenentfernung in "NoData" geändert werden, indem Sie zuerst das Werkzeug Auf NULL setzen ausführen.

  • Die Eigenschaften der Quelle oder die Reisenden von oder zu einer Quelle können durch bestimmte Parameter gesteuert werden. Mit dem Parameter Quellkostenmultiplikator werden die Reisekosten oder die Magnitude an der Quelle angegeben, mit Quellstartkosten werden die Startkosten vor Beginn der Bewegung festgelegt, die Quellresistenzrate ist eine dynamische Anpassung unter Berücksichtigung der Auswirkungen der Gesamtkosten, z. B. die Simulation der Ermüdung eines Wanderers, und mit Quellkapazität wird festgelegt, wie hoch die Kosten sind, die eine Quelle angleichen kann, bevor die Grenze erreicht wird. Mit Reiserichtung wird ermittelt, ob der Reisende an einer Quelle startet und zu Nicht-Quellenpositionen reist oder an anderen Nicht-Quellenpositionen startet und zurück zu einer Quelle reist.

  • Wenn der Parameter Quellstartkosten festgelegt ist und Reiserichtung Von Quelle reisen entspricht, werden die Quellenpositionen der Ausgabe-Kostenentfernungsoberfläche auf den Wert Quellstartkosten gesetzt; andernfalls werden die Quellenpositionen der Ausgabe-Kostenentfernungsoberfläche auf Null eingestellt.

  • Wenn einer der Parameter der Quelleneigenschaften anhand eines Feldes festgelegt wird, wird die Quelleneigenschaft je nach Quelle und entsprechend den Informationen, die in diesem Feld für die Quelldaten angegeben sind, angewendet. Wenn ein Schlüsselwort oder ein konstanter Wert angegeben ist, wird er auf alle Quellen angewendet.

  • Die standardmäßige Verarbeitungsausdehnung für dieses Werkzeug ist der Wert des Parameters Eingabe-Kosten-Raster.

  • Dieses Werkzeug unterstützt die parallele Verarbeitung. Wenn Ihr Computer mit mehreren Prozessoren oder mit Prozessoren, die mehrere Kerne haben, ausgestattet ist, kann eine höhere Leistung erzielt werden, vor allem bei größeren Datasets. Weitere Informationen zu dieser Funktion sowie zu den Konfigurationsmöglichkeiten finden Sie im Hilfethema Parallele Verarbeitung mit Spatial Analyst.

    Beim Einsatz von paralleler Verarbeitung werden für die Verwaltung der zu verarbeitenden Daten-Chunks temporäre Daten generiert. Der Standardordner für temporäre Daten befindet sich auf dem lokalen Laufwerk C:. Sie können den Speicherort ändern, indem Sie eine Systemumgebungsvariable mit dem Namen "TempFolders" einrichten und den Pfad zum gewünschten Ordner angeben (z. B. E:\RasterCache). Wenn Sie über Admin-Berechtigungen für Ihren Computer verfügen, können Sie dies auch mit einem Registrierungsschlüssel (z. B. [HKEY_CURRENT_USER\SOFTWARE\ESRI\ArcGISPro\Raster]) tun.

    Das Werkzeug verwendet standardmäßig 50 % der verfügbaren Kerne. Wenn die Eingabedaten aus weniger als 5.000 mal 5.000 Zellen bestehen, können weniger Kerne verwendet werden. Sie können die Anzahl der Kerne, die das Werkzeug verwendet, mit der Umgebung Faktor für parallele Verarbeitung ändern.

  • Wenn das Ausgabe-Raster-Format .crf lautet, wird in diesem Werkzeug die Raster-Speicherumgebung Pyramide unterstützt. In der Ausgabe werden standardmäßig Pyramiden erstellt. Bei anderen Ausgabeformaten wird diese Umgebung nicht unterstützt, und es werden keine Pyramiden erstellt.

  • Weitere Informationen zu den Geoverarbeitungsumgebungen für dieses Werkzeug finden Sie unter Analyseumgebungen und Spatial Analyst.

Parameter

BeschriftungErläuterungDatentyp
Eingabe-Raster oder Feature-Quelldaten

Die Eingabequellenpositionen.

Dies ist ein Raster oder Feature (Punkt, Linie oder Polygon), das die Zellen oder Positionen identifiziert, die zum Berechnen der kostengünstigsten Entfernung für jede Ausgabezellenposition verwendet werden.

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

Raster Layer; Feature Layer
Eingabe-Kosten-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 ganzzahlig oder mit Gleitkomma sein, sie dürfen jedoch nicht negativ oder 0 sein (negative oder keine Kosten sind nicht zulässig).

Raster Layer
Maximale Entfernung
(optional)

Der 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 ist die Ausdehnung, für die akkumulative Kostenentfernungen berechnet werden.

Die Standardentfernung ist bis zur Kante des Ausgabe-Rasters.

Double
Ausgabe-Rückverknüpfungs-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
Multiplikator zum Anwenden von Kosten
(optional)

Der Multiplikator, der auf die Kostenwerte angewendet wird.

Dieser ermöglicht die Steuerung des Reisemodus oder der Magnitude an einer Quelle. Je größer der Multiplikator, desto höher sind die Kosten, um sich von einer Zelle zur anderen zu bewegen.

Die Werte müssen größer als Null sein. Die Standardeinstellung ist 1.

Double; Field
Startkosten
(optional)

Die Startkosten, mit denen die Kostenberechnungen beginnen.

Ermöglicht die Festlegung der Fixkosten, die mit einer Quelle verknüpft sind. Der Kostenalgorithmus beginnt mit dem durch die Startkosten festgelegten Wert statt mit einem Kostenwert von Null.

Die Werte müssen größer gleich 0 sein. Die Standardeinstellung ist 0.

Double; Field
Akkumulative Kostenresistenzrate
(optional)

Dieser Parameter simuliert den steigenden Aufwand zur Vermeidung von Kosten bei steigenden akkumulativen Kosten. Dies dient zur Modellierung der Müdigkeit des Reisenden. Die zunehmenden akkumulativen Kosten zur Erreichung einer Zelle werden mit der Resistenzrate multipliziert und den Kosten für die Bewegung in die nachfolgende Zelle hinzugefügt.

Dies ist die geänderte Version einer zusammengesetzten Formel zur Berechnung des Zinssatzes, anhand derer die offensichtlichen Kosten beim Reisen durch eine Zelle berechnet werden. Mit steigendem Wert der Resistenzrate erhöhen sich auch die Kosten der später besuchten Zellen. Je größer die Resistenzrate, desto höher sind die zusätzlichen Kosten zur Erreichung der nächsten Zelle, die für jede nachfolgende Bewegung zusammengefasst werden. Da die Resistenzrate mit der Gesamtrate vergleichbar ist und die akkumulativen Kostenwerte im Allgemeinen sehr hoch sind, werden, je nach akkumulativen Kostenwerten, geringe Resistenzraten wie 0,02 und 0,005 oder noch kleiner vorgeschlagen.

Die Werte müssen größer gleich 0 sein. Die Standardeinstellung ist 0.

Double; Field
Kapazität
(optional)

Die Kostenkapazität für den Reisenden für eine Quelle.

Die Kostenberechnungen werden für jede Quelle fortgesetzt, bis die angegebene Kapazität erreicht ist.

Die Werte müssen größer als Null sein. Die Standardkapazität reicht bis zur Kante des Ausgabe-Rasters.

Double; Field
Reiserichtung
(optional)

Gibt die Richtung des Reisenden bei Anwendung der Quellresistenzrate und der Quellstartkosten an.

Wenn Sie die Option Zeichenfolge auswählen, können Sie zwischen Von- und Zu-Optionen auswählen, die auf alle Quellen angewendet werden.

Bei Auswahl der Option Feld kann das Feld aus den Quelldaten ausgewählt werden, anhand derer die für jede Quelle zu verwendende Richtung festgelegt wird. Das Feld muss die Textzeichenfolge FROM_SOURCE oder TO_SOURCE enthalten.

  • Von Quelle reisenDie Quellresistenzrate und die Quellstartkosten werden an der Eingabequelle beginnend und in Richtung Nicht-Quellenzellen angewendet. Dies ist die Standardeinstellung.
  • Zu Quelle reisenDie Quellresistenzrate und die Quellstartkosten werden an jeder Nicht-Quellenzelle beginnend und zurück zur Eingabequelle angewendet.
String; Field

Rückgabewert

BeschriftungErläuterungDatentyp
Ausgabe-Entfernungs-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

CostDistance(in_source_data, in_cost_raster, {maximum_distance}, {out_backlink_raster}, {source_cost_multiplier}, {source_start_cost}, {source_resistance_rate}, {source_capacity}, {source_direction})
NameErläuterungDatentyp
in_source_data

Die Eingabequellenpositionen.

Dies ist ein Raster oder Feature (Punkt, Linie oder Polygon), das die Zellen oder Positionen identifiziert, die zum Berechnen der kostengünstigsten Entfernung für jede Ausgabezellenposition verwendet werden.

Bei Rastern kann der Eingabetyp ein ganzzahliges 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 ganzzahlig oder mit Gleitkomma sein, sie dürfen jedoch nicht negativ oder 0 sein (negative oder keine Kosten sind nicht zulässig).

Raster Layer
maximum_distance
(optional)

Der 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 ist 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
source_cost_multiplier
(optional)

Der Multiplikator, der auf die Kostenwerte angewendet wird.

Dieser ermöglicht die Steuerung des Reisemodus oder der Magnitude an einer Quelle. Je größer der Multiplikator, desto höher sind die Kosten, um sich von einer Zelle zur anderen zu bewegen.

Die Werte müssen größer als Null sein. Die Standardeinstellung ist 1.

Double; Field
source_start_cost
(optional)

Die Startkosten, mit denen die Kostenberechnungen beginnen.

Ermöglicht die Festlegung der Fixkosten, die mit einer Quelle verknüpft sind. Der Kostenalgorithmus beginnt mit dem durch source_start_cost festgelegten Wert statt mit einem Kostenwert von Null.

Die Werte müssen größer gleich 0 sein. Die Standardeinstellung ist 0.

Double; Field
source_resistance_rate
(optional)

Dieser Parameter simuliert den steigenden Aufwand zur Vermeidung von Kosten bei steigenden akkumulativen Kosten. Dies dient zur Modellierung der Müdigkeit des Reisenden. Die zunehmenden akkumulativen Kosten zur Erreichung einer Zelle werden mit der Resistenzrate multipliziert und den Kosten für die Bewegung in die nachfolgende Zelle hinzugefügt.

Dies ist die geänderte Version einer zusammengesetzten Formel zur Berechnung des Zinssatzes, anhand derer die offensichtlichen Kosten beim Reisen durch eine Zelle berechnet werden. Mit steigendem Wert der Resistenzrate erhöhen sich auch die Kosten der später besuchten Zellen. Je größer die Resistenzrate, desto höher sind die zusätzlichen Kosten zur Erreichung der nächsten Zelle, die für jede nachfolgende Bewegung zusammengefasst werden. Da die Resistenzrate mit der Gesamtrate vergleichbar ist und die akkumulativen Kostenwerte im Allgemeinen sehr hoch sind, werden, je nach akkumulativen Kostenwerten, geringe Resistenzraten wie 0,02 und 0,005 oder noch kleiner vorgeschlagen.

Die Werte müssen größer gleich 0 sein. Die Standardeinstellung ist 0.

Double; Field
source_capacity
(optional)

Die Kostenkapazität für den Reisenden für eine Quelle.

Die Kostenberechnungen werden für jede Quelle fortgesetzt, bis die angegebene Kapazität erreicht ist.

Die Werte müssen größer als Null sein. Die Standardkapazität reicht bis zur Kante des Ausgabe-Rasters.

Double; Field
source_direction
(optional)

Gibt die Richtung des Reisenden bei Anwendung der Quellresistenzrate und der Quellstartkosten an.

  • FROM_SOURCEDie Quellresistenzrate und die Quellstartkosten werden an der Eingabequelle beginnend und in Richtung Nicht-Quellenzellen angewendet. Dies ist die Standardeinstellung.
  • TO_SOURCEDie Quellresistenzrate und die Quellstartkosten werden an jeder Nicht-Quellenzelle beginnend und zurück zur Eingabequelle angewendet.

Geben Sie das Schlüsselwort FROM_SOURCE bzw. TO_SOURCE an, das auf alle Quellen angewendet wird. Alternativ können Sie in den Quelldaten ein Feld mit den Schlüsselwörtern festlegen, um die Reiserichtung für jede Quelle zu ermitteln. Dieses Feld muss die Zeichenfolge FROM_SOURCE oder TO_SOURCE enthalten.

String; Field

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", "", "backlink", "Multiplier", "StartCost", "Resistance", 500000)
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"

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

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

Lizenzinformationen

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

Verwandte Themen