『公告』 预祝您龙年大吉,万事如意, 过节期间, 大家如需数据服务,请拨打400 或直接添加客服微信,再祝大家龙年,心想事成。
关注我们 新浪 腾讯

ArcGIS教程:流向

ArcGIS教程:流向
创建从每个像元到其最陡下坡相邻点的流向的栅格。

摘要

    创建从每个像元到其最陡下坡相邻点的流向的栅格。

插图


用法

·      流向工具的输出是值范围介于 1 255 之间的整型栅格。从中心出发的各个方向值为:


      例如,如果最陡下降方向位于当前处理像元的左侧,则将该处理像元的流向编码将为 16

·      如果某像元低于八个相邻像元,则将为该像元指定其相邻像元的最低值,并将流向定义为朝向此像元。如果多个相邻像元都具有最低值,则仍为该像元指定此值,但会使用下面介绍的其中一种方法来定义流向。这可用于过滤被视为噪声的单像元凹陷点。

·      如果像元的 z 值在多个方向上均发生相同变化,并且该像元是凹陷点的一部分,则该像元的流向将被视为未定义。此时,该像元在输出流向栅格中的值将为这些方向的总和。例如,如果 z 值向右(流向 = 1)和向下(流向 = 4)的变化相同,则该像元的流向为 1 + 4 = 5。可以使用工具将具有未定义流向的像元标记为凹陷点。

·      如果某像元的 z 值在多个方向上均发生相同变化,并且该像元不是凹陷的一部分,则将使用定义最可能方向的查找表来指定流向。请参阅 Greenlee (1987)

·      输出下降率栅格数据将按像元中心之间的路径长度的 z 值变化率计算,并以百分比表示。对于相邻像元,这类似于像元之间的百分比坡度。穿过平坦区域时,距离将变成到高程较低的最近像元的距离。结果是从每个像元出发的最陡下降路径中的高程增量百分比图。

在计算平坦区域的下降率栅格数据时,为了加快处理速度将采用整数计算,即将到对角相邻像元的距离(1.414 × 像元大小)近似计算为1.5 × 像元大小

·      使用 NORMAL 选项时,处于表面栅格边缘的像元将流向 z 值下降方向最陡的内部像元。如果降幅小于或等于零,则像元将流出表面栅格。

语法

    FlowDirection (in_surface_raster, {force_flow}, {out_drop_raster})

参数

说明

数据类型

in_surface_raster

输入栅格表示连续的表面。

Raster Layer

force_flow

(可选)

指定边缘像元始终向外流还是遵循正常流动规则。

·         NORMAL — 如果边缘像元内部的最大降幅大于零,则将照常确定流向;否则流向将朝向边缘。应从表面栅格的边缘向内流的像元也将执行此行为。这是默认设置。

·         FORCE — 表面栅格边缘的所有像元将从表面栅格向外流。

Boolean

out_drop_raster

(可选)

可选输出下降率栅格数据。

下降率栅格用于显示从沿流向的各像元到像元中心间的路径长度的最大高程变化率,以百分比表示。

Raster Dataset

返回值

名称

说明

数据类型

out_flow_direction_raster

显示从每个像元到其最陡下坡相邻点的流向的输出栅格。

Raster

代码实例

    流向 (FlowDirection) 示例 1Python 窗口)

    本示例将从输入 GRID 高程表面栅格创建流向栅格。

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(独立脚本)

    本示例将从输入 GRID 高程表面栅格创建流向栅格。

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

      京ICP备2025132830号-1 京公网安备 号