流量 (Spatial Analyst)

需要 Spatial Analyst 许可。

摘要

创建每个像元累积流量的栅格。 可选择性应用权重系数。

了解有关“流量”工作原理的详细信息

插图

D8 流量图示
Flow_Acc = FlowAccumulation(Flow_Dir)

使用情况

  • 通过流量得到的结果是表示每个像元累积流量的栅格,由流入每个下坡像元的所有像元的累积权重决定。

  • 流量工具在用于计算累积流量的同时支持三种流向建模算法。 分别为八流向 (D8)、多流向 (MFD) 和无限流向 (DINF) 方法。

  • 如果未使用流向工具创建输入流向栅格,则定义的流可能呈环形。 如果流向包含环,流量将陷入永无止境的无限循环中。

    可使用八流向 (D8)、多流向 (MFD) 或无限流向 (DINF) 方法创建输入流向。 这三种方法的输入流向栅格的类型会影响流量工具划分与累积每个像元的流量的方法。 可以使用输入流向类型来指定创建流向栅格时所使用的方法。

  • 具有未定义流向的像元将仅接收流;它们不会形成任何下游流。

    对于输入 D8 流向栅格,如果某像元在流向栅格中的值是 1、2、4、8、16、32、64 或 128 以外的值,则认为该像元具有未定义的流向。

    对于输入 D-Infinity 流向栅格,如果某像元在流向栅格中的值是 -1,则认为该像元具有未定义的流向。

  • 累积流量基于流入输出栅格中每个像元的总像元数或部分像元数。 累积中不会考虑当前处理的像元。

  • 高流量的输出像元是集中流动区域,可用于标识河道。

  • 流量为零的输出像元是局部地形高点,可用于识别山脊。

  • 流量工具不遵循压缩环境设置。 输出栅格将始终处于未压缩状态。

  • 该工具支持并行处理。 如果您的计算机具有多个处理器或处理器具有多个内核,则会获得更好的性能,特别是处理较大数据集时。 使用 Spatial Analyst 进行并行处理帮助主题包括有关此功能及其配置方法的详细信息。

    使用并行处理时,将写入临时数据以管理正在处理的数据区段。 默认的临时文件夹位置在您的本地 C: 驱动器上。 您可以通过设置名为 TempFolders 的系统环境变量并指定要使用的文件夹路径(例如,E:\RasterCache),来控制此文件夹的位置。 如果您拥有计算机管理员权限,还可以使用注册表键(例如,[HKEY_CURRENT_USER\SOFTWARE\ESRI\ArcGISPro\Raster])。

    默认情况下,此工具将使用可用核数的 50%。 如果输入数据大小小于 5,000 * 5,000 像元,则会使用更少的核。 您可以控制该工具用于并行处理因子环境的内核数。

  • 当输出栅格格式为 .crf 时,此工具支持金字塔栅格存储环境。 默认情况下,将在输出中创建金字塔。 对于任何其他输出格式,不支持此环境,并且不会创建金字塔。

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

参数

标注说明数据类型
输入流向栅格

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

可以使用流向工具创建流向栅格。

可使用 D8、多流向 (MFD) 或 D-Infinity 方法创建流向栅格。 可以使用输入流向类型参数来指定创建流向栅格时所使用的方法。

Raster Layer
输入权重栅格
(可选)

对每一像元应用权重的可选输入栅格。

如果未指定权重栅格,则将默认的权重值 1 应用于每个像元。 对于输出栅格中的每个像元,结果将是流入其中的像元数。

Raster Layer
输出数据类型
(可选)

输出累积栅格可以是整型、浮点型或双精度型。

  • 转为浮点型输出栅格将为浮点型。 这是默认设置。
  • 整型输出栅格将为整型。
  • 双精度输出栅格将为双精度型。
String
输入流向类型
(可选)

指定输入流向栅格类型。

  • D8输入流向栅格为 D8 类型。 这是默认设置。
  • MFD输入流向栅格为多流向 (MFD) 类型。
  • DINF输入流向栅格为 D-Infinity (DINF) 类型。
String

返回值

标注说明数据类型
输出累积栅格

显示每个像元累积流量的输出栅格。

Raster

FlowAccumulation(in_flow_direction_raster, {in_weight_raster}, {data_type}, {flow_direction_type})
名称说明数据类型
in_flow_direction_raster

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

可以使用流向工具创建流向栅格。

可使用 D8、多流向 (MFD) 或 D-Infinity 方法创建流向栅格。 可以使用 flow_direction_type 参数来指定创建流向栅格时所使用的方法。

Raster Layer
in_weight_raster
(可选)

对每一像元应用权重的可选输入栅格。

如果未指定权重栅格,则将默认的权重值 1 应用于每个像元。 对于输出栅格中的每个像元,结果将是流入其中的像元数。

Raster Layer
data_type
(可选)

输出累积栅格可以是整型、浮点型或双精度型。

  • FLOAT输出栅格将为浮点型。 这是默认设置。
  • INTEGER输出栅格将为整型。
  • DOUBLE输出栅格将为双精度型。
String
flow_direction_type
(可选)

指定输入流向栅格类型。

  • D8输入流向栅格为 D8 类型。 这是默认设置。
  • MFD输入流向栅格为多流向 (MFD) 类型。
  • DINF输入流向栅格为 D-Infinity (DINF) 类型。
String

返回值

名称说明数据类型
out_accumulation_raster

显示每个像元累积流量的输出栅格。

Raster

代码示例

流量 (FlowAccumulation) 示例 1(Python 窗口)

本示例将创建输入流向格网栅格的每个像元累积流量的栅格。

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outFlowAccumulation = FlowAccumulation("flowdir")
outFlowAccumulation.save("C:/sapyexamples/output/outflowacc01")
流量 (FlowAccumulation) 示例 2(独立脚本)

本示例将创建输入流向 IMG 栅格的每个像元累积流量的栅格。

# Name: FlowAccumulation_Ex_02.py
# Description: Creates a raster of accumulated flow to each cell.
# 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
inFlowDirRaster = "flowdir"
inWeightRaster = ""
dataType = "INTEGER"

# Execute FlowDirection
outFlowAccumulation = FlowAccumulation(inFlowDirRaster, inWeightRaster, dataType)

# Save the output 
outFlowAccumulation.save("C:/sapyexamples/output/outflowacc02.img")

相关主题