2010-09-08 67 views
8

Tôi có một đám mây điểm nằm rải rác trong không gian 2D Euclide. Tôi muốn tính toán diện tích bên trong đa giác liên kết các điểm cực nhất (= ngoại vi) của đám mây. Nói cách khác, tôi muốn ước tính diện tích được bao phủ bởi đám mây trong không gian này. Có công thức nào trong R không? Cảm ơn bạn rất nhiều vì đã trả lời JulienDiện tích được bao phủ bởi một đám mây điểm với R

Trả lời

15

Điều này được gọi là vấn đề lồi; R được xây dựng trong chull chức năng nên làm công việc. Để tính diện tích, bạn có thể sử dụng công thức từ here.

CHỈNH SỬA: Tốt hơn nữa; splancs gói có chức năng areapl. Vì vậy, các chức năng giải quyết vấn đề của bạn sẽ giống như thế này:

cha<-function(x,y){ 
chull(x,y)->i 
return(areapl(cbind(x[i],y[i]))) 
} 

Ví dụ:

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' làm việc với các lớp học tạo ra để xử lý các vấn đề về không gian (xem gói' sp'). Có thể đáng khám phá theo hướng đó. –

Các vấn đề liên quan