求点云的边界的方法小结

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

方法一:手动矢量法

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

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

方法二:最小几何边界

这是我们最容易想到的,也是最简单的操作方法,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中的生成临近表工具来实现。生成最小边界后,我还做了一个缓冲和平滑。下在是生成的效果图:

时间: 2024-08-06 23:51:17

求点云的边界的方法小结的相关文章

[转载]ASP.NET对路径"xxxxx"的访问被拒绝的解决方法小结

异常详细信息: System.UnauthorizedAccessException: 对路径“D:/temp1/MyTest.txt”的访问被拒绝 在windows 2003下,在运行web应用程序的时候出现一下错误: 服务器无法处理请求,-->对路径“C:/temp/mytest.txt”的访问拒绝 说明: 执行当前 Web 请求期间,出现未处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息: System.UnauthorizedAccess

ASP.NET对路径"xxxxx"的访问被拒绝的解决方法小结

异常详细信息: System.UnauthorizedAccessException: 对路径"D:/temp1/MyTest.txt"的访问被拒绝 在windows 2003下,在运行web应用程序的时候出现一下错误: 服务器无法处理请求,-->对路径"C:/temp/mytest.txt"的访问拒绝 说明: 执行当前 Web 请求期间,出现未处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息: System.

24.C语言最全排序方法小结(不断更新)

希尔排序: 该方法的基本思想是:先将整个待排元素序列切割成若干个子序列(由相隔某个"增量"的元素组成的)分别进行直接插入排序,然后依次缩减增量再进行排序,待整个序列中的元素基本有序(增量足够小)时,再对全体元素进行一次直接插入排序. 由于直接插入排序在元素基本有序的情况下(接近最好情况),效率是非常高的,因此希尔排序在时间效率上比前两种方法有较大提高. 以n=10的一个数组49, 38, 65, 97, 26, 13, 27, 49, 55, 4为例 第一次 gap = 10 / 2

百度贴吧云签到助手使用方法

贴吧云签到助手地址: http://tieba.aibing.cc 百度账号绑定: 注册个账号.进入签到助手/百度账号管理/自动绑定 贴吧云签到助手使用方法 输入百度账号绑定邮箱.密码即可绑定: 由于百度强制开启了异地登陆验证,很可能导致自动绑定失败.如果你确定输入无误但却提示账号密码错误,我们就只能使用 签到助手中的"手动签到".通过输入BDUSS来绑定: 1.点此登录需要绑定的百度账号2.点击此处获取BDUSS3.复制你看到的那一大串英文和数字(不包括双引号),粘贴到签到助手的输入

Linux将服务设置为开机自启动的方法小结

Linux设置为开机自启动的几种方法小结 和Windows一样,Linux也可以将一些服务设置为开机自启动,这样可以避免每次开机都会去打开某一个服带来的麻烦!Linux开机将服务设置为开机自启动的方法大概有一下几种: 一.ntsysv图形界面设置 ntsysv -> NeWT + SysV ,它是使用 newt 库的 SysV 风格的 runlevel 配置工具,Red Hat公司遵循GPL规则所开发的程序,它具有互动式操作界面,您可以轻易地利用方向键和空格键等,开启,关闭操作系统在每个执行等级

网页刷新页面方法小结

1.页面自动刷新:把如下代码加入<head>区域中 <meta http-equiv="refresh" content="20"> 其中20指每隔20秒刷新一次页面. 2.页面自动跳转:把如下代码加入<head>区域中 <meta http-equiv="refresh" content="20;url=https://www.baidu.com/"> 其中20指隔20秒后跳转

(转)java判断string变量是否是数字的六种方法小结

java判断string变量是否是数字的六种方法小结 (2012-10-17 17:00:17) 转载▼ 标签: it 分类: 转发 1.用JAVA自带的函数 public static boolean isNumeric(String str){ for (int i = 0; i < str.length(); i++){ System.out.println(str.charAt(i)); if (!Character.isDigit(str.charAt(i))){ return fal

: 求靠谱灭蟑螂的方法

发信人: clos (古尔丹之颅), 信区: Occupier标  题: Re: 求靠谱灭蟑螂的方法发信站: 水木社区 (Tue May 19 10:19:32 2015), 站内  请上京东,搜索拜乐.  非常好用,一个南方的同事推荐给我的,使用后基本见不到蟑螂了,亲测有效.-- 发信人: moonriver000 (moonriver000), 信区: Occupier标  题: Re: 求靠谱灭蟑螂的方法发信站: 水木社区 (Tue May 19 10:54:10 2015), 站内  粘

求Fibonacci数的三种方法和时间复杂度解析

题目: 定义Fibonacci数列如下: f(0)=1 f(1)=1 f(n)=f(n-1)+f(n-2), n>=2 输入n,用最快的方法求该数列的第n项. 解答一: 直接用公式写递归函数.很简单,很低效,就不写了.时间复杂度T(N) = T(N-1) + T(N-2); 也是f(n)本身,2^(n/2)<f(n)<2^n. 解答二: 用循环求,也很直接,效率很高了,时间复杂度是O(n). int f(int n) { if(n <= 1) return 1; int f0=1,