【发布时间】:2017-09-24 16:42:41
【问题描述】:
我有一个非负值的光栅矩阵(每个像素都有一个高度值),并且想使用矩阵边缘周围的对称填充来计算一些具有 5x5 移动窗口的自定义高度指标。
我在 QGIS 中使用 pktools(空间过滤器)进行了一些基本计算(平均值、标准差、最大值),这使我能够做到这一点(使用零填充、复制或对称填充)。
现在我想使用自定义函数计算其他一些指标(即高度系数、偏度和峰度),我不能使用 pktools。我一直在尝试在raster 中使用focal() 函数,但是padValue 需要是数字的。有没有办法解决这个问题,所以我可以有对称的边界?我尝试了以下方法:
> f.CoH <- function(x) {sd(x)/mean(x)}
>
> CoH <- focal(raster, w=matrix(1,nrow=5,ncol=5), fun=f.CoH, pad=TRUE,
> padValue="symmetric")
但是得到以下错误:
> Warning message: In .local(x, ...) : NAs introduced by coercion
谢谢
【问题讨论】: