Направление стока (Spatial Analyst)

Доступно с лицензией Spatial Analyst.

Сводка

Создает растр направления стока из каждой ячейки в соседние вниз по склону с помощью методов D8, Множественное направление потока (MFD) и D-бесконечность (DINF).

Более подробно о том, как работает инструмент Направление стока

Иллюстрация

Иллюстрация направления стока по методу D8
Flow_Dir = FlowDirection(Elev_Ras, #, #, D8)

Использование

  • Инструмент Направление стока поддерживает три алгоритма моделирования стока. Это методы D8, Множественные направления стока (MFD) и D-бесконечность (DINF).

  • Метод D8 моделирует направление стока из каждой ячейки до соседней ячейки, расположенной вниз по склону с максимальным уклоном.

    Выходными данными инструмента Направление стока, при моделировании по методу D8, является целочисленный растр со значениями от 1 до 255. Значения для каждого направления от центра следующие:

    Коды инструмента Направление стока

    Например, если сток по наиболее крутому уклону будет происходить в ячейку, расположенную слева от исследуемой ячейки, то значение направления стока в этой ячейке будет обозначено числом 16.

    • Если ячейка расположена ниже, чем восемь соседних ячеек, этой ячейке присваивается значение самой нижней соседней ячейки, и направление стока определяется как сток в эту ячейку. Если несколько соседних ячеек имеют одинаковое самое низкое значение, ячейке все равно присваивается это значение, но направление стока определяется с помощью одного из двух методов, поясняемых ниже. Эта процедура используется для фильтрации локальных понижений размером в одну ячейку, которые рассматриваются как помехи.

    • Если для ячейки характерно одно и то же изменение в z-значении в нескольких направлениях, и ячейка является частью локального понижения, направление стока считается неопределенным. В таких случаях, значение для этой ячейки в выходном растре направления стока будет суммой этих направлений. Например, если изменение в z-значении одинаково и в направлении вправо (направление стока = 1) и в направлении вниз (направление стока = 4), направление стока для этой ячейки будет равно 1 + 4 = 5. Ячейки с неопределенным направлением стока могут быть помечены как локальные понижения с использованием инструмента Локальное понижение.

    • Если для ячейки характерно одно и то же изменение в z-значении в нескольких направлениях, и она не является частью локального понижения, направление стока присваивается с использованием таблицы перекодировки, определяющей наиболее вероятное направление. Обратитесь к источнику Greenlee (1987).

    • Выходной растр снижения D8 вычисляется как разница в z-значении, деленная на расстояние между центрами ячеек, выраженная в процентах. Для соседних ячеек эта величина аналогична уклону между ячейками, выраженному в процентах. Для плоских участков расстояние становится расстоянием до ближайшей ячейки с меньшей высотой. Результатом является карта процента подъема на пути наиболее крутого спуска из каждой ячейки.

  • Алгоритм Множественные направления стока (MFD), описанный Qin et al. (2007), разделяет поток из ячейки по всем соседним, которые расположены ниже по склону. Экспонента разделения стока создается адаптивно, в зависимости от локальных условий рельефа, и используется для определения частей стока, перетекающих во все соседние ячейки вниз по склону.

    Примечание:

    Направление стока типа MFD поддерживает создание выходного растра направления стока только в формате Cloud Raster Format (CRF), например, flowdir1.crf, в рабочем пространстве папки.

    Выходные данные Множественного направления стока, добавленные на карту, отображают только направление стока D8. Поскольку Множественные направления стока (MFD) могут иметь множество значений, привязанных к каждой ячейке (каждое значение пропорционально соответствует части потока в каждую соседнюю ячейку вниз по склону), визуализировать их непросто. Однако, выходной растр MFD может использоваться инструментом Суммарный сток, который использует направления стока для разделения и накопления стока из каждой ячейки во все соседние ячейки вниз по склону.

  • Метод D-бесконечность, описанный Tarboton (1997), определяет направление стока как наиболее крутой уклон из восьми треугольных граней, сформированных в окне 3x3 ячейки с центром в интересующей ячейке. Выходными данными является растр с плавающей точкой, представленный в виде одного угла в градусах от 0 (восток) до 360 (снова восток) против часовой стрелки.

  • При использовании параметра Сток из крайних ячеек направлен наружу со значением по умолчанию (NORMAL в Python), сток из ячейки на краю растра поверхности будет осуществляться к внутренней ячейке с максимальным снижением в z-значении. Если снижение меньше или равно нулю, сток из ячейки будет «вытекать» с растра поверхности.

  • Этот инструмент поддерживает параллельную обработку. Если ваш компьютер имеет несколько процессоров или процессор с несколькими ядрами, то его производительность будет более высокой, особенно на больших наборах данных. Раздел справки Параллельная обработка в Spatial Analyst содержит более подробные сведения об этой возможности и способах ее настройки.

    При использовании параллельной обработки будут записаны временные данные для управления обрабатываемыми фрагментами данных. Расположение папки временных файлов по умолчанию будет на вашем локальном диске C:. Вы можете управлять расположением этой папки, настроив Переменную системной среды с именем TempFolders и указав путь к папке, которая будет использоваться (например, E:\RasterCache). Если у вас есть права администратора на вашей машине, вы можете также использовать ключ регистрации (например, [HKEY_CURRENT_USER\SOFTWARE\ESRI\ArcGISPro\Raster]).

    По умолчанию, этот инструмент будет использовать 50 процентов доступных ядер. Если размер входных данных меньше, чем 5000 на 5000 ячеек, может использоваться меньшее число ядер. Можно задавать число используемых инструментом ядер в среде Коэффициент параллельной обработки.

  • См. раздел Среда анализа и Spatial Analyst для получения дополнительной информации о среде геообработки данного инструмента.

  • Литература:

    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.

    Greenlee, D. D. 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.

Синтаксис

FlowDirection(in_surface_raster, {force_flow}, {out_drop_raster}, {flow_direction_type})
ParameterОбъяснениеТип данных
in_surface_raster

Входной растр непрерывной высотной поверхности.

Raster Layer
force_flow
(Дополнительный)

Определяет, будет ли направление стока из краевых ячеек всегда направлено наружу, или же определение направления будет подчиняться обычным (нормальным) правилам определения стока.

  • NORMALЕсли максимальное снижение с внутренней стороны от краевой ячейки больше нуля, направление стока будет определено как обычное; в противном случае, сток будет направлен за край. Для ячеек, сток из которых должен быть направлен от края растра поверхности внутрь, направление будет определяться именно таким образом. Это значение по умолчанию.
  • FORCEСток из всех ячеек на краю растра поверхности будет осуществляться наружу, за края растра.
Boolean
out_drop_raster
(Дополнительный)

Дополнительный выходной растр снижения.

Растр снижения возвращает отношение максимального изменения по высоте из каждой ячейки вдоль направления стока к расстоянию между центрами ячеек, выраженное в процентах.

Это выходные данные с плавающей точкой.

Raster Dataset
flow_direction_type
(Дополнительный)

Задает тип метода потока при вычислении направлений стока.

  • D8Используется направление стока на основе метода D8. Метод присваивает направление стока соседу с максимальным уклоном. Это значение по умолчанию.
  • MFDИспользуется направление стока на основе метода Множественное направление потока. Этот метод присваивает несколько направлений стока всем соседним ячейкам вниз по склону.
  • DINFПрисваивается направление стока на базе метода D-бесконечность, при этом используется наиболее крутой склон треугольных граней.
String

Значение отраженного сигнала

NameОбъяснениеТип данных
out_flow_direction_raster

Выходной растр который показывает направления стока из каждой ячейки в соседние вниз по склону, используя методы D8, Множественные направления стока (MFD) или D-бесконечность (DINF).

Эти выходные данные будут целочисленными.

Raster

Пример кода

FlowDirection, пример 1 (окно Python)

В этом примере создается растр направления потока D8 из входного растра поверхности рельефа 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")
FlowDirection, пример 2 (автономный скрипт)

В этом примере создается растр направления потока D8 из входного растра поверхности рельефа 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"

# Execute FlowDirection
outFlowDirection = FlowDirection(inSurfaceRaster, "FORCE", outDropRaster)

# Save the output 
outFlowDirection.save("C:/sapyexamples/output/outflowdir02")

Информация о лицензиях

  • Basic: Требуется Spatial Analyst
  • Standard: Требуется Spatial Analyst
  • Advanced: Требуется Spatial Analyst

Связанные разделы