Получить водоток как линию (Spatial Analyst)

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

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

Создает линейные объекты водотоков на основе входного растра поверхности без принудительного заполнения локальных понижений.

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

  • Входным растром поверхности может быть Цифровая модель рельефа (ЦМР) без предварительно заполненных локальных понижений, или гидрологически корректная ЦМР. Инструмент не чувствителен к ошибкам в растре поверхности, которые интерпретируются как впадины или локальные понижения, в которых поток останавливается - принудительное заполнение не требуется.

  • Параметр Выходные объекты водотоков создает выходные полилинейные объекты, соответствующие линиям водотоков, где сток выше равен пороговому значению, указанному в параметре Пороговое значение суммарного стока (accumulation_threshold в Python). Если Пороговое значение суммарного стока не указано, по умолчанию для порогового значения вычисляется значение площади на основании размера входной растровой поверхности (0.2 процента от общего числа ячеек). Хотя в процессе также вычисляются направление стока и суммарный сток, они не сохраняются как выходные данные. Чтобы получить растры направления стока и суммарного стока тем же методом, используйте инструмент Получить непрерывный поток.

  • Если поверхность, представленная входным растром, содержит истинные локальные понижения, их необходимо указать в параметре Входные растровые или векторные данные понижений (in_depressions_data в Python), чтобы идентифицировать ячейки, в которые поток может стекать, но не вытекать наружу. Информация о локальных понижениях может быть представлена либо классом объектов, либо растром. Класс объектов может быть точечный, полилинейный или полигональный.

  • Можно указать значение Входного растра суммарных весов (in_weight_raster в Python), чтобы применить к каждой ячейке вес при расчете суммарного стока в промежуточном шаге. Если применен растр весов, выберите подходящий порог суммарного стока в параметре Пороговое значение суммарного стока (accumulation_threshold в Python).

  • Укажите Пороговое значение суммарного стока (accumulation_threshold в Python) которое отражает сложность потока по поверхности в пределах области изучения или соответствует размеру области сбора, которую вы обозначаете. Например, если пороговое значение установлено на 20 гектаров, то выше по течению должна быть область ячеек, площадью 20 и более гектаров, из которых осуществляется сток, и только в этом случае будет определен выходной растр водотока.

  • Если используются параметры Входные растровые или векторные данные понижений, Входной растр суммарных весов или данные в параметрах среды, Пороговое значение суммарного стока будет пересчитано на основании площади пересечения входных данных. Но если вы указали Пороговое значение суммарного стока, оно не пересчитывается из-за изменений во входных данных. Та же ситуация может возникнуть при запуске инструмента в пакетном режиме, с указанием Входного растра поверхности как пакетного параметра, и Пороговое значение суммарного стока вычисляется по первой входной поверхности и не меняется при добавлении остальных растровых слоев к пакетной обработке.

  • Используйте параметр Метод идентификации водотоков для назначения уникального идентификатора секции водотока между пересечениями или порядка сегментов водотоков. Опция Константа установлена по умолчанию и всем водотокам будет назначено одинаковое значение 1. Если выбрано Уникальное каждой секции водотока между пересечениями будет присвоено уникальное значение. Дополниельные методы определения порядка водотоков - Стахлер, Шреве и Хак (Strahler, 1957; Shreve, 1966; Hack, 1957). ПО методу Стахлера порядок водотоков возрастает, если водотоки с одинаковым порядком пересекаются. По методу Шреве порядок водотоков определяется амплитудой. Всем сегментам, не имеющим притоков, присваивается магнитуда (порядок), равная единице. Значимости складываются при движении вниз по склону. При слиянии двух сегментов, их порядки складываются, а новое значение присваивается образуемому сегменту, расположенному ниже по склону. Порядок водотоков по Хаку предполагает, что идентификатор водотока возрастает на единицу по отношению к порядку водотока в который он стекает. Главному руслу реки назначается амплитуда 1, водотокам, впадающим в него, присваивается значение 2 и так далее.

  • Ячейки со значением NoData всегда рассматриваются каккак шум и по определению не могут иметь связанное значение. Инструмент будет игнорировать эти ячейки при идентификации направления самого крутого уклона в окрестности, а также определении направления стока и суммарного стока.

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

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

  • Ссылки:

    • Ehlschlaeger, C. R. 1989. "Using the AT Search Algorithm to Develop Hydrologic Models from Digital Elevation Data." International Geographic Information Systems (IGIS) Symposium 89: 275-281.

    • Hack, J. T. 1957. "Studies of Longitudinal Stream Profiles in Virginia and Maryland." Geological Survey Professional Paper 294: 45–95.

    • Jenson, S. K., and Domingue, J. O. 1988. "Extracting Topographic Structure from Digital Elevation Data for Geographic Information System Analysis." Photogrammetric Engineering and Remote Sensing 54 (11): 1593–1600.

    • Metz, M., Mitasova, H., & Harmon, R. S. 2011. "Efficient extraction of drainage networks from massive, radar-based elevation models with least cost path search." Hydrology and Earth System Sciences 15(2): 667-678.

    • Shreve, R. 1966. "Statistical Law of Stream Numbers" Journal of Geology.74: 17-35

    • Strahler, A. N. 1957. "Quantitative analysis of watershed geomorphology" Transactions of the American Geophysical Union8 (6): 913-920

Параметры

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

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

Raster Layer
Выходные полилинейные объекты

Выходной класс объектов, который будет содержать идентифицированные водотоки.

Feature Class
Входные растровые или векторные данные понижений
(Дополнительный)

Дополнительный набор данных, который идентифицирует реальные понижения.

Понижения могут задаваться как растровым, так и векторным слоем.

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

Composite Geodataset
Входной растр суммарных весов
(Дополнительный)

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

Вес применяется тольок к суммарному стоку.

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

Raster Layer
Пороговое значение суммарного стока
(Дополнительный)

Пороговое значение определяет, является ли данная ячейка частью водотока при определении общей площади ячеек, сток из которых осуществляется в эту ячейку.

Areal Unit
Метод определения порядка водотоков
(Дополнительный)

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

  • КонстантаВсе порядковые номера выходных сегментов водотоков будут равны 1. Это значение по умолчанию
  • УникальноеКаждому водотоку будет присвоено уникальное значение между пересечениями в результирующем наборе данных.
  • Метод СтрахлераПо методу Стахлера порядковый номер водотока возрастает, только если водотоки с одинаковым порядком пересекаются. После слияния сегментов первого и второго порядка, результирующий водоток будет по-прежнему водотоком второго порядка, а не третьего порядка.
  • Метод ШревеПо методу Шреве порядковый номер водотоков назначается по величине. Всем сегментам, не имеющим притоков, присваивается величина (порядок), равная единице. Величины суммируются при движении вниз по склону. При слиянии двух сегментов, их порядки складываются, а новое значение присваивается образуемому сегменту, расположенному ниже по склону.
  • Метод ХакаВ методе Хака каждому сегменту водотока назначается идентификатор, больше на единицу, чем русло или водоток, в который он стекает. Например, главному руслу реки назначается порядковый номер 1, водотокам, впадающим в него, присваивается значение 2, любой водоток, впадающий в поток 2, получает значение 3 и так далее.
  • ВсеВыходная таблица атрибутов будет содержать обозначения каждого сегмента водотока на основе всех методов.
String
Упростить объекты
(Дополнительный)

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

  • Не отмечено — объекты линий водотоков не сглаживаются.
  • Отмечено — объекты линий водотоков будут сглажены. Это значение по умолчанию
Boolean

DeriveStreamAsLine(in_surface_raster, out_stream_features, {in_depressions_data}, {in_weight_raster}, {accumulation_threshold}, {stream_designation_method}, {simplify})
ИмяОписаниеТип данных
in_surface_raster

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

Raster Layer
out_stream_features

Выходной класс объектов, который будет содержать идентифицированные водотоки.

Feature Class
in_depressions_data
(Дополнительный)

Дополнительный набор данных, который идентифицирует реальные понижения.

Понижения могут задаваться как растровым, так и векторным слоем.

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

Composite Geodataset
in_weight_raster
(Дополнительный)

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

Вес применяется тольок к суммарному стоку.

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

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

Пороговое значение определяет, является ли данная ячейка частью водотока при определении общей площади ячеек, сток из которых осуществляется в эту ячейку.

Areal Unit
stream_designation_method
(Дополнительный)

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

  • CONSTANTВсе порядковые номера выходных сегментов водотоков будут равны 1. Это значение по умолчанию
  • UNIQUEКаждому водотоку будет присвоено уникальное значение между пересечениями в результирующем наборе данных.
  • STRAHLERПо методу Стахлера порядковый номер водотока возрастает, только если водотоки с одинаковым порядком пересекаются. После слияния сегментов первого и второго порядка, результирующий водоток будет по-прежнему водотоком второго порядка, а не третьего порядка.
  • SHREVEПо методу Шреве порядковый номер водотоков назначается по величине. Всем сегментам, не имеющим притоков, присваивается величина (порядок), равная единице. Величины суммируются при движении вниз по склону. При слиянии двух сегментов, их порядки складываются, а новое значение присваивается образуемому сегменту, расположенному ниже по склону.
  • HACKВ методе Хака каждому сегменту водотока назначается идентификатор, больше на единицу, чем русло или водоток, в который он стекает. Например, главному руслу реки назначается порядковый номер 1, водотокам, впадающим в него, присваивается значение 2, любой водоток, впадающий в поток 2, получает значение 3 и так далее.
  • ALLВыходная таблица атрибутов будет содержать обозначения каждого сегмента водотока на основе всех методов.
String
simplify
(Дополнительный)

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

  • NO_SIMPLIFYОбъекты линий водотоков не сглаживаются.
  • SIMPLIFYОбъекты линий водотоков будут сглажены. Это значение по умолчанию
Boolean

Пример кода

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

В этом примере показано, как использовать DeriveStreamAsLine для создания объектов линий водотоков на основе входной растровой поверхности без принудительного заполнения локальных понижений.

from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapy/examples/data" 
DeriveStreamAsLine("surface.tif", "C:/sapyexamples/output/streams.shp", "", "", "", "")
DeriveStreamAsLine, пример 2 (автономный скрипт)

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

# Name: DeriveStreamAsLine_standalone.py
# Description: Generates stream lines from an input surface raster without prior sink filling. 
#              The streams start from locations where the accumulated flow is collected from an area 
#              larger or equal to 2 Hectares considering depressions (polygons).
# Requirements: Spatial Analyst Extension

# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *

# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")

# Set the analysis environments
env.workspace = "C:/sapyexamples/data"

# Set the local variables
in_surface_raster = "surface.tif"
in_depressions_data = "depressions.shp"
in_weight_raster = ""
out_streams = "C:/sapyexamples/output/streams.shp"
area_threshold = "2 Hectares"
stream_designation_method = "CONSTANT"

# Execute
DeriveStreamAsLine(in_surface_raster, out_streams, in_depressions_data, 
                   in_weight_raster, area_threshold, stream_designation_method)

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

  • Basic: Обязательно Spatial Analyst
  • Standard: Обязательно Spatial Analyst
  • Advanced: Обязательно Spatial Analyst

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