天天看點

【重新發現PostgreSQL之美 - 31 雷射點雲 LiDAR - 一尺之錘日取一半萬世不竭

背景

莊子在兩千多年前就提出“一尺之錘日取一半萬世不竭”, 說的是物體是可以被無限分割的, 反過來說, 我們的時空是由無限小的東西組成.

而今天量子理論體系下, 能量不是連續的, 由不可分割的量子組成.

不管誰對誰錯, 我要表達的是, 我們可以從宏觀去看這個世界, 也可以從微觀去看這個世界, 尺度能做到做精細取決于當今的科技.

例如, 在表達一個建築物的時候, 我們可以用一副照片就可以, 也可以全方位無死角的拍攝, 拍攝又有分辨率的差别

除了照片, 位置, 材質, 内部結構等等也是建築物的表達

是以要表達一個東西, 和我們想把它表達到多細也是有莫大關系的. 雷射點雲是目前在3D列印、自動駕駛、測繪、3D城市、VR等領域非常常見的技術, 甚至Iphone手機都内置了雷射雷達.

很顯然雷射點雲的資訊量非常巨大, 例如它的每個點包含的次元多(如三原色、材質、時間、位置等等)、且次元需要動态彈性

場景:

  • 3D列印、自動駕駛、測繪、3D城市、VR.
  • 雷射雷達傳感器.

挑戰:

  • 資料量大, 要求高效寫入和查詢
  • 每個點存儲的資訊量大: 次元多(pcid表達格式,如三原色、材質、時間、位置等等)、且次元需要動态彈性, 存儲和查詢不友善
  • 存儲空間消耗、計算挑戰
  • 傳統采用檔案存儲,
    • 資料效率低查詢(為了得到一部分資料,您需要讀取整個檔案)
    • 無法并發性(一次隻能有一個使用者修改點/讀取點)
    • 檔案往往會有很多重複(每個勞工都有自己的私有版本),沒有資料的安全性(檔案可能會被處理破壞,很難管理誰通路什麼)
    • 很難同時使用幾個不同的點雲
    • 難以與其他空間資料(矢量、栅格、圖像)一起使用點雲

PG 解決方案:

  • 支援點雲插件
  • 包含點雲類型、patch類型、支援空間屬性、附加屬性
  • 支援自定義點雲格式
  • 包含相應的索引和操作符接口
  • 自動壓縮存儲(二進制)
  • 支援高效寫入、查詢

pgPointcloud提供了一種在postgres資料庫中有效存儲點的方法。

實際上,pgpPointCloud存儲點組(pcPoints),稱為pcPatch,存儲點組允許有效地壓縮資料。

這個更新檔有一個邊界框,PostGIS空間特性可以使用它來大大加快查詢速度。

pgPointcloud允許高效地查詢非常大的點雲。可以使用空間标準(哪些點在這個區域中)和點屬性标準(between and)。

點雲位于伺服器中,它們可以用于處理或可視化,或流。

https://github.com/digoal/blog/blob/master/202106/20210620_01.md#%E5%8F%82%E8%80%83 參考

https://pgpointcloud.github.io/pointcloud/concepts/index.html 《無人駕駛背後的技術 - PostGIS點雲(pointcloud)應用 - 1》 《無人駕駛背後的技術 - PostGIS點雲(pointcloud)應用 - 2》 https://pgpointcloud.github.io/pointcloud/faq.html

繼續閱讀