使用R - 我希望计算封闭在特定闭合轮廓水平内的区域(形成多边形)。这已在其他地方得到解决,但如果这些封闭的轮廓彼此隔离,我也希望单独计算该区域。
一个例子:
library(splancs)
x <- c(1,0,0,1,1,1.5,1.5,3,3,1)
y <- c(0,0,1,1,0,0,2,2,0,0)
m <- cbind(x, y)
plot(m, type="b")
areapl(m)
这给出了一个面积= 4 ....但我希望将输出作为对应于每个孤立多边形的单独区域的区域c(1,3)的列表。
这只是一个玩具的例子。在我的真实数据中,我首先不知道多边形的坐标,而且我不知道有多少个孤立的多边形。
任何想法都会很棒 - 我愿意使用其他R空间包。
答案 0 :(得分:0)
我能够通过转换为栅格并使用光栅包中的clump来解决这个问题:
r <- raster(ncols=12, nrows=12)
set.seed(0)
r[] <- round(runif(ncell(r))*0.7 )
rc <- clump(r)
freq(rc)
plot(r)
plot(rc)
此示例直接来自栅格包 - 我已将其发布,因为它可能与其他人相关!