0

使用这些参数在 QGIS GRASS r.neighbors 函数中出现了数千个 DEM geotiff

GRASS r.neighbors 邻域操作=范围,邻域大小=3

出现以下错误:-

2021-04-23T15:51:51     WARNING    Duplicate parameter coordinates registered for alg v.net.visibility

QGIS GRASS r.neighbors 问题

我想在 R 中复制这个操作。

看起来唯一内置的焦点()函数是mean(),var()而不是range()?并且输出栅格的确切范围与输入栅格范围不匹配,不像 GRASS?

在 focus() 函数或 R 中是否有等效于 GRASS r.neighbors 邻域操作 = 范围,邻域大小 = 3 的矩阵表达式?

R焦点功能参考

4

1 回答 1

1

我假设“范围”是指焦点最小值和最大值之间的差异?你可以用(至少)两种方式计算它

library(terra)
f <- system.file("ex/elev.tif", package="terra")
r <- rast(f)
 
xmn <- focal(r, 3, min)
xmx <- focal(r, 3, max)
rng <- xmx - xmn

或者像这样

x <- focal(r, 3, function(i) diff(range(i)))

在有 NA 的地方,结果略有不同。您可以使用na.rm=TRUE.

于 2021-04-23T17:31:12.043 回答