Skip To Content

Kostenpfad als Polylinie

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

Abbildung

Abbildung zum Werkzeug "Kostenpfad als Polylinie"

Verwendung

  • Das Werkzeug Kostenpfad als Polylinie erzeugt ein Ausgabe-Polylinien-Feature, das die kostengünstigsten Routen von einer Quelle zum jeweils nächsten Ziel aufzeichnet, das innerhalb der akkumulativen Kostenoberfläche oder euklidischen Entfernungsoberfläche definiert wurde.

  • Vorhandene Ziel-Features können mit der Raster-Funktion Features rastern in einen Image-Service konvertiert werden. Verwenden Sie Ihr vorhandenes Kostenentfernungs-Raster als Raster-Eingabe für die Funktion zur Rasterung. Dadurch wird sichergestellt, dass die Features ordnungsgemäß in einen Image-Service konvertiert werden, wobei dieselbe Zellengröße, dieselbe Ausdehnung und derselbe Raumbezug verwendet werden.

  • Die NoData-Werte, die im Ziel-Raster vorhanden sind, sind nicht als gültige Werte in der Funktion enthalten. Der Wert 0 wird als legitimer Wert im Ziel-Raster betrachtet.

  • Zum Ausführen von Kostenpfad als Polylinie sind zwei Eingabe-Image-Services erforderlich. Wie Sie diese Eingaben generieren, hängt vom Typ der auszuführenden Analyse ab.

    • Bei der Kostenanalyse wird ein Kostenpfad generiert. Führen Sie die Raster-Funktionen Kostenrückverknüpfung und Kostenentfernung aus, um die erforderlichen Eingaben zu generieren.
    • Bei der euklidischen Analyse werden geradlinige Pfade und Pfade um Barrieren generiert. Führen Sie das Werkzeug Entfernung berechnen aus, um die euklidische Gegenrichtung und die euklidische Entfernung zu generieren. Alternativ können Sie auch die Raster-Funktionen Euklidische Gegenrichtung und Euklidische Entfernung ausführen.
    • Bei der Fließrichtungsanalyse werden Fließpfade generiert. Führen Sie die Raster-Funktion Fließrichtung mit der Option D8 aus. 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.
  • Der Ausgabe-Feature-Service enthält ein Feld mit der Bezeichnung "DestID", das angibt, zu welchem Ziel die einzelnen Linien führen.

  • Im Gegensatz zu den meisten Raster-Analysewerkzeugen ignoriert das Werkzeug Kostenpfad als Polylinie die folgenden Umgebungseinstellungen: Ausgabe-Koordinatensystem, Ausdehnung, Zellengröße und Fang-Raster. Das Muster des Rückverknüpfungs-Rasters würde signifikant geändert werden, wenn ein Resampling oder eine erneute Projektion durchgeführt würde. Dies würde einen falschen Pfad ergeben.

Syntax

CostPathAsPolyline(inputDestinationRasterOrFeatures, inputCostDistanceRaster, inputCostBacklinkRaster, outputPolylineName, {pathType}, {destinationField})
ParameterErklärungDatentyp
inputDestinationRasterOrFeatures

Ein Image-Service oder Feature-Service, der diejenigen Positionen identifiziert, von denen die kostengünstigste Route zur am wenigsten kostspieligen Quelle ermittelt wird.

Wenn die Eingabe ein Image-Service 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; Image Service; Feature Layer; String
inputCostDistanceRaster

Das Kostenentfernungs- oder euklidische Entfernungs-Raster, das verwendet werden soll, um die kostengünstigste Route von den Quellen zu den Zielen zu ermitteln.

Raster Layer; Image Service; String
inputCostBacklinkRaster

Der Name des Rasters, das verwendet wird, um die Route 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- oder Fließrichtungs-Raster gibt ein Wert den Nachbarn an, der sich in der nächsten Zelle auf dem Pfad von der Zelle zu einer Quellenzelle befindet.

Raster Layer; Image Service; String
outputPolylineName

Der Ausgabe-Feature-Service, der die kostengünstigste Route enthält.

String
pathType
(optional)

Gibt an, auf welche Weise die Werte und Zonen der Eingabezieldaten in den Kostenpfadberechnungen interpretiert werden.

  • BEST_SINGLEFür alle Zellen in den Eingabezieldaten wird die kostengünstigste Route aus der Zelle mit dem Minimum der kostengünstigsten Routen zu Quellenzellen abgeleitet.
  • EACH_ZONEFü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.
  • EACH_CELLFü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.
String
destinationField
(optional)

Das Feld, das verwendet werden soll, um Werte für die Zielpositionen zu erhalten.

Field

Abgeleitete Ausgabe

NameErklärungDatentyp
outputPolylineFeatures

Die Polylinien-Features.

Feature-Layer

Codebeispiel

CostPathAsPolyline – Beispiel 1 (Python-Fenster)

Das folgende Skript im Python-Fenster veranschaulicht, wie Sie die Funktion CostPathAsPoyline verwenden.

import arcpy

arcpy.CostPathAsPolyline_ra(
    "https://myserver/rest/services/sources/ImageServer", 
    "https://myserver/rest/services/costsurface/ImageServer", 
    "https://myserver/rest/services/destination/ImageServer", 
    "outpath", "BEST_SINGLE")
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: ArcGIS Image Server

# Import system modules
import arcpy

# Set local variables
inputSourceLayer =
    'https://MyPortal.esri.com/server/rest/services/Hosted/sources/ImageServer'
inputCostLayer =
    'https://MyPortal.esri.com/server/rest/services/Hosted/costraster/ImageServer'
inputDestinationLayer = 
    'https://MyPortal.esri.com/server/rest/services/Hosted/destinationras/ImageServer'
outputName = 'outTravelPaths'
pathType = 'BEST_SINGLE'

arcpy.CostPathAsPolyline_ra(inputSourceLayer, inputCostLayer,
                            inputDestinationLayer, outputName, pathType)

Lizenzinformationen

  • Basic: Erfordert ArcGIS Image Server
  • Standard: Erfordert ArcGIS Image Server
  • Advanced: Erfordert ArcGIS Image Server

Verwandte Themen