如何在保持数据限制的同时平滑r中的光栅

  • 本文关键字:平滑 数据 r raster smoothing
  • 更新时间 :
  • 英文 :


我有一个看起来有点"pixel-y"的光栅,我想创建一个更平滑的版本来生成一个漂亮的地图。下面是一个示例数据集:

library(raster)
r <- raster(ncol=10, nrow=10)
values(r) <- runif(ncell(r))

我试过了:

plot(r,interpolate=TRUE)

但我不喜欢它的样子。然后我尝试了:

rr <- disaggregate(r, 3, method='bilinear')

这看起来好多了,但它改变了我的值的上限。我需要通过平滑创建的新值来保持旧数据的限制(即0到1(你知道我该怎么做吗?

一个简单的方法是在对重新采样后对值进行箝位

library(raster)
r <- raster(nrow=10, ncol=10, xmn=0, xmx=10, ymn=0, ymx=10, vals=(1:100)/100)
rr <- disaggregate(r, 3, method='bilinear')
rr <- clamp(rr, 0, 1)

这可能已经足够好了,因为你应该只得到边缘观察范围之外的(几个(值。

另一种方法是使用focal。

x <- disaggregate(r, 3)
f <- focal(x, matrix(1,3,3))

最新更新