Area covered by a point cloud with R

自古美人都是妖i 提交于 2019-12-09 09:52:05

问题


I have a cloud of points scattered in a 2D Euclidean space. I would like to calculate the area inside the polygon linking the most extreme (=peripheral) points of the cloud. In other words, I would like to estimate the area covered by the cloud in this space. Is there a formula in R? Thanks a lot for any response Julien


回答1:


This is called the convex-hull problem; R built-in chull function should do the work. To count area, you may use a formula from here.

EDIT: Even better; splancs package has areapl function. So the function solving your problem should look like this:

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

For instance:

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);


来源:https://stackoverflow.com/questions/3672260/area-covered-by-a-point-cloud-with-r

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!