Wasserlauf als Linie ableiten (Spatial Analyst)

Mit der Spatial Analyst-Lizenz verfügbar.

Zusammenfassung

Damit werden aus einem Eingabe-Oberflächen-Raster Wasserlauf-Linien-Features erstellt, ohne dass dafür zuerst Senken oder Mulden gefüllt werden müssen.

Verwendung

  • Beim Eingabe-Oberflächen-Raster kann es sich um ein digitales Höhenmodell (Digital Elevation Model, DEM) ohne vorheriges Füllen von Senken oder ein DEM mit hydrologischer Aufbereitung handeln. Das Werkzeug ist gegenüber Fehlern im Oberflächen-Raster beispielsweise in Form von Mulden oder Senken , in denen ein Fluss endet, nicht empfindlich. Daher müssen Senken oder Mulden nicht gefüllt werden.

  • Der Parameter Ausgabe-Gewässer-Features erzeugt ein Ausgabe-Polylinien-Feature, das den Wasserlauf-Linien entspricht, die den durch den optionalen Parameter Akkumulationsschwellenwert (accumulation_threshold in Python) festgelegten Akkumulationsschwellenwert erfüllen. Wird kein Wert für Akkumulationsschwellenwert angegeben, berechnet das Werkzeug standardmäßig einen Schwellenwert für die Fläche, der auf der Größe des Eingabe-Oberflächen-Rasters (0,2 Prozent der Gesamtzahl der Zellen) basiert. Fließrichtung und Akkumulation werden zwar intern berechnet, um Wasserläufe abzuleiten, aber nicht ausgegeben. Verwenden Sie Kontinuierlichen Fluss ableiten, um nach derselben Methode Abflussakkumulations- und Fließrichtungs-Raster zu erhalten.

  • Wenn das Eingabe-Oberflächen-Raster echte Mulden im Oberflächen-Raster enthält, müssen die Mulden in Eingabe-Raster- oder Feature-Mulden-Daten (in_depressions_data in Python) als Zellen gelten, in die Wasser hinein- aber nicht herausfließen kann (Abfluss). Bei Muldenbereichsinformationen kann es sich um ein Raster oder eine Feature-Class handeln. Die Feature-Class wiederum kann ein Punkt, eine Polylinie oder ein Polygon sein.

  • Für das Eingabe-Akkumulations-Gewichtungs-Raster (in_weight_raster in Python) kann ein Wert angegeben werden, mit dem beim Ableiten der Akkumulation eine Gewichtung auf die einzelnen Zellen angewendet wird. Hierbei handelt es sich um einen Zwischenschritt. Wenn ein Gewichtungs-Raster angewendet wird, wählen Sie für Akkumulationsschwellenwert (accumulation_threshold in Python) einen entsprechenden Schwellenwert für die Abflussakkumulation aus.

  • Geben Sie für den Akkumulationsschwellenwert (accumulation_threshold in Python) einen Wert an, mit dem die Komplexität des Terrains im Untersuchungsgebiet zum Ausdruck gebracht wird oder der der Größe einer relevanten Fläche Ihrer Wahl entspricht. Wenn der Schwellenwert beispielsweise auf 20 Hektar festgelegt ist, wird ein Wasserlauf-Raster nur durch Zellen mit mindestens 20 Hektar und einer Fließrichtung flussaufwärts definiert.

  • Wenn die Parameter Eingabe-Raster oder Feature-Mulden-Daten, Eingabe-Akkumulations-Gewichtungs-Raster oder Daten zur Anwendung von Umgebungseinstellungen verwendet werden, wird der Standardwert für Akkumulationsschwellenwert basierend auf der Fläche, die die Eingaben überschneiden, neu berechnet. Sobald Sie jedoch einen Wert für den Parameter Akkumulationsschwellenwert festgelegt haben, wird dieser nicht mehr basierend auf den Änderungen in der Eingabeauswahl neu berechnet. Die gleiche Situation kann auftreten, wenn Sie das Werkzeug im Batch-Modus mit dem Wert Eingabe-Oberflächen-Raster als Batch-Parameter ausführen. In diesem Fall wird der Wert Akkumulationsschwellenwert basierend auf der ersten Eingabe berechnet und ändert sich nicht mehr, wenn andere Raster-Layer im Batch-Modus verarbeitet werden.

  • Verwenden Sie den Parameter Methode zur Bezeichnung von Wasserläufen, um den Wasserlaufsegmenten einen Einzelwert für Wasserlaufabschnitte zwischen Schnittpunkten oder eine Ordnung zuzuweisen. Die Option Konstant ist als Standardwert festgelegt, und allen Wasserläufen ist der Wert 1 zugewiesen. Wenn Eindeutig festgelegt wird, wird jedem Wasserlaufabschnitt zwischen Schnittpunkten ein Einzelwert zugewiesen. Weitere Ordnungsmethoden sind Strahler, Shreve und Hack. Bei der Ordnungsmethode Strahler wird die Ordnungszahl eines Wasserlaufs erhöht, wenn sich Wasserläufe der gleichen Ordnung überschneiden. Bei der Methode Shreve wird Wasserläufen je nach Magnitude eine Ordnungszahl zugewiesen. Allen Links ohne Nebenflüssen wird die Magnitude (Ordnung) 1 zugewiesen. Die Magnituden addieren sich im tiefer gelegenen Bereich. Wenn sich zwei Links überschneiden, werden ihre Magnituden addiert und dem tiefer gelegenen Link zugewiesen. Bei der Methode Hack erhöht sich die Ordnungszahl eines Wasserlaufs gegenüber der Ordnungszahl eines Wasserlaufs, in den er mündet, um 1. Dem Hauptarm des Flusses wird die Magnitude 1 und allen Wasserläufen, die in ihn münden, die Magnitude 2 zugewiesen und so weiter.

  • Wenn der Parameter Vereinfachen von Features (simplify in Python) aktiviert ist, werden die Feature-Linien des Ausgabe-Wasserlaufs vereinfacht, indem unter Verwendung des Douglas-Peucker-Algorithmus mit einer Toleranz von sqrt(0.5) * Zellengröße Stützpunkte entfernt werden. Dieser Algorithmus behält kritische Punkte bei, indem relativ redundante Stützpunkte identifiziert und entfernt werden.

  • NoData-Zellen gelten als Rauschen. Ihnen ist per definitionem kein Wert zugewiesen. Diese Zellen werden vom Werkzeug beim Ermitteln der Richtung zu der am wenigsten steil bergauf liegenden Nachbarzelle sowie beim Ermitteln der Fließrichtung und der Abflussakkumulation ignoriert.

  • Ist der Parameter Abfluss von Randzellen nach außen erzwingen deaktiviert (Standardeinstellung) (force_flow = "NORMAL" in Python) erfolgt der Fluss bei einer Zelle am Rand des Oberflächen-Rasters hin zur inneren Zelle mit der steilsten Absenkung beim Z-Wert. Wenn die Absenkung kleiner oder gleich 0 ist, erfolgt der Fluss bei der Zelle aus dem Oberflächen-Raster hinaus.

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

  • Referenzliste:

    • Douglas, David H., and Thomas K. Peucker. 1973. "Algorithms for the Reduction of the Number of Points Required to Represent a Digitised Line or its Caricature." The Canadian Cartographer, 10(2): 112–122.

    • Ehlschlaeger, C. R. 1989. "Using the AT Search Algorithm to Develop Hydrologic Models from Digital Elevation Data." International Geographic Information Systems (IGIS) Symposium 89: 275-281.

    • Hack, J. T. 1957. "Studies of Longitudinal Stream Profiles in Virginia and Maryland." Geological Survey Professional Paper 294: 45–95.

    • Jenson, S. K. und Domingue, J. O. 1988. "Extracting Topographic Structure from Digital Elevation Data for Geographic Information System Analysis." Photogrammetric Engineering and Remote Sensing 54 (11): 1593–1600.

    • Metz, M., Mitasova, H., und Harmon, R. S. 2011 "Efficient extraction of drainage networks from massive, radar-based elevation models with least cost path search." Hydrology and Earth System Sciences 15(2): 667-678.

    • Shreve, R. 1966. "Statistical Law of Stream Numbers" Journal of Geology.74: 17-35

    • Strahler, A. N. 1957. "Quantitative analysis of watershed geomorphology" Transactions of the American Geophysical Union8 (6): 913-920

Parameter

BeschriftungErläuterungDatentyp
Eingabe-Oberflächen-Raster

Das Eingabe-Oberflächen-Raster.

Raster Layer
Ausgabe-Polylinien-Features

Die Ausgabe-Feature-Class, die die identifizierten Wasserläufe enthält.

Feature Class
Eingabe-Raster oder Feature-Mulden-Daten
(optional)

Ein optionales Dataset, das echte Mulden definiert.

Die Mulden können entweder über ein Raster oder einen Feature-Layer definiert werden.

Wenn als Eingabe ein Raster verwendet wird, müssen die Muldenzellen einen gültigen Wert annehmen, der auch null sein kann, und die Flächen, die keine Mulden sind, müssen NoData-Flächen sein.

Composite Geodataset
Eingabe-Akkumulations-Gewichtungs-Raster
(optional)

Ein optionales Eingabe-Raster-Dataset, das den Teil eines Flusses definiert, der bei den einzelnen Zellen zur Abflussakkumulation beiträgt.

Die Gewichtung wird lediglich auf die Akkumulation des Flusses angewendet.

Wenn kein Akkumulations-Gewichtungs-Raster angegeben wird, wird eine Standardgewichtung von 1 auf jede Zelle angewendet.

Raster Layer
Akkumulationsschwellenwert
(optional)

Der Schwellenwert, mit dem bestimmt wird, ob eine bestimmte Zelle gemessen an der Gesamtfläche mit Abfluss in solch eine Zelle Teil eines Wasserlaufs ist.

Areal Unit
Methode zur Bezeichnung von Wasserläufen
(optional)

Gibt den eindeutigen Wert oder die Ordnung der Wasserläufe in der Ausgabeattributtabelle an.

  • KonstanteDie Ausgabe-Wasserlaufsegmente sind alle gleich 1. Dies ist die Standardeinstellung.
  • EindeutigJeder Wasserlauf hat eine eindeutige ID an den Schnittpunkten der Ausgabe.
  • StrahlerEs wird die Strahler-Methode verwendet, bei der sich die Wasserlauf-Ordnung nur dann erhöht, wenn sich Wasserläufe der gleichen Ordnung überschneiden. Der Schnittpunkt eines Links der ersten Ordnung und der zweiten Ordnung bleibt ein Link zweiter Ordnung, und es wird kein Link dritter Ordnung erstellt.
  • ShreveEs wird die Shreve-Methode verwendet, bei der die Wasserlauf-Ordnung nach ihrer Magnitude bestimmt wird. Allen Links ohne Nebenflüssen wird die Magnitude (Ordnung) 1 zugewiesen. Die Magnituden addieren sich im tiefer gelegenen Bereich. Wenn sich zwei Links überschneiden, werden ihre Magnituden addiert und dem tiefer gelegenen Link zugewiesen.
  • HackEs wird die Hack-Methode verwendet, bei der jedem Wasserlaufsegment eine höhere Ordnung zugewiesen wird als dem Wasserlauf oder Fluss, in den es mündet. Dem Hauptarm des Flusses wird beispielsweise die Ordnung 1 zugewiesen, allen Wasserlaufsegmenten, die in ihn münden, die Ordnung 2, jedem Wasserlauf, der in einen Wasserlauf der Ordnung 2 mündet, die Ordnung 3 und so weiter.
  • AlleDie Ausgabeattributtabelle zeigt die Bezeichnungen der einzelnen Wasserlaufsegmenten basierend auf allen Methoden.
String
Vereinfachen von Features
(optional)

Gibt an, ob die Ausgabe-Wasserlauf-Linien in einfachere Formen geglättet werden.

  • Aktiviert: Die Wasserlauf-Feature-Linien werden unter Verwendung des Douglas-Peucker-Algorithmus mit einer Toleranz von sqrt(0.5) * Zellengröße vereinfacht. Dies ist die Standardeinstellung.
  • Deaktiviert: Die Wasserlauf-Feature-Linien werden nicht geglättet.
Boolean

DeriveStreamAsLine(in_surface_raster, out_stream_features, {in_depressions_data}, {in_weight_raster}, {accumulation_threshold}, {stream_designation_method}, {simplify})
NameErläuterungDatentyp
in_surface_raster

Das Eingabe-Oberflächen-Raster.

Raster Layer
out_stream_features

Die Ausgabe-Feature-Class, die die identifizierten Wasserläufe enthält.

Feature Class
in_depressions_data
(optional)

Ein optionales Dataset, das echte Mulden definiert.

Die Mulden können entweder über ein Raster oder einen Feature-Layer definiert werden.

Wenn als Eingabe ein Raster verwendet wird, müssen die Muldenzellen einen gültigen Wert annehmen, der auch null sein kann, und die Flächen, die keine Mulden sind, müssen NoData-Flächen sein.

Composite Geodataset
in_weight_raster
(optional)

Ein optionales Eingabe-Raster-Dataset, das den Teil eines Flusses definiert, der bei den einzelnen Zellen zur Abflussakkumulation beiträgt.

Die Gewichtung wird lediglich auf die Akkumulation des Flusses angewendet.

Wenn kein Akkumulations-Gewichtungs-Raster angegeben wird, wird eine Standardgewichtung von 1 auf jede Zelle angewendet.

Raster Layer
accumulation_threshold
(optional)

Der Schwellenwert, mit dem bestimmt wird, ob eine bestimmte Zelle gemessen an der Gesamtfläche mit Abfluss in solch eine Zelle Teil eines Wasserlaufs ist.

Areal Unit
stream_designation_method
(optional)

Gibt den eindeutigen Wert oder die Ordnung der Wasserläufe in der Ausgabeattributtabelle an.

  • CONSTANTDie Ausgabe-Wasserlaufsegmente sind alle gleich 1. Dies ist die Standardeinstellung.
  • UNIQUEJeder Wasserlauf hat eine eindeutige ID an den Schnittpunkten der Ausgabe.
  • STRAHLEREs wird die Strahler-Methode verwendet, bei der sich die Wasserlauf-Ordnung nur dann erhöht, wenn sich Wasserläufe der gleichen Ordnung überschneiden. Der Schnittpunkt eines Links der ersten Ordnung und der zweiten Ordnung bleibt ein Link zweiter Ordnung, und es wird kein Link dritter Ordnung erstellt.
  • SHREVEEs wird die Shreve-Methode verwendet, bei der die Wasserlauf-Ordnung nach ihrer Magnitude bestimmt wird. Allen Links ohne Nebenflüssen wird die Magnitude (Ordnung) 1 zugewiesen. Die Magnituden addieren sich im tiefer gelegenen Bereich. Wenn sich zwei Links überschneiden, werden ihre Magnituden addiert und dem tiefer gelegenen Link zugewiesen.
  • HACKEs wird die Hack-Methode verwendet, bei der jedem Wasserlaufsegment eine höhere Ordnung zugewiesen wird als dem Wasserlauf oder Fluss, in den es mündet. Dem Hauptarm des Flusses wird beispielsweise die Ordnung 1 zugewiesen, allen Wasserlaufsegmenten, die in ihn münden, die Ordnung 2, jedem Wasserlauf, der in einen Wasserlauf der Ordnung 2 mündet, die Ordnung 3 und so weiter.
  • ALLDie Ausgabeattributtabelle zeigt die Bezeichnungen der einzelnen Wasserlaufsegmenten basierend auf allen Methoden.
String
simplify
(optional)

Gibt an, ob die Ausgabe-Wasserlauf-Linien in einfachere Formen geglättet werden.

  • NO_SIMPLIFYDie Wasserlauf-Feature-Linien werden nicht geglättet.
  • SIMPLIFYDie Wasserlauf-Feature-Linien werden unter Verwendung des Douglas-Peucker-Algorithmus mit einer Toleranz von sqrt(0.5) * Zellengröße vereinfacht. Dies ist die Standardeinstellung.
Boolean

Codebeispiel

DeriveStreamAsLine: Beispiel 1 (Python-Fenster)

Dieses Beispiel veranschaulicht, wie Sie mit DeriveStreamAsLine Wasserlauf-Linien-Features aus einem Eingabe-Oberflächen-Raster erzeugen können, ohne dass dafür zuerst Senken gefüllt werden müssen.

from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapy/examples/data" 
DeriveStreamAsLine("surface.tif", "C:/sapyexamples/output/streams.shp", "", "", "", "")
DeriveStreamAsLine: Beispiel 2 (eigenständiges Skript)

In diesem Beispiel werden Wasserlauf-Linien-Features aus einer Eingabeoberfläche ohne vorheriges Füllen der Senken und ohne echte Mulden erstellt. Die Wasserläufe beginnen an Positionen, an denen die Abflussakkumulation von einer Fläche größer oder gleich 2 Hektar gesammelt wird.

# Name: DeriveStreamAsLine_standalone.py
# Description: Generates stream lines from an input surface raster without prior sink filling. 
#              The streams start from locations where the accumulated flow is collected from an area 
#              larger or equal to 2 Hectares considering depressions (polygons).
# Requirements: Spatial Analyst Extension

# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *

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

# Set the analysis environments
env.workspace = "C:/sapyexamples/data"

# Set the local variables
in_surface_raster = "surface.tif"
in_depressions_data = "depressions.shp"
in_weight_raster = ""
out_streams = "C:/sapyexamples/output/streams.shp"
area_threshold = "2 Hectares"
stream_designation_method = "CONSTANT"

# Execute
DeriveStreamAsLine(in_surface_raster, out_streams, in_depressions_data, 
                   in_weight_raster, area_threshold, stream_designation_method)

Verwandte Themen