【发布时间】:2017-09-04 00:12:48
【问题描述】:
我需要获取比所需的激光雷达测量点列表(经度、纬度和海拔)更大(更密集)的地形定义,并根据二维网格对其进行抽取。我们的想法是最终使用经度、纬度 (x,y) 值基于 NxN(即 1 米 x 1 米)维度网格的点,从而消除超出需要的点。目标是确定抽取后网格中每个点的高程是多少,而不是将高程用作抽取规则本身的一部分。
一个实际的或精确结构化的网格不是必需的,也不是这里的目标,我只使用网格术语来最好地近似我设想的点云的剩余部分,然后以我们总是有一个点的方式减少它在一定半径内(即1米)。可能有比网格更好的术语。
如果我可以从抽取算法开始或使用可能已经存在的可以在 Ubuntu 上运行的项目中执行此操作的命令行工具,我想自己用脚本或编程语言编写代码/编写脚本从我们的应用程序作为系统调用调用。该方法不应该要求使用基于 GUI 类型的软件或工具来解决这个问题。它需要成为一组自动化步骤的一部分。
数据当前存在于制表符分隔值文件中,但如果使用数据库/sql 查询驱动算法会更好/更快,我可以将数据加载到 sqlite 数据库文件中。理想的脚本语言是 ruby 或 python,但实际上可以是任何一种,如果已经存在 C/C++/C# 库,那么我们可以根据需要包装它们。
想法?
更新 澄清这个抽取列表的结果的用途:给定用户的位置(通过纬度和经度知道),列表中最近的点是什么,反过来它的海拔是多少?我们现在当然可以这样做,但是我们拥有的数据比需要的多,所以我们只想放宽数据的密度,这样如果我们可以在允许的距离(即 1 米)内找到最近的点,如果能够使用抽取列表与完整列表。列表中的纬度、经度值是十进制 GPS(即 38.68616190027656、-121.11013105991036)
【问题讨论】:
-
可以分享数据吗???为了正确理解您,在构建 Grid 之后,您要为每个网格单元保留哪个点??
-
@DaviddelaIglesia,我可以尝试创建一些示例数据。精确的网格不是目标,只是列表/云中最接近实际网格可能基于纬度和经度的点。我刚刚注意到您的回答,并会在一分钟内对其进行审核。
-
我会更新很多答案以满足您的更新
-
据我所知,您的答案可能是我已经需要的,只是我还没有时间测试它。可能要到星期一才能做到。我更新了我的帖子,以更清楚地说明我这样做的原因。
-
我认为我的新答案应该是寻找新用户高度的更有效方式
标签: algorithm point-cloud-library point-clouds lidar