我的栅格图层有数据间隙(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)
答案 0 :(得分:0)
您提供了两个数据集,但不是一个示例。也就是说,你没有解释你想要的结果。 NA
中r1
个单元格的相邻单元格与r2
中的这些单元格没有相同的值(仅r1
和r2
的第一个单元格具有相同的价值,因此似乎没有解决方案。)
也许这就是你要找的东西:
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)