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

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

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

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

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

Иллюстрация

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

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

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

  • Метод 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 может использоваться инструментом Суммарный сток, который использует направления стока для разделения и накопления стока из каждой ячейки во все соседние ячейки вниз по склону.

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

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

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

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

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

  • См. раздел Среда анализа и 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.

    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
Сток из крайних ячеек направлен наружу
(Дополнительный)

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

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

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

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

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

Raster Dataset
Тип направления стока
(Дополнительный)

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

  • D8Направление стока бцдет определено методом D8. Метод присваивает направление стока соседу с максимальным уклоном. Это значение по умолчанию
  • MFDНаправление стока будет определено методом (MFD). Направление стока будет разделено между соседним участкам ниже по течению в соответствии с показателями адаптивноого разделения.
  • DINFНаправление стока, рассчитанное на основе метода DINF Этот метод рассчитывает направление стока в сторону самого крутого уклона треугольных граней.
String

Возвращаемое значение

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

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

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

Raster

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

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

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

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

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

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

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

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

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

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

  • D8Направление стока бцдет определено методом D8. Метод присваивает направление стока соседу с максимальным уклоном. Это значение по умолчанию
  • MFDНаправление стока будет определено методом (MFD). Направление стока будет разделено между соседним участкам ниже по течению в соответствии с показателями адаптивноого разделения.
  • DINFНаправление стока, рассчитанное на основе метода DINF Этот метод рассчитывает направление стока в сторону самого крутого уклона треугольных граней.
String

Возвращаемое значение

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

Выходной растр будет содержать направления стока из каждой ячейки в соседние вниз по склону с помощью методов D8, MFD или 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

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