2017-09-15 94 views
0

使用R - 我希望计算封闭在特定封闭轮廓线内的区域(以形成多边形)。这已在其他地方讨论过,但如果这些封闭轮廓彼此隔离,我还希望分别计算该区域。个别封闭轮廓内的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 ....但是我想有输出作为(1,3)区域C的列表对应于每个分割区域孤立的多边形。

这只是一个玩具的例子。在我的真实数据中,我不知道多边形的坐标,我不知道会有多少孤立的多边形。

任何想法都会很棒 - 我愿意使用其他R空间包。

+0

如果数据的格式可以很容易地从'sp'包导入到Spatial *中,并且每个孤立的多边形都有自己的ID,'rgeos :: gArea(m,byID = T)'将会做你需要的。 – Jul

回答

0

我能够通过转换为栅格和使用丛从光栅包来解决这个问题:

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) 

这个例子是直接从光栅包 - 我已经发布了它,因为它可能与其他人!