-编辑:以下信息不正确。请查看作者解释正确过程的信息。
TRI(Riley 1999)和TPI(Jenness 2002)相似,但不同。
要使用ArcGIS 10.x计算TRI和TPI ...
步骤1:使用“焦点统计”工具从DEM中创建2个新的栅格数据集。
栅格1“ MAX”)邻域:矩形,高度:3,宽度:3,单位:像元,统计信息类型:最大值
栅格2“ MIN”)邻域:矩形,高度:3,宽度:3,单位:像元,统计信息类型:最小值
步骤2:使用栅格计算器对刚创建的2个栅格数据集执行以下功能。
对于TRI:SquareRoot(Abs((Square(“%MAX%”)-Square(“%MIN%”))))
对于TPI:(“%Input DEM%”-“%MIN%”)/(“%MAX%”-“%MIN%”)
这是从我为TRI建立的模型中导出的示例Python代码。
# -*- coding: utf-8 -*-
# ---------------------------------------------------------------------------
# script.py
# Created on: 2014-03-06 08:56:13.00000
# (generated by ArcGIS/ModelBuilder)
# Usage: script <Input_raster> <TRI_Raster>
# Description:
# ---------------------------------------------------------------------------
# Import arcpy module
import arcpy
# Check out any necessary licenses
arcpy.CheckOutExtension("spatial")
# Script arguments
Input_raster = arcpy.GetParameterAsText(0)
TRI_Raster = arcpy.GetParameterAsText(1)
if TRI_Raster == '#' or not TRI_Raster:
TRI_Raster = "C:\\Users\\Documents\\ArcGIS\\Default.gdb\\rastercalc1" # provide a default value if unspecified
# Local variables:
MIN = Input_raster
MAX = Input_raster
# Process: 3x3Max
arcpy.gp.FocalStatistics_sa(Input_raster, MAX, "Rectangle 3 3 CELL", "MAXIMUM", "DATA")
# Process: 3x3Min
arcpy.gp.FocalStatistics_sa(Input_raster, MIN, "Rectangle 3 3 CELL", "MINIMUM", "DATA")
# Process: Raster Calculator
arcpy.gp.RasterCalculator_sa("SquareRoot(Abs((Square(\"%MAX%\") - Square(\"%MIN%\"))))", TRI_Raster)