आर

2010-09-08 5 views
8

के साथ एक बिंदु क्लाउड द्वारा कवर किया गया क्षेत्र मेरे पास 2 डी यूक्लिडियन स्पेस में बिखरे हुए बिंदुओं का बादल है। मैं क्लाउड के सबसे चरम (= परिधीय) बिंदुओं को जोड़ने वाले बहुभुज के अंदर के क्षेत्र की गणना करना चाहता हूं। दूसरे शब्दों में, मैं इस जगह में बादल द्वारा कवर क्षेत्र का आकलन करना चाहता हूं। क्या आर में कोई सूत्र है? किसी भी प्रतिक्रिया के लिए बहुत धन्यवाद जूलियनआर

उत्तर

15

इसे उत्तल-हल समस्या कहा जाता है; आर 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') बनाया वर्गों के साथ काम करता है। उस दिशा में खोज करने लायक हो सकता है। –