我试图计算精细分辨率光栅上的细胞数量是否适合较粗糙光栅的每个细胞。分辨率和范围不同。现在假设坐标系已经重新投影并匹配。
require(raster)
# make a fine res raster (and create some NA cells)
set.seed(234)
fine <- raster(xmn=0,xmx=500,ymn=0,ymx=500,res=c(10,10))
fine[] <- sample(c(1:3),size=2500,replace=T)
fine[runif(50*50) >= 0.50] <- NA
# make a coarse res raster
set.seed(345)
coarse <- raster(xmn=-47,xmx=558,ymn=-13,ymx=592,res=c(55,55))
coarse[] <- 1:ncell(coarse)
# plot for visual
plot(coarse)
plot(fine,add=T)
如果精细光栅没有完全覆盖粗细胞,我不感兴趣。
# crop the coarse by the fine (using snap="in)
# to retain coarse cells totally covered by fine
coarse.red <- crop(coarse, fine, snap="in")
那我该怎么办
将精细光栅转换成点,并在this answer中使用jbaums(使用rasterToPoints和tab)回答各种不错的小技巧很棒,但是我不能将这种技术用于我的最终数据,点数量由于光栅的大小非常大,因此会产生抑制作用。
由于范围/解决方案问题,Zonal不是一个选项