Вы можете использовать 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 одинаковы, и, таким образом, ячейки первого и последнего столбцов фактически связаны.