Zusammenfassung
Berechnet den kostengünstigsten Pfad von einer Quelle zu einem Ziel als Linien-Feature.
Weitere Informationen zur Erstellung der kostengünstigsten Route
Abbildung
Verwendung
Dieses Portal-Werkzeug für die Raster-Analyse ist verfügbar, wenn Sie bei einem ArcGIS Enterprise -Portal mit einem konfigurierten ArcGIS Image Server für die Raster Analysis angemeldet sind. Beim Aufruf des Werkzeugs dient ArcGIS Pro als Client. Die Verarbeitung erfolgt auf den Servern, die mit ArcGIS Enterprise verbunden sind. Das Portal-Werkzeug akzeptiert Layer aus dem Portal als Eingabe und erstellt die Ausgabe im Portal.
Als Eingabe-Raster-Layer kann ein Layer aus dem Portal, ein URI bzw. eine URL zu einem Image-Service oder die Ausgabe des Werkzeugs Image Server-Layer erstellen verwendet werden. Bei dem Eingabe-Feature-Layer kann es sich um einen Layer aus dem Portal oder ein URI bzw. eine URL zu einem Feature-Service handeln. Lokale Raster-Daten oder -Layer werden von diesem Werkzeug nicht unterstützt. Obwohl Sie lokale Feature-Daten und Layer als Eingabe für dieses Portal verwenden können, empfiehlt es sich, Layer aus Ihrem Portal als Eingabe zu nutzen.
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
arcpy.ra.CostPathAsPolyline(inputDestinationRasterOrFeatures, inputCostDistanceRaster, inputCostBacklinkRaster, outputPolylineName, {pathType}, {destinationField})
Parameter | Erklärung | Datentyp |
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.
| String |
destinationField (optional) | Das Feld, das verwendet werden soll, um Werte für die Zielpositionen zu erhalten. | Field |
Abgeleitete Ausgabe
Name | Erklärung | Datentyp |
outputPolylineFeatures | Die Polylinien-Features. | Feature-Layer |
Codebeispiel
Das folgende Skript im Python-Fenster veranschaulicht, wie Sie die Funktion CostPathAsPoyline verwenden.
import arcpy
arcpy.CostPathAsPolyline_ra(
"https://myserver/rest/services/destination/ImageServer",
"https://myserver/rest/services/costsurface/ImageServer",
"https://myserver/rest/services/direction/ImageServer",
"outpath", "BEST_SINGLE")
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
inputDestinationLayer =
'https://MyPortal.esri.com/server/rest/services/Hosted/destination/ImageServer'
inputCostLayer =
'https://MyPortal.esri.com/server/rest/services/Hosted/costraster/ImageServer'
inputDirectionLayer =
'https://MyPortal.esri.com/server/rest/services/Hosted/direction/ImageServer'
outputName = 'outTravelPaths'
pathType = 'BEST_SINGLE'
arcpy.CostPathAsPolyline_ra(inputDestinationLayer, inputCostLayer,
inputDirectionLayer, outputName, pathType)
Umgebungen
Lizenzinformationen
- Basic: Erfordert ArcGIS Image Server
- Standard: Erfordert ArcGIS Image Server
- Advanced: Erfordert ArcGIS Image Server