Wasserlauf als Raster ableiten (Spatial Analyst)

Mit der Spatial Analyst-Lizenz verfügbar.

Zusammenfassung

Damit wird aus einem Eingabe-Oberflächen-Raster ein Wasserlauf-Raster 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 Parameterwert Ausgabe-Fluss-Raster stellt die Zellen mit einem höheren oder gleichen Schwellenwert für die Abflussakkumulation dar, der durch den optionalen Parameter Akkumulationsschwellenwert (accumulation_threshold in Python) angegeben wird. Wenn kein Akkumulationsschwellenwert angegeben ist, berechnet das Werkzeug standardmäßig einen Schwellenwert für die Fläche basierend auf der Eingabe-Oberflächen-Rastergröße (0,2 Prozent der Gesamtzahl der Zellen). Fließrichtung und Akkumulation werden zwar intern berechnet, um Wasserläufe abzuleiten, sie werden jedoch 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.

  • Wenn die Parameter Eingabe-Raster oder Feature-Mulden-Daten, Eingabe-Akkumulations-Gewichtungs-Raster oder Daten zur Anwendung von Umgebungseinstellungen verwendet werden, wird der Standard-Akkumulationsschwellenwert basierend auf der Fläche, die die Eingaben überschneiden, neu berechnet. Sobald Sie jedoch einen Wert für den 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 Parameter Eingabe-Oberflächen-Raster als Batch-Parameter ausführen. In diesem Fall wird der Akkumulationsschwellenwert basierend auf der ersten Eingabe berechnet und ändert sich nicht mehr, wenn andere Raster-Layer im Batch-Modus verarbeitet werden.

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

  • 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 Konstante ist standardmäßig festgelegt, und allen Wasserläufen ist der Wert 1 zugewiesen. Wenn Eindeutig ausgewählt wird, wird jedem Wasserlaufabschnitt zwischen Schnittpunkten ein Einzelwert zugewiesen. Es gibt noch weitere Ordnungsmethoden: Strahler, Shreve und Hack (Strahler, 1957; Shreve, 1966; Hack, 1957). Die Ordnungszahl eines Wasserlaufs nach Strahler erhöht sich, wenn sich Wasserläufe der gleichen Ordnung überschneiden. Bei der Ordnungsmethode nach 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. Die Ordnungszahl eines Wasserlaufs nach Hack erhöht sich gegenüber der Ordnungszahl eines Wasserlaufs, in den er mündet, um eins. Dem Hauptarm des Flusses wird die Magnitude 1 und allen Wasserläufen, die in ihn münden, die Magnitude 2 zugewiesen und so weiter.

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

    This will affect the direction of flow at the edge of the surface raster, as well as the accumulation and ultimately the definition of streams.
  • Wenn das Ausgabe-Raster-Format .crf lautet, wird in diesem Werkzeug die Raster-Speicherumgebung Pyramide unterstützt. In der Ausgabe werden standardmäßig Pyramiden erstellt. Bei anderen Ausgabeformaten wird diese Umgebung nicht unterstützt, und es werden keine Pyramiden erstellt.

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

  • Referenzliste:

    • 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
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 die eindeutige Wasserlauf-Ordnung in der Ausgabe an.

  • KonstanteDie Ausgabezellenwerte 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.
String
Abfluss von Randzellen nach außen erzwingen
(optional)

Gibt an, ob Randzellen immer nach außen fließen oder den normalen Flussregeln folgen.

  • Deaktiviert: Wenn die maximale Absenkung auf der Innenseite einer Randzelle größer als 0 ist, wird die Fließrichtung wie üblich bestimmt; andernfalls geht die Fließrichtung in Richtung Rand. Für Zellen, bei denen der Fluss vom Rand des Oberflächen-Rasters nach innen erfolgen sollte, wird tatsächlich diese Fließrichtung verwendet. Dies ist die Standardeinstellung.
  • Aktiviert: Bei allen Zellen am Rand des Oberflächen-Rasters erfolgt der Fluss vom Oberflächen-Raster nach außen.
Boolean

Rückgabewert

BeschriftungErläuterungDatentyp
Ausgabe-Fluss-Raster

Das Ausgabe-Raster, das die Wasserlaufpositionen darstellt.

Raster

DeriveStreamAsRaster(in_surface_raster, {in_depressions_data}, {in_weight_raster}, {accumulation_threshold}, {stream_designation_method}, {force_flow})
NameErläuterungDatentyp
in_surface_raster

Das Eingabe-Oberflächen-Raster.

Raster Layer
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 die eindeutige Wasserlauf-Ordnung in der Ausgabe an.

  • CONSTANTDie Ausgabezellenwerte 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.
String
force_flow
(optional)

Gibt an, ob Randzellen immer nach außen fließen oder den normalen Flussregeln folgen.

  • NORMALWenn die maximale Absenkung auf der Innenseite einer Randzelle größer als 0 ist, wird die Fließrichtung wie üblich bestimmt; andernfalls geht die Fließrichtung in Richtung Rand. Für Zellen, bei denen der Fluss vom Rand des Oberflächen-Rasters nach innen erfolgen sollte, wird tatsächlich diese Fließrichtung verwendet. Dies ist die Standardeinstellung.
  • FORCEBei allen Zellen am Rand des Oberflächen-Rasters erfolgt der Fluss vom Oberflächen-Raster nach außen.
Boolean

Rückgabewert

NameErläuterungDatentyp
out_stream_raster

Das Ausgabe-Raster, das die Wasserlaufpositionen darstellt.

Raster

Codebeispiel

DeriveStreamAsRaster: Beispiel 1(Python-Fenster)

In diesem Beispiel wird ein Fluss-Raster erstellt, in dem allen identifizierten Wasserläufen der konstante Wert 1 zugewiesen wird.

from arcpy.sa import *
out_stream_raster = DeriveStreamAsRaster("surface.tif", "", "", "", 
                                        "", "")
out_stream_raster.save("C:/arcpyExamples/outputs/out_stream_raster.tif")
DeriveStreamAsRaster: Beispiel 2 (eigenständiges Skript)

In diesem Beispiel wird ein Fluss-Raster erstellt, das echte Mulden berücksichtigt, deren Wasserläufe an Positionen mit Sammelbeckengebieten von mehr als 2 Hektar beginnen.

Den Segmenten zwischen den Schnittpunkten des Ausgabe-Fluss-Rasters wird ebenfalls jeweils ein eindeutiger Wert zugewiesen.

# Name: DeriveStreamAsRaster_standalone.py
# Description: Generates a stream raster considering real depressions where 
#              streams start from locations with catchment areas larger than 2 Hectares.
# Requirements: Spatial Analyst Extension

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

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

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

# Set the local variables
in_surface_raster = "surface.tif"
in_depressions_data = "depressions.tif"
stream_raster = "C:/arcpyExamples/outputs/stream_raster.tif"

# Execute DeriveStreamAsRaster
out_stream_raster = DeriveStreamAsRaster(in_surface_raster, in_depressions_data, 
                                        "", "2 Hectares", "UNIQUE", "")
# Save the output
out_stream_raster.save(stream_raster)

Verwandte Themen