基于另一个层插入栅格图层中的间隙

时间:2016-01-14 15:23:00

标签: r matrix raster

我的栅格图层有数据间隙(r1),我希望使用n个相邻的单元填充其中的间隙,前提是这些单元格在r2中具有公共值。我希望以下示例可以提供这个想法。

library(raster)
r1 <- raster(ncol=4, nrow=4)
r1[] <- c(1:6,NA,4:9,NA,1,2)

r2 <- raster(ncol=4, nrow=4)
r2[] <- c(1,1,2,2,1,1,2,2,3,3,4,4,3,3,4,4)

1 个答案:

答案 0 :(得分:0)

您提供了两个数据集,但不是一个示例。也就是说,你没有解释你想要的结果。 NAr1个单元格的相邻单元格与r2中的这些单元格没有相同的值(仅r1r2的第一个单元格具有相同的价值,因此似乎没有解决方案。)

也许这就是你要找的东西:

s <- overlay(r1, r2, fun=function(x,y){ y <- x == y; y[!y] <- NA; y })
x <- focal(s, w=matrix(1,5,5), fun=mean, na.rm=TRUE, pad=T)
r <- cover(r1, x)