Инструмент Привязка точки устья (Snap Pour Point) (Spatial Analyst)
Резюме
Привязывает точки устьев к ячейке с наибольшим суммарным стоком в пределах заданного расстояния.
Использование
-
Инструмент Привязка точки устья (Snap Pour Point) используется для обеспечения выборки точек с высоким суммарным стоком при выделении водосборных бассейнов с использованием инструмента Водораздел (Watershed). Инструмент Привязка точки устья (Snap Pour Point) будет выполнять поиск ячеек с наивысшим суммарным стоком в пределах величины допуска вокруг заданных точек устьев и сдвигать точку устья в это положение.
-
Если входные данные точки устьев представлены в виде класса точечных объектов, они будут внутренне конвертированы в растр для последующей обработки.
-
Выходные данные - это целочисленный растр, на котором исходные положения точек устьев привязаны к местоположениям с высоким суммарным стоком.
-
Если существует только одно входное положение точек устьев, экстент выходных данных iэкстентом растра суммарного стока. Если существует больше одной точки устья, экстент выходных данных определяется параметром в среде Выходной экстент (Output extent).
При указании входных положений точек устьев в качестве данных объектов полем по умолчанию будет первое доступное и допустимое поле. Если допустимых полей нет, по умолчанию используется поле ObjectID (например, OID или FID).
Синтаксис
Параметр | Объяснение | Тип данных |
in_pour_point_data |
Входное положение точек устьев. Для входных данных растров все ячейки, значение которых отличается от значения NoData (т. е. которые имеют значение), будут рассматриваться как точки устьев и будут привязаны. Для входных данных точечных объектов будут указаны положения ячеек, для которых будет выполняться привязка. | Raster Layer | Feature Layer |
in_accumulation_raster |
Входной растр суммарного стока. Он может быть создан с использованием инструмента Суммарный сток (Flow Accumulation). | Raster Layer |
snap_distance |
Максимальное расстояние, в единицах карты, в пределах которого выполняется поиск ячейки с самым высоким суммарным стоком. | Double |
pour_point_field (дополнительно) | Поле, используемое для присвоения значений местоположениям точек устьев. Если входные данные по точкам устьев - растр, используйте поле Value. Если входные данные по точкам устьев - векторные данные, используйте числовое поле. Если поле содержит значения с плавающей точкой, они будут округлены до целых чисел. | Field |
Возвращено значение
Имя | Объяснение | Тип данных |
out_raster |
Выходной целочисленный растр точек устья, на котором исходные положения точек устьев привязаны к местоположениям с высоким суммарным стоком. | Raster |
Пример кода
В этом примере точки устьев привязываются к ячейке с наибольшим суммарным стоком в пределах заданного расстояния.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outSnapPour = SnapPourPoint("pourpoint", "flowaccumulation.img", 5,"VALUE")
outSnapPour.save("c:/sapyexamples/output/outsnpprpnt01")
В этом примере точки устьев привязываются к ячейке с наибольшим суммарным стоком в пределах заданного расстояния.
# Name: SnapPourPoints_Ex_02.py
# Description: Snaps pour points to the cell of highest
# flow accumulation within a specified distance.
# 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
inPourPoint = "pourpoint"
inFlowAccum = "flowaccumulation.img"
tolerance = 5
pourField = "VALUE"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute SnapPourPoints
outSnapPour = SnapPourPoint(inPourPoint, inFlowAccum, tolerance,
pourField)
# Save the output
outSnapPour.save("c:/sapyexamples/output/outsnpprpnt02")