想象一个光栅:
library(raster)
r = raster(nrow=3, ncol=3)
r[] = c(1,NA,1,1,NA,NA,1,NA,1)
plot(r)
如何按升序对连续补丁(不在对角线上)进行分类?在此示例中,图左侧的三单元补丁被重分类为“ 1”,右上补丁被重分类为“ 2”,右下补丁被重分类为“ 3”。
实际的重新分类值(以及它们在栅格中出现的顺序)并不重要。重要的是,每个相连的(或单个单元)“岛”都用一个新的唯一数字表示。
答案 0 :(得分:1)
您可以将raster::clump
与参数directions=4
一起使用,以不对角线连接(对于此示例数据来说,没有关系,因为没有这种情况)。
library(raster)
r <- raster(nrow=3, ncol=3, xmx=0)
values(r) <- c(1,NA,1,1,NA,NA,1,NA,1)
x <- clump(r, directions=4)
plot(x)
请注意,我添加了xmx=0
以避免全局栅格。否则,只有一个补丁,因为经度-180和180相同,因此实际上第一列和最后一列的单元都已连接。