Kontinuierlichen Fluss ableiten (Spatial Analyst)

Mit der Spatial Analyst-Lizenz verfügbar.

Zusammenfassung

Damit wird aus einem Eingabe-Oberflächen-Raster für jede Zelle ein Raster der Abflussakkumulation erstellt, ohne dass dafür zuerst Senken oder Mulden gefüllt werden müssen.

Weitere Informationen zur Funktionsweise von "Kontinuierlichen Fluss ableiten"

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.

  • Fließrichtung und Abflussakkumulation werden auf Zellenbasis abgeleitet. Dazu wird das Eingabe-Oberflächen-Raster optimal durchlaufen, und zwar in Richtung des minimalen höher gelegenen Nachbarn (Metz et al, 2011; Ehlschlaeger, 1989).

  • Der Wert Ausgabe-Abflussakkumulations-Raster (out_accumulation_raster in Python) ist die primäre Ausgabe. Dabei handelt es sich um ein Raster, das die Abflussakkumulation zu jeder Zelle darstellt, bestimmt durch das Akkumulieren der Gewichtung für alle Zellen, die in die einzelnen Zellen fließen. Die aktuelle bearbeitete Zelle wird bei dieser Akkumulation nicht berücksichtigt.

  • Sie können die Ausgabe des Fließrichtungs-Rasters speichern, indem Sie den Wert Ausgabe-Fließrichtungs-Raster (out_flow_direction_raster in Python) angeben. Dieses Raster stellt die Fließrichtung dar.

  • Für das Eingabe-Akkumulations-Gewichtungs-Raster (in_weight_raster in Python) kann ein Wert angegeben werden, mit dem beim Ableiten der Abflussakkumulation eine Gewichtung auf die einzelnen Zellen angewendet wird.

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

  • Das Werkzeug Kontinuierlichen Fluss ableiten unterstützt die Fließrichtungs-Modellierungsalgorithmen D8 und MFD (Multiple Flow Direction).

    • Wenn die Option D8 für Fließrichtungstyp (flow_direction_type in Python), angegeben ist, kann der Fluss eine einzige Richtung einnehmen, nämlich in Richtung der stärksten Absenkung. Die stärksten Absenkung wird berechnet, indem die Differenz des Z-Wertes durch die Pfadlänge zwischen den Zellenmittelpunkte geteilt wird (1 für kardinale Kardinalzellen und die Quadratwurzel von 2 für diagonale Zellen) (Jenson und Domingue, 1988) . Das Ausgabe-Raster verwendet nur ganzzahlige Werte von 1 bis 255. Die Werte vom Mittelpunkt jeder Richtung sind im folgenden Schema angegeben:

      Fließrichtungswerte

      Wenn eine Zelle in mehrere Richtungen die gleiche Änderung im Z-Wert aufweist, ist die D8-Fließrichtung undefiniert. In diesem Fall ist der Wert für eine derartige Zelle im Ausgabe-Fließrichtungs-Raster die Summe der möglichen Richtungen.

    • Wenn MFD als Fließrichtungstyp angegeben ist, wird der Fluss über alle niedrigeren Nachbarn hinweg partitioniert. Die Partitionierung des Flusses über die benachbarten Zellen (als Bruch) hinweg wird als Funktion des maximalen Neigungsgradienten geschätzt, die die lokalen Terrainbedingungen berücksichtigt (Qin et al, 2007). Das Ausgabe-Fließrichtungs-Raster verwendet nur ganzzahlige Werte, die die vorherrschende Fließrichtung anzeigen (in Richtung der Zelle, die den größten Teil des Flusses gemäß des Partitionsschemas erhält), um die Interpretation zu erleichtern. Der Parameterwert Ausgabe-Abflussakkumulations-Raster spiegelt jedoch das Partitionsschema des Flusses wider.

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

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

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

    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.

    Qin, C., Zhu, A. X., Pei, T., Li, B., Zhou, C., und Yang, L. 2007. "An adaptive approach to selecting a flow partition exponent for a multiple flow direction algorithm." International Journal of Geographical Information Science 21(4): 443-458.

Parameter

BeschriftungErläuterungDatentyp
Eingabe-Oberflächen-Raster

Das Eingabe-Raster, das eine kontinuierliche Oberfläche darstellt.

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
Ausgabe-Fließrichtungs-Raster
(optional)

Das Ausgabe-Raster, das die Fließrichtung bei den einzelnen Zellen mithilfe der D8- bzw. MFD-Methode (Multiple Flow Direction) darstellt.

Das Ausgabe ist ganzzahlig.

Raster Dataset
Fließrichtungstyp
(optional)

Gibt die bei der Berechnung von Fließrichtungen verwendete Abflussmethode an.

  • D8Die Fließrichtung wird mit der D8-Methode ermittelt. Diese weist die Fließrichtung zur jeweiligen Nachbarzelle mit der steilsten Neigung zu. Dies ist die Standardeinstellung.
  • MFDDie Fließrichtung basiert auf der Abflussmethode MFD. Die Fließrichtung wird gemäß einem adaptiven Exponenten für Partitionen über alle niedrigeren Nachbarn hinweg partitioniert.
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-Abflussakkumulations-Raster

Das Ausgabe-Raster, das eine Abflussakkumulation (Anzahl der flussaufwärts liegenden Zellen mit Abfluss in die einzelnen Zellen) darstellt.

Das Ausgabe-Raster ist ein Gleitkomma-Raster.

Raster

DeriveContinuousFlow(in_surface_raster, {in_depressions_data}, {in_weight_raster}, {out_flow_direction_raster}, {flow_direction_type}, {force_flow})
NameErläuterungDatentyp
in_surface_raster

Das Eingabe-Raster, das eine kontinuierliche Oberfläche darstellt.

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
out_flow_direction_raster
(optional)

Das Ausgabe-Raster, das die Fließrichtung bei den einzelnen Zellen mithilfe der D8- bzw. MFD-Methode (Multiple Flow Direction) darstellt.

Das Ausgabe ist ganzzahlig.

Raster Dataset
flow_direction_type
(optional)

Gibt die bei der Berechnung von Fließrichtungen verwendete Abflussmethode an.

  • D8Die Fließrichtung wird mit der D8-Methode ermittelt. Diese weist die Fließrichtung zur jeweiligen Nachbarzelle mit der steilsten Neigung zu. Dies ist die Standardeinstellung.
  • MFDDie Fließrichtung basiert auf der Abflussmethode MFD. Die Fließrichtung wird gemäß einem adaptiven Exponenten für Partitionen über alle niedrigeren Nachbarn hinweg partitioniert.
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_accumulation_raster

Das Ausgabe-Raster, das eine Abflussakkumulation (Anzahl der flussaufwärts liegenden Zellen mit Abfluss in die einzelnen Zellen) darstellt.

Das Ausgabe-Raster ist ein Gleitkomma-Raster.

Raster

Codebeispiel

DeriveContinuousFlow: Beispiel 1 (Python-Fenster)

In diesem Beispiel wird ein Abflussakkumulations-Raster aus einem Eingabe-Oberflächen-Raster erstellt.

from arcpy.sa import *
out_derivecontinuousflow_raster = DeriveContinuousFlow("surface.tif", "", "",
                                 "", "", "")
out_derivecontinuousflow_raster.save("C:/arcpyExamples/outputs/out_facc.tif")
DeriveContinuousFlow : Beispiel 2 (eigenständiges Fenster)

In diesem Beispiel wird ein Abflussakkumulations-Raster aus einem Eingabe-Oberflächen-Raster erstellt, das echte Mulden berücksichtigt.

# Name: DeriveContinuousFlow_standalone.py
# Description: Generates a flow accumulation raster considering real depressions
#              specified through a raster dataset.
# 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"

# Execute DeriveContinuousFlow
out_derivecontinuousflow_raster = DeriveContinuousFlow(in_surface_raster, in_depressions_data,
                                 "", "", "", "")

# Save the output
out_derivecontinuousflow_raster.save("C:/arcpyExamples/outputs/out_facc.tif")

Verwandte Themen