2010-09-08 113 views
8

我有一個散佈在二維歐幾里得空間中的點雲。我想計算連接雲中最極端(=周邊)點的多邊形內的面積。換句話說,我想估計這個空間中雲所覆蓋的區域。 R中有公式嗎? 非常感謝您的回覆 Julien用點雲覆蓋的區域與R

回答

15

這被稱爲凸包問題; 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