如何解决是否有 R 等效于 GRASS GIS 的 r.neighbors 范围?
使用这些参数在 QGIS GRASS r.neighbors 函数中出现了数千个 DEM geotiffs 错误
GRASS r.neighbors 邻域操作=范围,邻域大小=3
出现以下错误:-
2021-04-23T15:51:51 WARNING Duplicate parameter coordinates registered for alg v.net.visibility
我想在 R 中复制这个操作。
看起来唯一内置的focus()函数是mean()、var()而不是range()?与 GRASS 不同,输出栅格的确切范围与输入栅格范围不匹配?
是否有与 GRASS r.neighbors 邻域操作 = 范围,邻域大小 = 3 在 focus() 函数或一般 R 中等效的矩阵表达式?
解决方法
我假设“范围”是指焦点最小值和最大值之间的差异?您可以(至少)两种方式计算它
library(terra)
f <- system.file("ex/elev.tif",package="terra")
r <- rast(f)
xmn <- focal(r,3,min)
xmx <- focal(r,max)
rng <- xmx - xmn
或者像这样
x <- focal(r,function(i) diff(range(i)))
在有 NA 的情况下,结果略有不同。您可以使用 na.rm=TRUE
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。