【重新发现PostgreSQL之美 - 31 激光点云 LiDAR - 一尺之锤日取一半万世不竭

背景


庄子在两千多年前就提出“一尺之锤日取一半万世不竭”, 说的是物体是可以被无限分割的, 反过来说, 我们的时空是由无限小的东西组成.

而今天量子理论体系下, 能量不是连续的, 由不可分割的量子组成.

不管谁对谁错, 我要表达的是, 我们可以从宏观去看这个世界, 也可以从微观去看这个世界, 尺度能做到做精细取决于当今的科技.

例如, 在表达一个建筑物的时候, 我们可以用一副照片就可以, 也可以全方位无死角的拍摄, 拍摄又有分辨率的差别

除了照片, 位置, 材质, 内部结构等等也是建筑物的表达

所以要表达一个东西, 和我们想把它表达到多细也是有莫大关系的. 激光点云是目前在3D打印、自动驾驶、测绘、3D城市、VR等领域非常常见的技术, 甚至Iphone手机都内置了激光雷达.

很显然激光点云的信息量非常巨大, 例如它的每个点包含的维度多(如三原色、材质、时间、位置等等)、且维度需要动态弹性

场景:

  • 3D打印、自动驾驶、测绘、3D城市、VR.
  • 激光雷达传感器.

挑战:

  • 数据量大, 要求高效写入和查询
  • 每个点存储的信息量大: 维度多(pcid表达格式,如三原色、材质、时间、位置等等)、且维度需要动态弹性, 存储和查询不方便
  • 存储空间消耗、计算挑战
  • 传统采用文件存储,
    • 数据效率低查询(为了得到一部分数据,您需要读取整个文件)
    • 无法并发性(一次只能有一个用户修改点/读取点)
    • 文件往往会有很多重复(每个工人都有自己的私有版本),没有数据的安全性(文件可能会被处理破坏,很难管理谁访问什么)
    • 很难同时使用几个不同的点云
    • 难以与其他空间数据(矢量、栅格、图像)一起使用点云

PG 解决方案:

  • 支持点云插件
  • 包含点云类型、patch类型、支持空间属性、附加属性
  • 支持自定义点云格式
  • 包含相应的索引和操作符接口
  • 自动压缩存储(二进制)
  • 支持高效写入、查询

pgPointcloud提供了一种在postgres数据库中有效存储点的方法。

实际上,pgpPointCloud存储点组(pcPoints),称为pcPatch,存储点组允许有效地压缩数据。

这个补丁有一个边界框,PostGIS空间特性可以使用它来大大加快查询速度。

pgPointcloud允许高效地查询非常大的点云。可以使用空间标准(哪些点在这个区域中)和点属性标准(between and)。

点云位于服务器中,它们可以用于处理或可视化,或流。

参考


https://pgpointcloud.github.io/pointcloud/concepts/index.html

《无人驾驶背后的技术 - PostGIS点云(pointcloud)应用 - 1》

《无人驾驶背后的技术 - PostGIS点云(pointcloud)应用 - 2》

https://pgpointcloud.github.io/pointcloud/faq.html

上一篇:物联网平台 --- iot studio跳转页面传递数据


下一篇:《嵌入式 Linux C 语言应用程序设计(修订版)》——导读