用点云覆盖的区域与R

问题描述:

我有一个散布在二维欧几里得空间中的点云。我想计算连接云中最极端(=周边)点的多边形内的面积。换句话说,我想估计这个空间中云所覆盖的区域。 R中有公式吗? 非常感谢您的回复 Julien用点云覆盖的区域与R

这被称为凸包问题; R内置chull函数应该做的工作。要计算面积,您可以使用here中的公式。

编辑:更好; 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); 
+0

'rgeos :: gArea'工作与创建以处理空间问题(见包'sp')班。可能值得在这个方向上探索。 – 2011-04-19 08:53:21