点云在R中的覆盖区域

10

我在一个二维欧几里得空间中有一堆点。 我想计算出连接云中最极端(=外围)点的多边形内部的面积。 换句话说,我想估计云在该空间中覆盖的面积。 是否有R语言的公式可以解决呢? 非常感谢您的回复! 朱利安

1个回答

16

这被称为凸包问题; R内置的chull函数应该可以解决。要计算面积,您可以使用这里提供的公式。

编辑:更好的方法是,splancs软件包具有areapl函数。因此,解决您的问题的函数应如下所示:

cha<-function(x,y){
chull(x,y)->i
return(areapl(cbind(x[i],y[i])))
}
例如:
library(splancs);
x<-rnorm(20);rnorm(20)->y;
#Some visualization
i<-chull(x,y);plot(x,y);polygon(x[i],y[i]);
#The area
cha(x,y);

rgeos::gArea 与为处理空间问题而创建的类(请参阅软件包 sp)一起使用。在这个方向上值得探索。 - Roman Luštrik

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接