Получить поток как растр (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-значении. Если снижение меньше или равно нулю, сток из ячейки будет «вытекать» с растра поверхности.

    This will affect the direction of flow at the edge of the surface raster, as well as the accumulation and ultimately the definition of streams.
  • Если формат выходного растра .crf, этот инструмент поддерживает параметр среды хранения растровых изображений Пирамида. Пирамиды будут созданы в выходных данных по умолчанию. Для любого другого формата вывода этот параметр среды не поддерживается, и пирамиды создаваться не будут.

  • См. раздел Параметры среды анализа и 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
Входные растровые или векторные данные понижений
(Дополнительный)

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

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

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

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

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

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

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

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

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

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

Указывает уникальные коды или порядковые номера водотоков в выходном наборе данных.

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

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

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

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

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

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

Raster

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

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

Raster Layer
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 и так далее.
String
force_flow
(Дополнительный)

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

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

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

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

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

Raster

Пример кода

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

В этом примере создается растр водотоков, в котором все идентифицированные водотоки получили идентификатор 1.

from arcpy.sa import *
out_stream_raster = DeriveStreamAsRaster("surface.tif", "", "", "", 
                                        "", "")
out_stream_raster.save("C:/arcpyExamples/outputs/out_stream_raster.tif")
DeriveStreamAsRaster, пример 2 (автономный скрипт)

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

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

# Name: DeriveStreamAsRaster_standalone.py
# Description: Generates a stream raster considering real depressions where 
#              streams start from locations with catchment areas larger than 2 Hectares.
# Requirements: Spatial Analyst Extension

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

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

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

# Set the local variables
in_surface_raster = "surface.tif"
in_depressions_data = "depressions.tif"
stream_raster = "C:/arcpyExamples/outputs/stream_raster.tif"

# Execute DeriveStreamAsRaster
out_stream_raster = DeriveStreamAsRaster(in_surface_raster, in_depressions_data, 
                                        "", "2 Hectares", "UNIQUE", "")
# Save the output
out_stream_raster.save(stream_raster)

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