zoukankan      html  css  js  c++  java
  • 求点云的边界的方法小结

    在实际生活中,很多时候我们采集的数据是有限点数据,插值可以生成面状的图层。一般要进行的步骤是利用点云的边界来裁切插值结果数据。这里总结一下求点云的最小边界的方法。

    方法一:手动矢量法

    如果数据量不大,手动矢量化,准确又简单。

    缺点:数据量大的情况下,就有点恼火了。

    方法二:最小几何边界

    这是我们最容易想到的,也是最简单的操作方法,arcgis中直接提供了这个工具。如果要求不是很高,这个方法可以达到目的。具体方法参考官网

    缺点:在于只有生成凸多边形,不能生成凹多边形。

    方法三:Tin转法

    大家可以去尝试一下这种方法,我没有试过。

    http://blog.csdn.net/esrichinacd/article/details/7788065

    方法三:点密度法

    http://bbs.3s001.com/thread-148639-1-1.html

    本人不建议使用此方法。

    方法四:聚合点法

    这里着重分析一下这个方法。在ArcGIS中聚合点工具的功能是将在近似点要素聚类周围创建面要素。至少要三点才能成面,所以它是在位于聚合距离范围内的三个或更多个点的聚类周围创建面。

    所以,使用这个方法的关键在于,如何设置最小聚合距离是非常关键的。先来看一下不同聚合距离的效果。

    上图分别150和 250个单位的处理结果,我们可以看出,两个图都漏了一个点,而且左边这个更有轮廓性。为了不掉数据,我们得增加距离才行啊。

    上图分别280和 500个单位的处理结果,我们可以看出,两个图都没有漏点,而且左边这个更有轮廓性。为了不掉数据并且边界更有轮廓性,我们得找一个临界值。

    要找到临界值,关键得理解帮助文档中的一句话——在位于聚合距离范围内的三个或更多个点的聚类周围创建面,也就是说,之前那一个点没有包含进去,是因为在那个距离内,没有三个点,如下图所示,要想9号点包含进去,我们需要设置的聚合距离应该包含184、185、20三个点,即9号到这三个点的最短距离的最大值,有点拗口。推而广之,也就是找到所有点,最近三个点的最短距离,然后选择其中的一个最大值,即为我们需要的临界值。

    这可以用arcgis中的生成临近表工具来实现。生成最小边界后,我还做了一个缓冲和平滑。下在是生成的效果图:

  • 相关阅读:
    省选模拟81
    概率期望+计数
    省选模拟80
    省选模拟79
    省选模拟78
    Jenkins 安装及 Git | Maven 安装
    虚拟机VirtualBox及轻量级的CentOS
    服务器免密码登录
    Nginx 常用配置模板
    IDEA配置 及 快捷键
  • 原文地址:https://www.cnblogs.com/liweis/p/4749096.html
Copyright © 2011-2022 走看看