需要 Spatial Analyst 许可。
描述
确定栅格中一组像元之上的汇流区域。
插图
使用
各个集水区的值将取自输入栅格中源的值或者要素倾泻点数据。如果倾泻点为栅格数据集,则使用像元值。如果倾泻点为点要素数据集,则从指定的字段中获取值。
集水区工具仅支持 D8 类型的输入流向栅格。可使用流向工具(运行默认流向类型 D8(在 Python 中,使用 D8 选项)来创建流向栅格。
如果预先使用捕捉倾泻点工具将倾泻点定位至累积流量大的像元,将得到更加理想的结果。
当指定输入倾泻点位置作为要素数据时,默认字段将为首个可用的有效字段。如果不存在有效字段,则 ObjectID 字段(如 OID 或 FID)将成为默认字段。
该工具支持并行处理。如果您的计算机具有多个处理器或处理器具有多个内核,则会获得更好的性能,特别是处理较大数据集时。使用 Spatial Analyst 进行并行处理帮助主题提供了有关此功能及其配置方法的详细信息。
使用并行处理时,将写入临时数据以管理正在处理的数据区段。默认的临时文件夹位于您的本地 C 驱动器上。您可以通过设置名为 TempFolders 的系统环境变量并指定要使用的文件夹路径(例如,E:\RasterCache),来控制此文件夹的位置。如果您具有计算机管理权限,还可以使用注册表键(例如,[HKEY_CURRENT_USER\SOFTWARE\ESRI\Desktop10.6\Raster])。
默认情况下,此工具将使用可用内核数的 50%。如果输入数据大小小于 5,000 * 5,000 个像元,则会使用更少的内核。您可以控制该工具用于并行处理因子环境的内核数。
有关适用于此工具的地理处理环境的详细信息,请参阅分析环境和 Spatial Analyst。
语法
Watershed(in_flow_direction_raster, in_pour_point_data, {pour_point_field})
参数 | 说明 | 数据类型 |
in_flow_direction_raster | 根据每个像元来显示流向的输入栅格。 可以在流向工具中,运行使用默认流向类型 D8 创建流向栅格。 | Raster Layer |
in_pour_point_data | 输入倾泻点位置。 对于栅格,输入倾泻点位置表示将确定的汇流区域或集水区之上的像元。所有非 NoData 的像元都将用作源像元。 对于点要素数据集,输入倾泻点位置表示将确定的汇流区域或集水区之上的位置。 | Raster Layer; Feature Layer |
pour_point_field (可选) | 用于为倾泻点位置赋值的字段。 如果倾泻点数据集为栅格,则使用 Value。 如果倾泻点数据集为要素,则使用数值字段。如果该字段包含浮点型值,它们将被截断为整型。 | Field |
返回值
名称 | 说明 | 数据类型 |
out_raster | 显示汇流区域的输出栅格。 输出为整型。 | Raster |
代码示例
Watershed 示例 1(Python 窗口)
本示例针对流向格网栅格中选定的倾泻点位置确定汇流区域。
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outWatershed = Watershed("flowdir", "pourpoint")
outWatershed.save("C:/sapyexamples/output/outwtrshd01")
Watershed 示例 2(独立脚本)
本示例针对流向格网栅格中选定的倾泻点位置确定汇流区域,并以 TIFF 栅格的形式输出集水区。
# Name: Watershed_Ex_02.py
# Description: Determines the contributing area above a set of cells in a
# raster.
# 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
inFlowDirection = "flowdir"
inPourPointData = "pourpoint"
inPourPointField = "VALUE"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute Watershed
outWatershed = Watershed(inFlowDirection, inPourPointData, inPourPointField)
# Save the output
outWatershed.save("C:/sapyexamples/output/outwtrshd02.tif")
环境
许可信息
- Basic: 需要 Spatial Analyst
- Standard: 需要 Spatial Analyst
- Advanced: 需要 Spatial Analyst