Optimaler Pfad als Linie (Spatial Analyst)

Mit der Spatial Analyst-Lizenz verfügbar.

Zusammenfassung

Berechnet den optimalen Pfad von einer Quelle zu einem Ziel als Linie.

Verwendung

  • Das Werkzeug Optimaler Pfad als Linie erzeugt ein Ausgabe-Polylinien-Feature als optimalen Pfad von der Quelle zum Ziel.

  • 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 mit den Extraktionswerkzeugen erstellt werden.

  • Bei der Verwendung von Polygon-Feature-Daten für Eingabe-Feature-Ziele muss auf den Umgang mit der Größe der Ausgabezelle geachtet werden, insbesondere wenn diese grob relativ zu dem in der Eingabe vorhandenen Detail ist. Es wird ein interner Rasterungsprozess mit dem Werkzeug Polygon in Raster angewendet, wobei für den Zellenzuweisungstyp die Standardeinstellung Zellenmittelpunkt verwendet wird. Das bedeutet, dass Daten, die sich nicht am Zellmittelpunkt befinden, nicht in die vorläufige, gerasterte Zielausgabe aufgenommen und 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 zahlreiche andere 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.

  • Vor dem Generieren eines optimalen Pfades wird i. d. R. eines der folgenden Werkzeuge verwendet, um ein Entfernungsakkumulations-Raster und ein Gegenrichtungs-Raster zu erstellen: Entfernungsakkumulation oder Entfernungsallokation. Dies sind erforderliche Eingaben zum Generieren eines optimalen Pfades.

  • Der erstellte optimale Pfad kann ein Fließpfad auf Grundlage einer D8-Fließrichtung sein. Um auf diese Weise einen optimalen Pfad zu generieren, verwenden Sie ein D8-Fließrichtungs-Raster als Eingabe für das Eingabe-Gegenrichtungs- oder -Fließrichtungs-Raster. Sie müssen auch ein Eingabe-Entfernungsakkumulations-Raster bereitstellen. Das Eingabe-Entfernungsakkumulations-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.

  • Das Ausgabe-Polylinien-Feature enthält ein Feld mit dem Namen DestID und ein Feld mit dem Namen PathCost. Das Feld DestID gibt das Ziel jeder Linie an. Im Feld PathCost werden die akkumulativen Kosten für jeden Pfad angegeben. Wenn die Ausgabe in eine File-Geodatabase geschrieben wird, ist ein Feld mit der Bezeichnung shape_length vorhanden, das die Gesamtlänge der kostengünstigsten Route enthält.

  • Zum Generieren eines optimalen Pfades wird die Umgebungseinstellung Zellengröße ignoriert, und zum Berechnen des Ausgabe-Rasters wird die Zellengröße des Eingabe-Kosten-Rückverknüpfungs-Rasters verwendet. 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.

Syntax

OptimalPathAsLine(in_destination_data, in_distance_accumulation_raster, in_back_direction_raster, out_polyline_features, {destination_field}, {path_type})
ParameterErklärungDatentyp
in_destination_data

Ein Integer-Raster- oder Feature-Dataset, das Positionen identifiziert, von denen der optimale Pfad zur am wenigsten kostspieligen Quelle ermittelt wird.

Wenn die Eingabe ein Raster ist, muss dieses aus Zellen mit gültigen Werten für die Ziele bestehen, und den restlichen Zellen muss "NoData" zugewiesen werden. 0 ist ein gültiger Wert.

Raster Layer; Feature Layer
in_distance_accumulation_raster

Mit dem Entfernungsakkumulations-Raster wird der optimale Pfad von den Quellen zu den Zielen zu ermittelt.

Das Entfernungsakkumulations-Raster wird i. d. R. mit dem Werkzeug Entfernungsakkumulation oder Entfernungsallokation erstellt. Jede Zelle im Entfernungsakkumulations-Raster stellt die minimale akkumulative Kostenentfernung über eine Oberfläche von jeder Zelle zu einer Menge von Quellenzellen dar.

Raster Layer
in_back_direction_raster

Das Gegenrichtungs-Raster enthält berechnete Richtungen in Grad. Die Richtung identifiziert die nächste Zelle entlang dem optimalen Pfad zurück zur Quelle mit den geringsten akkumulativen Kosten, wobei Barrieren vermieden werden.

Der Wertebereich reicht von 0 Grad bis 360 Grad, wobei 0 Grad für die Quellenzellen reserviert ist. In östlicher Richtung (rechts) befindet sich der 90-Grad-Winkel, und die Werte nehmen im Uhrzeigersinn zu (180 Grad ist Süden, 270 Grad ist Westen und 360 Grad ist Norden).

Raster Layer
out_polyline_features

Die Ausgabe-Feature-Class, bei der es sich um den/die optimalen Pfad(e) handelt.

Feature Class
destination_field
(optional)

Ein ganzzahliges Feld, das verwendet wird, um Werte für die Zielpositionen zu erhalten.

Field
path_type
(optional)

Gibt ein Schlüsselwort an, das die Art und Weise definiert, in der die Werte und Zonen der Eingabezieldaten in den Kostenpfadberechnungen interpretiert werden:

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

Codebeispiel

OptimalPathAsLine – Beispiel 1 (Python-Fenster)

Das folgende Skript veranschaulicht, wie dieses Werkzeug im Python-Fenster verwendet wird.

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
OptimalPathAsLine("observers.shp", "distaccum.tif", "backdir.tif",
                  "c:/sapyexamples/output/outOptimalPath01.shp")
OptimalPathAsLine – Beispiel 2 (eigenständiges Skript)

Berechnet den kostengünstigsten Pfad von einer Quelle zu einem Ziel.

# Name: OptimalPathAsLine_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"
inDistAccum = "accumraster.tif"
inBackDir = "backdir2.tif"
outPathFeat = "c:/sapyexamples/output.gdb/optimalfeaturepaths02"
destField = "FID"
method = "EACH_CELL"

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

# Execute
OptimalPathAsLine(inDestination, inDistAccum, inBackDir, 
                  outPathFeat, destField, method)

Lizenzinformationen

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

Verwandte Themen