Mit der Spatial Analyst-Lizenz verfügbar.
Zusammenfassung
Erstellt ein Raster für die Fließrichtung von jeder Zelle zu den jeweiligen folgenden Nachbarzellen mit den Methoden D8, Multiple Flow Direction (MFD) oder D-Infinity (DINF).
Weitere Informationen zur Funktionsweise des Werkzeugs "Fließrichtung"
Abbildung
Verwendung
Das Werkzeug Fließrichtung unterstützt drei Fließmodellalgorithmen. Dies sind D8, Multiple Flow Direction (MFD) und D-Infinity (DINF).
Die D8-Methode modelliert die Fließrichtung von jeder Zelle zur jeweiligen Nachbarzelle mit der steilsten Neigung.
Wenn das Werkzeug Fließrichtung mit der Methode D8 ausgeführt wird, ist seine Ausgabe ein ganzzahliges Raster, dessen Werte zwischen 1 und 255 liegen. Die Werte für die einzelnen Entfernungen vom Mittelpunkt sind Folgende:
Wenn beispielsweise die Richtung der stärksten Absenkung links von der aktuellen bearbeiteten Zelle liegt, wird ihre Fließrichtung als 16 codiert.
Wenn eine Zelle niedriger liegt als ihre acht Nachbarn, erhält diese Zelle den Wert ihres niedrigsten Nachbarn, und der Fluss wird als zu dieser Zelle führend definiert. Wenn mehrere Nachbarn den niedrigsten Wert aufweisen, erhält die Zelle immer noch diesen Wert, der Fluss wird jedoch anhand einer der beiden im Folgenden erklärten Methoden definiert. Dies wird verwendet, um aus nur einer einzigen Zelle bestehende Senken herauszufiltern, die als Rauschen betrachtet werden.
Wenn eine Zelle in mehrere Richtungen die gleiche Änderung im Z-Wert aufweist und diese Zelle zu einer Senke gehört, gilt die Fließrichtung als nicht definiert. In solchen Fällen ist der Wert für diese Zelle im Ausgabe-Fließrichtungs-Raster die Summe dieser Richtungen. Wenn beispielsweise die Änderung im Z-Wert nach rechts (Fließrichtung = 1) und nach unten (Fließrichtung = 4) identisch ist, ist die Fließrichtung für die betreffende Zelle 1 + 4 = 5. Zellen mit nicht definierter Fließrichtung können mit dem Werkzeug Senke gekennzeichnet werden.
Wenn eine Zelle in mehrere Richtungen die gleiche Änderung im Z-Wert aufweist und nicht zu einer Senke gehört, wird die Fließrichtung über eine Lookup-Tabelle zugewiesen, die die wahrscheinlichste Richtung definiert. Siehe Greenlee (1987).
Das Ausgabe-D8-Absenkungs-Raster berechnet sich aus der Differenz im Z-Wert dividiert durch die Pfadlänge zwischen den Zellenmittelpunkten und wird als Prozentsatz ausgedrückt. Für benachbarte Zellen ist dies analog zur prozentualen Neigung zwischen den Zellen. Auf einer ebenen Fläche wird diese Entfernung zur Entfernung zu der nächsten Zelle mit niedrigerer Höhe. Das Ergebnis ist eine Karte des prozentualen Anstiegs im Pfad des steilsten Gefälles ausgehend von jeder Zelle.
Bei der Berechnung des D8-Absenkungs-Rasters auf ebenen Flächen wird für die Entfernung zu diagonal benachbarten Zellen (1.41421 * cell size) der Näherungswert 1.5 * cell size verwendet, um die Performance zu verbessern.
Der von Qin et al. (2007) beschriebene MFD-Algorithmus teilt den Abfluss einer Zelle auf alle niedrigeren Nachbarzellen auf. Anhand der lokalen Terrainbedingungen wird flexibel ein Exponent für die Abflussverteilung generiert. Mit diesem wird der Anteil bestimmt, der in alle niedrigeren Nachbarzellen abfließt.
Wenn die Ausgabe von MFD-Fließrichtungen in eine Karte eingebunden wird, werden nur die D8-Fließrichtungen angezeigt. Bei MFD-Fließrichtungen kann es vorkommen, dass jeder Zelle mehrere Werte zugeordnet sind (wobei jeder Wert einem Teil des Abflusses zu allen folgenden Nachbarzellen entspricht); dies lässt sich nur schwer visuell darstellen. Das Ausgabe-Raster einer MFD-Fließrichtung ist eine Eingabe, die vom Werkzeug Abflussakkumulation erkannt wird. Anhand der MFD-Fließrichtungen erfolgt eine Verteilung und Akkumulation des Abflusses jeder Zelle zu den jeweiligen folgenden Nachbarzellen.
Die von Tarboton (1997) beschriebene Abflussmethode D-Infinity (DINF) beschreibt die Fließrichtung als steilste Neigung von acht dreieckigen Facetten, die auf Basis eines 3 x 3 großen und auf die betreffende Zelle zentrierten Zellenfensters entworfen werden. Die Ausgabe der Fließrichtung ist ein Gleitkomma-Raster, das als einzelner Winkel dargestellt wird und gegen den Uhrzeigersinn von 0 (in Richtung Osten) bis 360 (erneut in Richtung Osten) verläuft.
Mit dem Parameter Abfluss von Randzellen nach außen erzwingen in der deaktivierten Standardeinstellung (NORMAL in Python) erfolgt der Fluss bei einer Zelle am Rand des Oberflächen-Rasters hin zur inneren Zelle mit der steilsten Abnahme beim Z-Wert. Wenn die Absenkung kleiner oder gleich 0 ist, erfolgt der Fluss bei der Zelle aus dem Oberflächen-Raster hinaus.
Dieses Werkzeug unterstützt die parallele Verarbeitung. Wenn Ihr Computer mit mehreren Prozessoren oder mit Prozessoren, die mehrere Kerne haben, ausgestattet ist, kann eine höhere Leistung erzielt werden, vor allem bei größeren Datasets. Weitere Informationen zu dieser Funktion sowie zu den Konfigurationsmöglichkeiten finden Sie im Hilfethema Parallele Verarbeitung mit Spatial Analyst.
Beim Einsatz von paralleler Verarbeitung werden für die Verwaltung der zu verarbeitenden Daten-Chunks temporäre Daten generiert. Der Standardordner für temporäre Daten befindet sich auf Ihrem lokalen Laufwerk C. Sie können den Speicherort ändern, indem Sie eine Systemumgebungsvariable mit dem Namen TempFolders einrichten und den Pfad zum gewünschten Ordner angeben (z. B. E:\RasterCache). Wenn Sie auf dem Computer über Administratorberechtigungen verfügen, können Sie auch einen Registrierungsschlüssel verwenden (z. B. [HKEY_CURRENT_USER\SOFTWARE\ESRI\Desktop10.6\Raster]).
Das Werkzeug verwendet standardmäßig 50 % der verfügbaren Kerne. Wenn die Eingabedaten aus weniger als 5.000 mal 5.000 Zellen bestehen, können weniger Kerne verwendet werden. Sie können die Anzahl der Kerne, die das Werkzeug verwendet, mit der Umgebung Faktor für parallele Verarbeitung ändern.
Weitere Informationen zur Geoverarbeitung von Umgebungen mit diesem Werkzeug finden Sie unter Analyseumgebungen und Spatial Analyst.
Quellen:
Greenlee, D. D. 1987. "Raster and Vector Processing for Scanned Linework." Photogrammetric Engineering and Remote Sensing 53 (10): 1383–1387.
Qin, C., Zhu, A. X., Pei, T., Li, B., Zhou, C., & 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.
Tarboton, D. G. 1997. "A new method for the determination of flow directions and upslope areas in grid digital elevation models." Water Resources Research 33(2): 309-319.
Syntax
FlowDirection (in_surface_raster, {force_flow}, {out_drop_raster}, {flow_direction_type})
Parameter | Erläuterung | Datentyp |
in_surface_raster | Das Eingabe-Raster, das eine kontinuierliche Oberfläche darstellt. | Raster Layer |
force_flow (optional) | Gibt an, ob Randzellen immer nach außen fließen oder den normalen Flussregeln folgen.
| Boolean |
out_drop_raster (optional) | Ein optionales Ausgabe-Absenkungs-Raster. Das Absenkungs-Raster gibt das Verhältnis zwischen der maximalen Änderung in der Höhe zurück, ausgehend von jeder Zelle entlang der Fließrichtung und der Pfadlänge zwischen den Zellenmittelpunkten, ausgedrückt als Prozentsatz. Diese Ausgabe ist vom Typ "Gleitkomma". | Raster Dataset |
flow_direction_type (optional) | Gibt die bei der Berechnung von Fließrichtungen verwendete Abflussmethode an.
| String |
Rückgabewert
Name | Erläuterung | Datentyp |
out_flow_direction_raster | Das Ausgabe-Raster, dass die Fließrichtung von jeder Zelle zu den jeweiligen folgenden Nachbarzellen mit den Methoden D8, D-Infinity (DINF) oder Multiple Flow Direction (MFD) zeigt. Diese Ausgabe ist immer ganzzahlig. | Raster |
Codebeispiel
FlowDirection –Beispiel 1 (Python-Fenster)
In diesem Beispiel wird ein D8-Fließrichtungs-Raster aus einem Eingabe-Grid-Raster für die Höhenoberflächen erstellt.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outFlowDirection = FlowDirection("elevation", "NORMAL")
outFlowDirection.save("C:/sapyexamples/output/outflowdir01")
FlowDirection – Beispiel 2 (eigenständiges Skript)
In diesem Beispiel wird ein D8-Fließrichtungs-Raster aus einem Eingabe-Grid-Raster für die Höhenoberflächen erstellt.
# Name: FlowDirection_Example.py
# Description: Creates a raster of flow direction from each cell to its
# steepest downslope neighbor.
# 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
inSurfaceRaster = "elevation"
outDropRaster = "C:/sapyexamples/output/dropraster"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute FlowDirection
outFlowDirection = FlowDirection(inSurfaceRaster, "FORCE", outDropRaster)
# Save the output
outFlowDirection.save("C:/sapyexamples/output/outflowdir02")
Umgebungen
Lizenzinformationen
- ArcGIS Desktop Basic: Erfordert Spatial Analyst
- ArcGIS Desktop Standard: Erfordert Spatial Analyst
- ArcGIS Desktop Advanced: Erfordert Spatial Analyst