点群の世界を歩き回ってみた

GLIMとかで点群データを作ったはいいけど、CloudCompareで思った通りの位置や方向から見るのが難しい。すぐによくわからない方向に傾いて苦労する。

ゲームみたいに3Dで入り込んで自由に移動できればデータの把握が楽なんだけど・・・というのを実現しました。といっても、Potreeというツールを使っただけですが。

自分のやりたい点群データの中を自由に歩き回るという目的は果たせました。




この方法だと、CloudCompareなどで見た時と何が違うの?

ゲームのような感じで移動でき、勝手に傾きません。

矢印キーやWASDキーで、高さを変えず水平な面の上を前後左右に移動。
Page Upキー/Page Downキーで位置の高さの変更。
マウスで進行方向変更や視点の移動。

つまり、マウス操作したときに限り、ヨー回転します。
キー移動で、勝手にロール回転やピッチ回転しません。で通じるかな・・・説明下手だ。

材料

今回はGLIMで出力した点群を使ってるけど、他の点群でも応用できるはず。

材料 説明
PLYファイル(GLIMからエクスポートした点群) PLYフォーマット。ローカル座標系。単位はm。
PDAL Docker版。Ver. 2.9.2
Potree Desktop 1.8.0
Windows 11 PC Potree Desktopではなく Potree を使うなら他のOSでもOK
WSL環境 (Ubuntu 22.04) PDALが動けば、他のOSでもOK


インストール方法は別の記事参照

www.sato-susumu.com

PLYフォーマットからLAZフォーマットへの変換

PotreeはPLYフォーマットをサポートしてないので、LAZフォーマットに変換。あと色を付けたほうが見やすいので白色を設定。

ターミナルでWSL(Ubuntu 22.04)に切り替えてから、pdalのバージョン確認

$ pdal --version
--------------------------------------------------------------------------------
pdal 2.9.2 (git-version: 268d77)
--------------------------------------------------------------------------------


入力データを確認

$ pdal info -p 0 input.ply
省略
    {
      "PointId": 0,
      "X": -1.494488597,
      "Y": 0.2433892488,
      "Z": 0.3513868749
    }
省略


変換。

$ pdal translate input.ply output.laz \
  assign \
  --filters.assign.value="Red=65535" \
  --filters.assign.value="Green=65535" \
  --filters.assign.value="Blue=65535" \
  --writers.las.dataformat_id=2 \
  --writers.las.minor_version=2 \
  --writers.las.compression=true


変換結果の確認。精度は落ちてるけど誤差範囲。(--writers.las.scale_xなどでスケールを指定すれば誤差を減らせます。)

$  pdal info -p 0 output.laz
省略
      "Blue": 65535,
省略
      "Green": 65535,
省略
      "Red": 65535,
省略
      "X": -1.49,
      "Y": 0.24,
      "Z": 0.35
省略


準備方法

Windows上で、Potree Desktopを起動

LAZファイルをPotree Desktopのウィンドウにドラッグ&ドロップ

ヘリコプターを押してから、点群表示部分を押す

ヘリコプターを押しても画面に変化がなく分かりにくいけど、安心してください、効いてます。

歩き回る方法

入力 操作 / キー 動作
キーボード W / ↑ 前進
キーボード S / ↓ 後退
キーボード A / ← 左に平行移動
キーボード D / → 右に平行移動
キーボード R / Page Up 上昇
キーボード F / Page Down 下降
マウス 左クリック+ドラッグ 方向の操舵/カメラ方向の変更
マウス 右クリック+ドラッグ 上昇/下降、左右平行移動
マウス スクロールホイール 移動速度の加速/減速

移動速度はヘリコプターアイコンの下にあるSpeedでも変更できる。

オプション:点群の高さに応じて色を変える

Point Cloudsで該当ファイルを選択して、Attributeでelevationを選択

オプション:点群を点一つ一つが目立つようにする

点一つ一つを目立たせる機能があり、デフォルトはON。
ON/OFFや目立ち方の調整は Eye-Dome Lighting でできる。

リンク

点群 LAS ファイルの仕様の詳細解説