Направление стока (Анализ растра)

Краткая информация

Вычисляет направление стока от каждой ячейки к ее соседу или соседям по склону с помощью метода D8, D-Infinity (INF) или Multiple Flow Direction (MFD).

Иллюстрация

Иллюстрация инструмента Направление стока

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

  • Этот инструмент портала для анализа растров доступен, когда вы выполнили вход на портал ArcGIS Enterprise с настроенным модулем ArcGIS Image Server для Анализ растров. Когда инструмент запускается, ArcGIS Pro выступает в качестве клиента, и обработка проходит на серверах, интегрированных с ArcGIS Enterprise. Инструмент портала использует слои портала в качестве входных данных и создает выходные данные на этом же портале.

    Параметр Входной растровый слой поддерживает слой портала, URI или URL сервиса изображений или выходные данные инструмента Создать слой сервера изображений. Указанный инструмент не поддерживает локальные наборы растровых данных или слои.

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

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

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

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

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

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

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

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

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

    При вычислении растра уклона для плоских участков расстояние до диагонально смежных ячеек (1.41421 * cell size) округляется до 1.4 * cell size в целях увеличения производительности.

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

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

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

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

  • Ссылки:

    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.

Параметры

ПодписьОписаниеТип данных
Растр входной поверхности

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

Raster Layer; Image Service; String
Имя выходного направления стока

Имя выходного сервиса растра направления стока.

Имя слоя по умолчанию зависит от имени инструмента и имени входного слоя. Если имя слоя уже используется, появится запрос ввести новое имя.

String
Сток из крайних ячеек направлен наружу
(Дополнительный)

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

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

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

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

Имя выходного растрового сервиса понижения.

Имя слоя по умолчанию зависит от имени инструмента и имени входного слоя. Если имя слоя уже используется, появится запрос ввести новое имя.

String

Производные выходные данные

ПодписьОписаниеТип данных
Выходной растр направления стока

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

Raster Layer
Выходной растр понижения

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

Raster Layer

arcpy.ra.FlowDirection(inputSurfaceRaster, outputFlowDirectionName, {forceFlow}, {flowDirectionType}, outputDropName)
ИмяОписаниеТип данных
inputSurfaceRaster

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

Raster Layer; Image Service; String
outputFlowDirectionName

Имя выходного сервиса растра направления стока.

Имя слоя по умолчанию зависит от имени инструмента и имени входного слоя. Если имя слоя уже используется, появится запрос ввести новое имя.

String
forceFlow
(Дополнительный)

Ключевые слова, определяющие, будут ли значения NoData на входном растре отсечены в область, определяемую входным растром маски.

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

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

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

Имя выходного растрового сервиса понижения.

Имя слоя по умолчанию зависит от имени инструмента и имени входного слоя. Если имя слоя уже используется, появится запрос ввести новое имя.

String

Производные выходные данные

ИмяОписаниеТип данных
outputFlowDirectionRaster

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

Raster Layer
outputDropRaster

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

Raster Layer

Пример кода

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

В этом примере создается растр направления потока из входного растра поверхности.

import arcpy
arcpy.ra.FlowDirection("https://myserver/rest/services/elevation/ImageServer","outD8FlowDir1")
FlowDirection, пример 2 (автономный скрипт)

В этом примере создается растр направления потока из входного растра поверхности.

#---------------------------------------------------------------------------
# Name: FlowDirection_example02.py
# Requirements: ArcGIS Image Server

# Import system modules
import arcpy

# Set local variables
inSurface = "https://myserver/rest/services/elevation_filled/ImageServer"
outputFlowDirection = "outD8FlowDir2"
forceFlow = "NORMAL"
flowDirectionType = "D8"

# Execute Flow Direction raster analysis tool
arcpy.ra.FlowDirection(inSurface, outputFlowDirection, forceFlow, flowDirectionType)

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

  • Basic: Обязательно ArcGIS Image Server
  • Standard: Обязательно ArcGIS Image Server
  • Advanced: Обязательно ArcGIS Image Server

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