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.

Weitere Informationen zum Verbinden von Positionen mit optimalen Pfaden

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 im Parameterwert für Eingabe-Raster oder Ziel-Feature-Daten, 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 die Ziele 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 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. Wenn der Parameter Netzwerkpfade erstellen nicht aktiviert ist, wird das Eingabe-Entfernungsakkumulations-Raster nicht zum Bestimmen des Pfades verwendet. Daher bleibt die Verbindung gleich, unabhängig davon, ob Sie ein konstantes Raster oder ein digitales Höhenmodell (DEM) verwenden. Lediglich ein Attributwert in der Verbindung variiert. Wenn jedoch mit Netzwerkpfade erstellen generiert wird, dann muss das Eingabe-Entfernungsakkumulations-Raster ein Ausgabe-Abflussakkumulations-Raster sein. Im Abschnitt zum Werkzeug Fließrichtung finden Sie weitere Informationen zu D8-Fließrichtungs-Rastern und zum Werkzeug Abflussakkumulation zum Erstellen des Akkumulations-Rasters.

  • 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 Wertes Eingabe-Kosten-Rückverknüpfungs-Rasters verwendet. Das Muster des Rückverknüpfungs-Rasters würde geändert werden, wenn ein Resampling mit einer anderen Auflösung durchgeführt würde. Um Verwirrung zu vermeiden, legen Sie die Zellengröße nicht fest, wenn Sie dieses Werkzeug verwenden.

Parameter

BeschriftungErläuterungDatentyp
Eingabe-Raster oder Ziel-Feature-Daten

Ein Integer-Raster oder Feature (Punkt, Linie oder Polygon), 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
Eingabe-Entfernungsakkumulations-Raster

Mit dem Entfernungsakkumulations-Raster wird die optimale Verbindung von den Quellen zu den Zielen 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
Eingabe-Gegenrichtungs- oder -Fließrichtungs-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
Optimaler Ausgabepfad als Feature

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

Feature Class
Zielfeld
(optional)

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

Field
Pfadtyp
(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:

  • Jede 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.
  • Der BesteFür alle Zellen in den Eingabezieldaten wird die kostengünstigste Route aus der Zelle mit dem Minimum der kostengünstigsten Routen zu Quellenzellen abgeleitet.
  • Jede ZelleFü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
Netzwerkpfade erstellen
(optional)

Gibt an, ob vollständige und möglichst überlappende Pfade von den Zielen zu den Quellen berechnet werden oder ob nicht überlappende Netzwerkpfade erstellt werden.

  • Deaktiviert: Es werden vollständige Pfade von den Zielen zu den Quellen berechnet, die überlappend sein können. Dies ist die Standardeinstellung.
  • Aktiviert: Es werden nicht überlappende Netzwerkpfade berechnet.
Boolean

OptimalPathAsLine(in_destination_data, in_distance_accumulation_raster, in_back_direction_raster, out_polyline_features, {destination_field}, {path_type}, {create_network_paths})
NameErläuterungDatentyp
in_destination_data

Ein Integer-Raster oder Feature (Punkt, Linie oder Polygon), 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 die optimale Verbindung von den Quellen zu den Zielen 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 werden soll, 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
create_network_paths
(optional)

Gibt an, ob vollständige und möglichst überlappende Pfade von den Zielen zu den Quellen berechnet werden oder ob nicht überlappende Netzwerkpfade erstellt werden.

  • DESTINATIONS_TO_SOURCESEs werden vollständige Pfade von den Zielen zu den Quellen berechnet, die überlappend sein können. Dies ist die Standardeinstellung.
  • NETWORK_PATHSEs werden nicht überlappende Netzwerkpfade berechnet.
Boolean

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)