Направление стока (Flow Direction) (Spatial Analyst)
Краткая информация
Создает растр направления стока из каждой ячейки по ближайшей соседней ячейки вниз по склону наибольшей крутизны.
Более подробно о том, как работает инструмент Направление стока
Рисунок
Использование
-
Выходными данными инструмента Направление стока (Flow Direction) является целочисленный растр, значения которого находятся в диапазоне от 1 до 255. Значения для каждого направления от центра следующие:
Например, если сток по наиболее крутому уклону будет происходить в ячейку, расположенную слева от исследуемой ячейки, то значение направления стока в этой ячейке будет обозначено числом 16.
-
Если ячейка расположена ниже, чем восемь соседних ячеек, этой ячейке присваивается значение самой нижней соседней ячейки, и направление стока определяется как сток в эту ячейку. Если несколько соседних ячеек имеют одинаковое самое низкое значение, ячейке все равно присваивается это значение, но направление стока определяется с помощью одного из двух методов, поясняемых ниже. Эта процедура используется для фильтрации локальных понижений размером в одну ячейку, которые рассматриваются как помехи.
-
Если для ячейки характерно одно и то же изменение в z-значении в нескольких направлениях, и ячейка является частью локального понижения, направление стока считается неопределенным. В таких случаях, значение для этой ячейки в выходном растре направления стока будет суммой этих направлений. Например, если изменение в z-значении одинаково и в направлении вправо (направление стока = 1) и в направлении вниз (направление стока = 4), направление стока для этой ячейки будет равно 1 + 4 = 5. Ячейки с неопределенным направлением стока могут быть помечены как локальные понижения с использованием инструмента Локальное понижение (Sink).
-
Если для ячейки характерно одно и то же изменение в z-значении в нескольких направлениях, и она не является частью локального понижения, направление стока присваивается с использованием таблицы перекодировки, определяющей наиболее вероятное направление. Обратитесь к источнику Greenlee (1987).
-
Выходной растр уклона вычисляется как разница в z-значении, деленная на расстояние между центрами ячеек, выраженная в процентах. Для соседних ячеек эта величина аналогична уклону между ячейками, выраженному в процентах. Для плоских участков расстояние становится расстоянием до ближайшей ячейки с меньшей высотой. Результатом является карта процента подъема на пути наиболее крутого спуска из каждой ячейки.
При вычислении {выходного_растра_уклона} для плоских участков расстояние до ячеек, примыкающих по диагонали (углом) (1,414 * размер ячейки) приблизительно выражается как 1,5 * размер ячейки для ускорения обработки за счет использования целочисленных вычислений.
-
При использовании опции NORMAL, сток из ячейки на краю растра поверхности будет осуществляться к внутренней ячейке с максимальным снижением в z-значении. Если снижение меньше или равно нулю, сток из ячейки будет «вытекать» с растра поверхности.
Синтаксис
Параметр | Объяснение | Тип данных |
in_surface_raster |
Входной растр непрерывной высотной поверхности. | Raster Layer |
force_flow (дополнительно) |
Определяет, будет ли направление стока из краевых ячеек всегда направлено наружу, или же определение направления будет подчиняться обычным (нормальным) правилам определения стока.
| Boolean |
out_drop_raster (дополнительно) |
Дополнительный выходной растр снижения. Растр снижения показывает отношение максимального изменения по высоте из каждой ячейки вдоль направления стока к расстоянию между центрами ячеек, выраженное в процентах. | Raster Dataset |
Возвращено значение
Имя | Объяснение | Тип данных |
out_flow_direction_raster |
Выходной растр направления стока из каждой ячейки до соседней ячейки, расположенной вниз по склону с максимальным уклоном. | Raster |
Пример кода
В этом примере создается растр направления потока из входного растра поверхности рельефа GRID.
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")
В этом примере создается растр направления потока из входного растра поверхности рельефа GRID.
# 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")