需要 Spatial Analyst 许可。
摘要
创建从每个像元到其最陡下坡相邻点的流向的栅格。
插图
用法
流向工具的输出是值范围介于 1 到 255 之间的整型栅格。从中心出发的各个方向值为:
例如,如果最陡下降方向位于当前处理像元的左侧,则将该处理像元的流向编码将为 16。
如果某像元低于八个相邻像元,则将为该像元指定其相邻像元的最低值,并将流向定义为朝向此像元。如果多个相邻像元都具有最低值,则仍为该像元指定此值,但会使用下面介绍的其中一种方法来定义流向。这可用于过滤被视为噪声的单像元凹陷点。
如果像元的 z 值在多个方向上均发生相同变化,并且该像元是凹陷点的一部分,则该像元的流向将被视为未定义。此时,该像元在输出流向栅格中的值将为这些方向的总和。例如,如果 z 值向右(流向 = 1)和向下(流向 = 4)的变化相同,则该像元的流向为 1 + 4 = 5。可以使用汇工具将具有未定义流向的像元标记为凹陷点。
如果某像元的 z 值在多个方向上均发生相同变化,并且该像元不是凹陷的一部分,则将使用定义最可能方向的查找表来指定流向。请参阅 Greenlee (1987)。
输出下降率栅格数据将按像元中心之间的路径长度的 z 值变化率计算,并以百分比表示。对于相邻像元,这类似于像元之间的百分比坡度。穿过平坦区域时,距离将变成到高程较低的最近像元的距离。结果是从每个像元出发的最陡下降路径中的高程增量百分比图。
在计算平坦区域的下降率栅格数据时,为提高性能,将到对角相邻像元的距离 (1.41421 * cell size) 近似计算为 1.5 * cell size。
如果强制所有边缘像元向外流动参数设置(Python 中的 NORMAL)在默认情况下未选中,处于表面栅格边缘的像元将流向 z 值下降方向最陡的内部像元。如果降幅小于或等于零,则像元将流出表面栅格。
有关适用于此工具的地理处理环境的详细信息,请参阅分析环境和 Spatial Analyst。
语法
FlowDirection (in_surface_raster, {force_flow}, {out_drop_raster})
参数 | 说明 | 数据类型 |
in_surface_raster | 输入栅格表示连续的表面。 | Raster Layer |
force_flow (可选) | 指定边缘像元始终向外流还是遵循正常流动规则。
| Boolean |
out_drop_raster (可选) | 可选输出下降率栅格数据。 下降率栅格用于返回从沿流向的各像元到像元中心间的路径长度的最大高程变化率(以百分比表示)。 输出为浮点型。 | Raster Dataset |
返回值
名称 | 说明 | 数据类型 |
out_flow_direction_raster | 显示从每个像元到其最陡下坡相邻点的流向的输出栅格。 输出为整型。 | Raster |
代码示例
流向 (FlowDirection) 示例 1(Python 窗口)
本示例将从输入格网高程表面栅格创建流向栅格。
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outFlowDirection = FlowDirection("elevation", "NORMAL")
outFlowDirection.save("C:/sapyexamples/output/outflowdir01")
流向 (FlowDirection) 示例 2(独立脚本)
本示例将从输入格网高程表面栅格创建流向栅格。
# Name: FlowDirection_Example.py
# Description: Creates a raster of flow direction from each cell to its
# steepest downslope neighbor.
# 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
inSurfaceRaster = "elevation"
outDropRaster = "C:/sapyexamples/output/dropraster"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute FlowDirection
outFlowDirection = FlowDirection(inSurfaceRaster, "FORCE", outDropRaster)
# Save the output
outFlowDirection.save("C:/sapyexamples/output/outflowdir02")
环境
许可信息
- ArcGIS for Desktop Basic: 需要 Spatial Analyst
- ArcGIS for Desktop Standard: 需要 Spatial Analyst
- ArcGIS for Desktop Advanced: 需要 Spatial Analyst