【问题标题】:Area covered by a point cloud with R用 R 点云覆盖的区域
【发布时间】:2023-04-06 02:43:01
【问题描述】:

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

【问题讨论】:

    标签: r cloud 2d surface area


    【解决方案1】:

    这称为凸包问题; 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);
    

    【讨论】:

    • rgeos::gArea 与为处理空间问题而创建的类一起工作(参见包sp)。可能值得朝那个方向探索。
    猜你喜欢
    • 1970-01-01
    • 2016-08-19
    • 1970-01-01
    • 2013-12-03
    • 1970-01-01
    • 2015-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多