地形位置指数 (Spatial Analyst)

需要 Spatial Analyst 许可。

摘要

计算指定领域内每个像元的地形位置索引值。

了解有关“地形位置指数”工作原理的详细信息

使用情况

  • 此工具的输出栅格包含每个像元的地形位置指数 (TPI) 值。 TPI 值是当前像元值与其邻域中所有像元的平均值之间的差值。

  • 可用的邻域形状有环形(圆环或环)、圆形、矩形和楔形。 使用核文件可定义自定义邻域形状。

  • 当指定圆形、环形或楔形邻域时,由于像元的中心必须位于在邻域中,因此在计算中可能不会考虑一些外部对角线像元。

  • 不规则邻域类型需要指定核文件值。 核文件是一个 ASCII 文本文件,用于指定邻域的值和形状。 可以使用任何纯文本编辑器来创建此文件。 文件的扩展名必须是 .txt,且文件名中没有空格。

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

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

参数

标注说明数据类型
输入表面栅格

输入表面栅格。

Raster Layer
邻域
(可选)

TPI 计算中将使用的处理像元周围的像元。 有多种预定义邻域类型可供选择,也可以定义自定义核。

选择邻域类型后,可设置其他参数来完全定义形状、大小和测量单位。 默认邻域是一个内半径为一个像元、外半径为三个像元的环形区域。

以下为可用邻域类型的形式:

  • 环形内半径外半径单位类型

    由内半径和外半径定义的环或圆环形邻域。 半径的最小值为 1 个像元,并且外半径必须大于内半径。 最大内半径为 2046 个像元,最大外半径为 2047 个像元。 默认环形的内半径为 1 个像元,外半径为 3 个像元。

  • 圆形半径单位类型

    具有给定半径的圆形邻域。 最小半径为 1 个像元,最大值为 2047 个像元。 默认半径为 3 个像元。

  • 矩形高度宽度单位类型

    由宽度和高度定义的矩形邻域。 宽度或高度的最小值为 1 个像元,最大值为 4096 个像元。 默认设置是宽度和高度为 3 个像元的正方形。

  • 楔形半径起始角度终止角度单位类型

    由半径、起始角度和终止角度定义的楔形邻域。 最小半径为 1 个像元,最大值为 2047 个像元。 楔形按逆时针方向从起始角延伸到终止角。 角度以度为单位进行指定,0 或 360 的值表示东方。 也可使用负角度。 默认楔形起始角度为 0 度,终止角度为 90 度,半径为 3 个像元。

  • 不规则核文件

    带有通过已识别核文本文件设置的规范的自定义邻域。 核宽度或高度的最小值为 1 个像元,最大值为 4096 个像元。

对于环形、圆形、矩形和楔形邻域类型,参数的距离单位能够以像元单位或地图单位进行指定。 默认设置为“像元”单位。

对于不规则邻域类型,核文件中的第一行将以像元数来定义邻域的宽度和高度。 后续各行将指示如何处理与核中该位置相对应的输入值。 核文件中的值为 0 表示相应位置将不包括在计算中。 核文件中的值为 1 表示相应的输入像元将包含在运算中。

Neighborhood

返回值

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

输出地形位置指数栅格。

Raster

TopographicPositionIndex(in_raster, {neighborhood})
名称说明数据类型
in_raster

输入表面栅格。

Raster Layer
neighborhood
(可选)

TPI 计算中将使用的处理像元周围的像元。 有多种预定义邻域类型可供选择,也可以定义自定义核。

选择邻域类型后,可设置其他参数来完全定义形状、大小和测量单位。 默认邻域是一个内半径为一个像元、外半径为三个像元的环形区域。

邻域的形状将由 Neighborhood 类进行定义。 可用的邻域类型有 NbrAnnulusNbrCircleNbrRectangleNbrWedgeNbrIrregular

以下为可用邻域类型的形式:

  • NbrAnnulus({innerRadius}, {outerRadius}, {units})

    由内半径和外半径定义的环或圆环形邻域。 半径的最小值为 1 个像元,并且外半径必须大于内半径。 最大内半径为 2046 个像元,最大外半径为 2047 个像元。 默认环形的内半径为 1 个像元,外半径为 3 个像元。

  • NbrCircle({radius}, {units}

    具有给定半径的圆形邻域。 最小半径为 1 个像元,最大值为 2047 个像元。 默认半径为 3 个像元。

  • NbrRectangle({width}, {height}, {units})

    由宽度和高度定义的矩形邻域。 宽度或高度的最小值为 1 个像元,最大值为 4096 个像元。 默认设置是宽度和高度为 3 个像元的正方形。

  • NbrWedge({radius}, {startAngle}, {endAngle}, {units})

    由半径、起始角度和终止角度定义的楔形邻域。 最小半径为 1 个像元,最大值为 2047 个像元。 楔形按逆时针方向从起始角延伸到终止角。 角度以度为单位进行指定,0 或 360 的值表示东方。 也可使用负角度。 默认楔形起始角度为 0 度,终止角度为 90 度,半径为 3 个像元。

  • NbrIrregular(inKernelFile)

    带有通过已识别核文本文件设置的规范的自定义邻域。 核宽度或高度的最小值为 1 个像元,最大值为 4096 个像元。

对于不规则邻域类型,核文件中的第一行将以像元数来定义邻域的宽度和高度。 后续各行将指示如何处理与核中该位置相对应的输入值。 核文件中的值为 0 表示相应位置将不包括在计算中。 核文件中的值为 1 表示相应的输入像元将包含在运算中。

Neighborhood

返回值

名称说明数据类型
out_raster

输出地形位置指数栅格。

Raster

代码示例

TopographicPositionIndex 示例 1(Python 窗口)

本例计算输入栅格中每个像元周围的环形邻域内出现频率最低的值。

from arcpy.sa import *
outTPI = TopographicPositionIndex("elevation.tif", "Annulus 1 3 CELL")
outTPI.save("C:/sapyexamples/output/tpiout01.tif")
TopographicPositionIndex 示例 2(独立脚本)

本例确定输入栅格中每个像元周围的 10×10 邻域内出现频率最低的值。

# Name: TopographicPositionIndex_standalone.py
# Description: Calculates the TPI.
# 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
inRaster = "elevation.tif"
inNeighborhood = "Circle 90 Map"

# Execute the tool
outTPI = TopographicPositionIndex(inRaster, inNeighborhood)

# Save the output 
outTPI.save("C:/sapyexamples/output/tpiout02.tif")

许可信息

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