捕捉倾泻点 (Spatial Analyst)

需要 Spatial Analyst 许可。

摘要

将倾泻点捕捉到指定距离内累积流量最大的像元。

使用情况

  • 捕捉倾泻点工具用于确保在使用集水区工具描绘流域盆地时选择累积流量大的点。 捕捉倾泻点将在指定倾泻点周围的捕捉距离范围内搜索累积流量最大的像元,然后将倾泻点移动到该位置。

  • 如果输入倾泻点数据为点要素类,则将其内部转换为栅格以进行处理。

  • 在将原始倾泻点位置捕捉到累积流量更大的位置后,输出为整型栅格。

  • 如果只有一个输入倾泻点位置,则输出的范围是蓄积栅格数据的范围。 如果有多个倾泻点位置,则输出的范围由输出范围环境中的设置决定。

  • 当指定输入倾泻点位置作为要素数据时,默认字段将为首个可用的有效字段。 如果不存在有效字段,则 ObjectID 字段(如 OIDFID)将成为默认字段。

  • 当输出栅格格式为 .crf 时,此工具支持金字塔栅格存储环境。 默认情况下,将在输出中创建金字塔。 对于任何其他输出格式,不支持此环境,并且不会创建金字塔。

  • 有关适用于此工具的地理处理环境的详细信息,请参阅分析环境和 Spatial Analyst

参数

标注说明数据类型
输入栅格数据或要素倾泻点数据

要捕捉的输入倾泻点位置。

对于栅格数据输入,所有不是 NoData(即,具有值)的像元都将被视为倾泻点,并会被捕捉。

对于点要素输入,这将指定要捕捉的像元的位置。

Raster Layer; Feature Layer
输入累积栅格

输入流量栅格。

这可使用流量工具进行创建。

Raster Layer
捕捉距离

搜索累积流量更大的像元时所使用的最大距离范围(以地图单位表示)。

Double
倾泻点字段
(可选)

用于为倾泻点位置赋值的字段。

如果倾泻点数据集为栅格,则使用 Value

如果倾泻点数据集为要素,则使用数值字段。 如果字段包含浮点型值,它们将被截断为整数。

Field

返回值

标注说明数据类型
输出栅格

在将原始倾泻点位置捕捉到累积流量更大的位置后产生的输出倾泻点栅格。

输出为整型。

Raster

SnapPourPoint(in_pour_point_data, in_accumulation_raster, snap_distance, {pour_point_field})
名称说明数据类型
in_pour_point_data

要捕捉的输入倾泻点位置。

对于栅格数据输入,所有不是 NoData(即,具有值)的像元都将被视为倾泻点,并会被捕捉。

对于点要素输入,这将指定要捕捉的像元的位置。

Raster Layer; Feature Layer
in_accumulation_raster

输入流量栅格。

这可使用流量工具进行创建。

Raster Layer
snap_distance

搜索累积流量更大的像元时所使用的最大距离范围(以地图单位表示)。

Double
pour_point_field
(可选)

用于为倾泻点位置赋值的字段。

如果倾泻点数据集为栅格,则使用 Value

如果倾泻点数据集为要素,则使用数值字段。 如果字段包含浮点型值,它们将被截断为整数。

Field

返回值

名称说明数据类型
out_raster

在将原始倾泻点位置捕捉到累积流量更大的位置后产生的输出倾泻点栅格。

输出为整型。

Raster

代码示例

SnapPourPoint 示例 1(Python 窗口)

此示例将倾泻点捕捉到指定距离内累积流量最大的像元。

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")
SnapPourPoint 示例 2(独立脚本)

此示例将倾泻点捕捉到指定距离内累积流量最大的像元。

# 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"

# Execute SnapPourPoints
outSnapPour = SnapPourPoint(inPourPoint, inFlowAccum, tolerance, 
                            pourField) 

# Save the output 
outSnapPour.save("c:/sapyexamples/output/outsnpprpnt02")

相关主题