调整流以匹配栅格 (Spatial Analyst)

需要 Spatial Analyst 许可。

摘要

用于调整流要素输入以匹配输入栅格的分辨率。

使用情况

  • 输出调整后的流要素Python 中的 out_stream_features)参数表示输入流要素Python 中的 in_stream_features)参数值中的流线要素经过调整以匹配输入栅格Python 中的 in_raster)参数值分辨率后的结果。

  • 调整过程确保调整后的流线能穿过输入栅格参数值中每个重叠像元的中心,同时保留原始流线的路径。

  • 可选的按字段分组Python 中的 group_by_field)参数值根据所选字段对流段进行分组。 默认情况下,除非输入流要素参数值包含已被分割成不同部分但属于同一流段的流线,否则不会对其实施任何分组。 在此情况下,这些部分将被合并,以确保为输出中的每个流段赋予唯一 ID。 如果字段值已为每个流段分配了唯一 ID,则将不会进行任何分组。

  • 可通过指定输出调整后的流栅格Python 中的 out_stream_raster)参数值来保存调整后流线的栅格表示。

  • 可选的按字段分组Python 中的 group_by_field)参数值决定了输出调整后的流栅格参数值中的像元值。

  • 可通过指定输出流向栅格Python 中的 out_flow_direction_raster)参数值来保存调整后流各像元的水流方向 (D8)。

  • 使用移除尖角Python 中的 remove_sharp_angles)参数可确保输出调整后的流要素参数值中不存在呈 90 度角的单像元宽线。

  • 如果输入流要素Python 中的 in_stream_features)参数值预期存在河流一分为二且其中一条被视为主河道的位置,则可通过分流或下一路径字段Python 中的 divergent_flow_or_next_field)参数来指定主河道。 在此情况下,输入流要素Python 中的 in_stream_features)参数值的属性表中必须存在名为 HydroID 的字段。 对于一分为二的河流,所选字段必须指向被视为主河道的河流的 HydroID

  • 此工具可处理的流要素最大数量为 2,147,483,647 (2^31 - 1)。

  • 默认情况下,分析范围为输入流要素Python 中的 in_stream_features)参数值的范围。

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

参数

标注说明数据类型
输入流要素

将要进行调整以匹配输入栅格分辨率的流线要素。

Feature Dataset
输入栅格

用于调整输入流线要素的栅格。

Raster Dataset
输出调整后的流要素

与输入栅格分辨率匹配的输入流线要素的锯齿状表示。

输出流要素将根据按字段分组参数值进行分组。

除指定字段(如有)外,属性表还将包含以下字段:

StreamLink - 分配给流链的 ID。 “链”是指连接两个相邻交汇点的河道的河段。

Feature Class
按字段分组
(可选)

包含用于在输出调整后的流要素输出调整后的流栅格参数值中对流进行分组的值的字段。

字段中的值必须为整型。

Field
移除尖角
(可选)

指定是否从输出流要素中移除尖角。 尖角由宽度为一个像元大小的 90 度线段表示。

  • 选中 - 将简化所有符合标准的线段,并从输出中移除尖角。 这是默认设置。
  • 未选中 - 不会修改任何线段,且不会从输出中移除尖角。
Boolean
分流或下一路径字段
(可选)

输入流要素参数值中用于指示分流后主河道的字段。

必须使用 ID 来指示对应于主河道的流段。 该 ID 必须存在并列在名为 HydroID 的字段中。

Field
输出调整后的流栅格
(可选)

输出调整后的流要素参数值的栅格版本。

像元值对应于按字段分组参数值中指定字段的值。

Raster Dataset
输出流向栅格
(可选)

用于存储与输入流要素数字化方向匹配的流像元内流向 (D8) 的栅格。

Raster Dataset
输出分流点要素
(可选)

输出调整后的流要素中发生分流的位置及其关联的连接节点。

Feature Class

AdjustStreamToRaster(in_stream_features, in_raster, out_stream_features, {group_by_field}, {remove_sharp_angles}, {divergent_flow_or_next_field}, {out_stream_raster}, {out_flow_direction_raster}, {out_split_point_features})
名称说明数据类型
in_stream_features

将要进行调整以匹配输入栅格分辨率的流线要素。

Feature Dataset
in_raster

用于调整输入流线要素的栅格。

Raster Dataset
out_stream_features

与输入栅格分辨率匹配的输入流线要素的锯齿状表示。

输出流要素将根据 group_by_field 参数值进行分组。

除指定字段(如有)外,属性表还将包含以下字段:

StreamLink - 分配给流链的 ID。 “链”是指连接两个相邻交汇点的河道的河段。

Feature Class
group_by_field
(可选)

包含用于在 out_stream_featuresout_stream_raster 参数值中对流进行分组的值的字段。

字段中的值必须为整型。

Field
remove_sharp_angles
(可选)

指定是否从输出流要素中移除尖角。 尖角由宽度为一个像元大小的 90 度线段表示。

  • REMOVE将简化所有符合标准的线段,并从输出中移除尖角。 这是默认设置。
  • NO_REMOVE不会修改任何线段,且不会从输出中移除尖角。
Boolean
divergent_flow_or_next_field
(可选)

in_stream_features 参数值中用于指示分流后主河道的字段。

必须使用 ID 来指示对应于主河道的流段。 该 ID 必须存在并列在名为 HydroID 的字段中。

Field
out_stream_raster
(可选)

out_stream_features 参数值的栅格版本。

像元值对应于 group_by_field 参数值中指定字段的值。

Raster Dataset
out_flow_direction_raster
(可选)

用于存储与输入流要素数字化方向匹配的流像元内流向 (D8) 的栅格。

Raster Dataset
out_split_point_features
(可选)

输出调整后的流要素中发生分流的位置及其关联的连接节点。

Feature Class

代码示例

AdjustStreamToRaster 示例 1(Python 窗口)

此示例说明了如何使用 AdjustStreamToRaster 来生成与输入栅格分辨率匹配且无尖角的流线。 默认情况下,输出不进行分组。

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/arcpyexamples/data.gdb"

AdjustStreamToRaster(in_stream_features="streams", 
                     in_raster="elevation", 
                     out_stream_features="out_stream_features", 
                     group_by_field="NONE",
                     remove_sharp_angles="REMOVE",
                     divergent_flow_or_next_field="NONE",
                     out_stream_raster="out_stream_raster",
                     out_flow_direction_raster="out_stream_flowdir_raster",
                     out_split_point_features=None
                     )
AdjustStreamToRaster 示例 2(独立脚本)

此示例说明了如何使用 AdjustStreamToRaster 来生成与输入栅格分辨率匹配且无尖角的流线。 默认情况下,输出不进行分组。

# Name: AdjustStreamToRaster_standalone.py
# Description: Adjust the input streams features to the resolution of the input raster. 
# No groupping specified, therefore, the result will have as many number of features as 
# there are stream segments.
# Requirements: Spatial Analyst Extension

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

# Set environment settings
arcpy.env.workspace = "C:/sapyexamples/data"

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

# Set local variables
InStreamFeatures="streams.shp"
InRaster = "elevation.tif"
OutStreamFeatures = "out_adjusted_streams.shp"
OutStreamRaster = "out_adjusted_streams.tif"
OutFlowDirRaster = "out_streams_fdr.tif"

# Execute the tool
AdjustStreamToRaster(InStreamFeatures, 
                     InRaster, 
                     OutStreamFeatures, 
                     "NONE", 
                     "", 
                     "NONE", 
                     OutStreamRaster, 
                     OutFlowDirRaster, 
                     "")

许可信息

  • Basic: 需要 Spatial Analyst
  • Standard: 需要 Spatial Analyst
  • Advanced: 需要 Spatial Analyst

相关主题