You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于terra包中SpatRaster粗糙度指数计算逻辑的技术问询

关于terra包地形指数的疑问与栖息地模型需求

一、terra包地形指数计算逻辑疑问

terra包提供了以下地形指数计算方法:

x <- terrain(x, v="roughness")
x <- terrain(x, v="TPI")
x <- terrain(x, v="TRI")

根据包文档描述:

  • 粗糙度(roughness):定义为「某单元格与其8个相邻单元格的最大值与最小值之差」(Hijmans et al. 2023)。我对此存在疑问:边缘及角落单元格如何处理?是否会缩减为与3个(角落)或5个(边缘)相邻单元格进行计算?
  • 崎岖度(TRI):定义为「某单元格与其8个相邻单元格的绝对差值的平均值」。我绘制了图示来呈现对该指数计算逻辑的理解,请问这个理解是否正确?

另外,我查阅了函数引用的Jones(1998)文献,其正确标题为《A comparison of algorithms used to compute hill slope as a property of the DEM》(DOI:10.1016/S0098-3004(98)00032-6),但未找到粗糙度的计算公式,希望获取更多相关资料。

二、栖息地模型相关需求与代码

我需要基于DSM计算大于16°的坡度,并以1.3m高差作为栖息地模型的判定标准,认为地形指数可能更适合该需求,当前坡度分类代码如下:

## > 16° slope
habitat_slope_mat <- matrix(nrow = 2, ncol = 3)
habitat_slope_mat[1, ] <- c(0,16,0) # from,to = 0 absent
habitat_slope_mat[2, ] <- c(16,minmax(x)[2],1) # from,to = 1 present

habitat_slope <- classify(x, habitat_slope_mat, include.lowest=TRUE)

内容的提问来源于stack exchange,提问作者Mark Thompson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 00:05:47