河网分级 (Spatial Analyst)

需要 Spatial Analyst 许可。

描述

为表示线状网络分支的栅格线段指定数值顺序。

了解有关河网分级工作原理的详细信息

使用方法

  • 如果输入河流栅格数据和输入流向栅格数据是从同一表面获取,则河网分级的输出质量将更高。如果河流栅格数据是从栅格化的河流数据集获取,则输出可能不可用,因为各像元的流向与河流像元的位置不对应。

  • 通过应用阈值选择高累积流量的像元,可使用流量工具的结果来创建栅格河流网络。例如,像元流入超过 100 的像元用来定义河流网络。可以使用条件函数设为空函数工具创建河流网络栅格,其中大于或等于 100 的流量值合并为一个值,剩余的流量值则放入背景 (NoData)。生成的河流网络可以用在河流链栅格河网矢量化中。

    确定河流网络描绘的相应阈值的分析方法由 Tarboton 等人 (1991) 进行了介绍。

  • 河网分级工具仅支持 D8 输入流向栅格。可以使用流向工具(运行默认流向类型 D8)来创建 D8 流向。

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

  • 参考文献:

    Tarboton D. G., Bras, R. L., Rodriguez–Iturbe, I. 1991. On the Extraction of Channel Networks from Digital Elevation Data. Hydrological Processes. 5: 81–100.

语法

StreamOrder(in_stream_raster, in_flow_direction_raster, {order_method})
参数说明数据类型
in_stream_raster

表示线性河流网络的输入栅格。

在 NoData 的背景上,输入河流栅格数据线状网络应表示为大于或等于一的值。

Raster Layer
in_flow_direction_raster

根据每个像元来显示流向的输入栅格。

可以在流向工具中,运行使用默认流向类型 D8 创建流向栅格。

Raster Layer
order_method
(可选)

用于指定河网分级的方法。

  • STRAHLER此河网分级方法由 Strahler 于 1952 年提出。仅当级别相同的河流交汇时,河网分级才会升高。因此,一级连接线与二级连接线相交会保留二级连接线,而不会创建三级连接线。这是默认设置。
  • SHREVE此按量级的河网分级方法由 Shreve 于 1967 年提出。所有没有支流的连接线的量级(分级)将被指定为一。量级是指可相加的河流下坡坡度。当两个连接线相交时,将它们的量级相加,然后将其指定为下坡连接线。
String

返回值

名称说明数据类型
out_raster

输出河网分级栅格数据。

输出为整型。

Raster

代码示例

StreamOrder 示例 1(Python 窗口)

本例为表示线状网络分支的栅格线段指定数值顺序。

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outStreamOrder = StreamOrder("stream", "flowdir", "STRAHLER")
outStreamOrder.save("c:/sapyexamples/output/outstrmordr01")
StreamOrder 示例 2(独立脚本)

本例为表示线状网络分支的栅格线段指定数值顺序。

# Name: StreamOrder_Ex_02.py
# Description: Assigns a numeric order to segments of a raster 
#              representing branches of a linear network.
# 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
inStreamRast = "stream"
inFlowDirectionRaster = "flowdir"
orderMethod = "STRAHLER"

# Execute StreamOrder
outStreamOrder = StreamOrder(inStreamRast, inFlowDirectionRaster, orderMethod)

# Save the output 
outStreamOrder.save("c:/sapyexamples/output/outstrmordr02")

许可信息

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

相关主题