有人知道如何根据区域删除某些光栅部分?
library(raster)
# create some raster data
r <- raster(ncols=12, nrows=12)
set.seed(0)
r[] <- round(runif(ncell(r))*0.7 )
rc <- clump(r)
在这个例子中,我有一些包含3个cels,4个单元格和5个单元格的片段,但是如何删除2个cels的路径?
答案 0 :(得分:0)
也许这个?
r[is.na(match(values(rc), (1:maxValue(rc))[table(getValues(rc))>2]))] <- NA
我确信这是一个更优雅的解决方案。
table
列出每个丛集ID的单元格数。识别出大于2的那些,并从向量(1:maxValue(rc))
中提取这些ID。然后,使用match
在clump栅格中找到具有这些ID的单元格。那些未找到的内容会返回NA
,因此我会使用is.na
进行检查。最后,原始栅格中的相应单元格将替换为NA
。