点群処理の全体像 — Point Cloud Viewerの各機能は現場で何に使うのか
この記事について
何となく点群ソフトを作ってきて、機能面ではエンジニア目線で分かっても、実際開発したアプリがどのように使われるのか?というのは、土木や建築現場で仕事をしてる人しか分かりません。
Point Cloud Viewerに実装した(または予定の)全機能について、「何のためにあるのか」「現場でどう使うのか」を整理した自分用リファレンス。
技術的な実装方法ではなく、各機能の存在意義と利用シーンにフォーカスしてAIに情報をまとめてもらいました。
[WEB App] Point Cloud Viewer v5 — PLY/LAS/LAZ/PCD/XYZ/CSV 点群データのブラウザ閲覧・編集・エクスポートツール // PROTOCOL.LAIN
PLY・LAS・LAZ・PCD・XYZ・CSV形式の点群データをブラウザ上で3D表示し、ボックス選択+削除、断面ポリライン生成(DXFエクスポート)、Octree LOD(八分木距離ベース描画最適化)、座標系選択+CRS変換(proj4・JGD2011全19系・UTM・WGS84)、高さベースヒートマップ、Intensity(反射強度)、Classification(ASPRS分類コード)表示、軸別スライス断面、2点間距離・3点面積計測、SORノイズ除去、PLY/GLB/LAS/PCD/XYZ/CSVエクスポート(6形式)、DXFエクスポート、およびスクリーンショット保存を行うWebツール。完全ローカル処理。
lain-lab.com
入力フォーマット(6種類)
PLY — 3Dスキャン・研究用途のデファクト
スタンフォード大学が策定した点群・メッシュフォーマット。
MeshLabやBlenderで標準サポート。iPhone LiDAR → Scaniverse → PLYエクスポートという流れで個人でも使える。
研究論文のサンプルデータもほぼPLY。 ASCII/Binaryの2種類がある。
誰が使うか: 3Dスキャンの個人ユーザー、大学・研究機関、CG制作者
LAS — 測量業界の標準
ASPRS(米国写真測量学会)が策定した点群の業界標準フォーマット。
航空LiDAR、地上レーザースキャナ、MMS(移動体計測)のデータは基本LASで納品される。
ヘッダーに座標系・スケール・オフセット情報を持ち、各点にIntensity(反射強度)やClassification(分類コード)を格納できる。
誰が使うか: 測量会社、建設コンサルタント、国交省・自治体の発注担当
LAZ — LASの圧縮版
LASファイルを算術符号化で圧縮した形式。
ファイルサイズが1/5〜1/10になる。データの受け渡しやアーカイブに使われる。中身はLASと同じ。
誰が使うか: LASと同じ。ネットで公開されてる点群データ(VIRTUAL SHIZUOKAなど)はLAZが多い。
PCD — ロボティクス・自動運転のデファクト
PCL(Point Cloud Library)プロジェクトが策定。
ロボットの3Dセンサー(Velodyne LiDAR等)のデータ処理で使われる。自動運転、ドローン測量、3D SLAMの研究で標準。
誰が使うか: ロボティクス・自動運転エンジニア、ドローン測量会社
XYZ / CSV — テキストベースの汎用フォーマット
スペース区切り(XYZ)やカンマ区切り(CSV)のプレーンテキスト。
Excelで開ける。測量の中間データや、他フォーマットに変換する際の中継地点。
誰が使うか: 全員。「とりあえずCSVにしておけば誰でも開ける」という安全牌。
出力フォーマット(6種類+DXF+PNG)
PLY — 3Dソフトへの受け渡し
MeshLab、Blender、CloudCompareで開ける。メッシュ化やレンダリングの前段階。
GLB — Web3Dとゲームエンジン
glTFのバイナリ版。SketchfabへのアップロードやUnity/Unreal Engineでの読み込みに使う。
LAS — 測量ソフトへの戻し
ノイズ除去やトリミングした点群を、TREND-POINTやTerraソリッドに戻す。Intensity/Classificationを保持したまま書き出せるのが重要。これができないと測量データとしての価値が失われる。
PCD — PCLツールチェーンへの戻し
PCLのフィルタリングやセグメンテーションに掛ける前処理として。
XYZ / CSV — Excelや他ツールへの汎用出力
座標リストとして渡す。GISソフト(QGIS)でもCSVインポートできる。
DXF — CAD図面化
AutoCADやJw_cadで直接開ける。断面プロファイルをDXFで出すと、そのまま横断面図の図面に組み込める。発注者への納品図面はDWG/DXFが基本。
PNG — 報告書用のスクリーンショット
工事報告書や技術提案書に「こういう点群を処理しました」の証拠として貼る。
表示機能
カラーモード — Original
ファイルに記録されたRGBカラーをそのまま表示。写真測量(フォトグラメトリ)で撮った点群は色が付いているのでリアルに見える。LiDARのみのデータは色が無い(灰色になる)。
使い道: 写真測量データの確認、プレゼン用の見栄えの良い表示
カラーモード — Height Heatmap
標高(Y軸)に応じて青→緑→黄→赤のグラデーション。地形の凹凸が一目で分かる。平坦に見える地面でも微妙な傾斜が色で見える。
使い道: 地形の高低差把握、排水計画(水が溜まる場所の特定)、法面の勾配確認
カラーモード — Intensity
LiDARの反射強度値。レーザーが物体に当たって戻ってきた光の強さ。アスファルトは低い、白線は高い、植物は中程度。カメラがなくても路面の状況が分かる。
使い道: 路面の白線・区画線の判読、舗装状態の確認、反射率による材質判別
カラーモード — Classification
ASPRS標準の分類コード。航空LiDARの業者が自動・手動で分類したデータ。
| コード | 分類 | 色 | 用途 |
|---|---|---|---|
| 2 | 地面 | 茶 | DEM(数値標高モデル)の生成元。これだけ抽出すれば地形が出る |
| 3-5 | 植生(低/中/高) | 緑系 | 樹木の高さ推定、森林管理 |
| 6 | 建物 | 赤 | 3D都市モデル(PLATEAU)の生成元 |
| 9 | 水域 | 青 | 河川・海岸の範囲把握 |
| 7,18 | ノイズ | 灰/橙 | 除去対象 |
使い道: 地面だけ抽出してDEM作成、建物だけ抽出して3Dモデル化、植生の除去
スライス断面
任意の軸(X/Y/Z)でMin〜Maxの範囲を指定し、その範囲外の点を非表示にする。
使い道:
- トンネルの内壁検査: Z軸でスライスして特定区間の内壁だけ表示し、変形や剥離を確認
- 建物の各階表示: Y軸(高さ)でスライスして2階部分だけ表示
- 道路の横断面確認: X軸でスライスして道路の断面形状を見る
- 配管・ダクトの確認: 壁を消して内部構造を露出させる
計測ツール(距離・面積)
点群上の点をクリックして2点間距離、3点の三角形面積を計測する。
使い道:
- 構造物の寸法確認: 橋脚の幅、ビルの高さ、道路幅員の概算
- 変形量の把握: 「この壁はどれくらい傾いているか」
- 面積の概算: 「この法面の補修面積はどのくらいか」
- 現況確認: 設計図通りの寸法になっているかの照合
SORノイズ除去
K近傍の平均距離を計算し、全体の平均+標準偏差×N倍を超える点を外れ値として除去。
使い道:
- 飛点除去: LiDARは鳥、虫、雨粒にも反射する。これらが「飛点」(離れた位置の偽点)になる
- マルチパスノイズ: ガラスや水面でレーザーが2回反射して変な位置に点が出る
- 前処理: メッシュ化やDEM生成の前に必ずノイズ除去する。ノイズが残っていると面が暴れる
ボックス選択+削除
矩形ドラッグで範囲選択し、不要な点群を手動で削除する。
使い道:
- 車両・人物の除去: 道路測量データから移動体を消して路面だけにする
- 電柱・電線の除去: 建物の点群だけ欲しいとき
- 不要エリアのトリミング: 「この建物の周辺だけ残して他は消す」
- 分類ミスの修正: Classification自動分類が間違えた部分を手動で消す
- SORで消えないノイズ: 密集したノイズ群(SORは「周囲にも点がある」と正常と判断してしまう)を手動で除去
断面ポリライン+DXFエクスポート
スライスした薄い断面から地表面プロファイル(稜線)を生成し、DXFで出力する。
使い道:
- 横断面図の作成: 道路設計で「この地点の地盤形状はこう」という図面。これを元に切土・盛土量を計算する
- 河川断面図: 洪水シミュレーションの入力データ。「この断面で何m³/sの水が流れるか」
- 法面の傾斜確認: 崖や盛土の断面形状を図面化して安定性を評価
- 施工前後の比較: 工事前の断面と工事後の断面を重ね合わせて出来形を確認
- DXFで出す理由: 発注者(国交省、自治体)の成果品はAutoCAD図面。CSVではなくDXFで渡す必要がある
Octree LOD
カメラに近い部分は高密度、遠い部分は間引いて表示する距離ベースの最適化。
使い道:
- 大規模データのブラウジング: 航空LiDARは1フライトで数千万点〜数億点。全部表示するとブラウザが固まる
- プレゼン・レビュー: 発注者への説明時にスムーズに動く点群を見せたい
- データの概要把握: まず全体を俯瞰して、気になる場所にズームインする
競合ソフトの対応:
- Potree: Octreeタイル+ストリーミングで数億点対応
- CloudCompare: Octreeベースの内部表現
- TREND-POINT: 独自LOD
座標系選択+CRS変換
入力データの座標系を指定し、エクスポート時に別の座標系に変換する。
なぜ座標系が重要か:
日本の公共測量は「平面直角座標系」を使う。全国を19のゾーンに分けてそれぞれ独自の原点を持つ。同じ場所でもゾーンが違えば座標値がまったく変わる。
| ゾーン | 主な地域 | EPSG |
|---|---|---|
| CS I | 長崎 | 6669 |
| CS IV | 香川 | 6672 |
| CS IX | 東京 | 6677 |
| CS XII | 北海道中部 | 6680 |
使い道:
- GISとの重ね合わせ: QGISで地図の上に点群を載せるには同じ座標系にする必要がある
- Google Earthへの表示: WGS84(緯度経度)に変換すればKML/KMZ化してGoogle Earthで見れる
- 異なるゾーンのデータ統合: 隣接する2つのゾーンの測量データを1つに結合するとき
- 海外データとの結合: 海外の点群データ(UTM座標)と日本のデータを同じ座標系に揃える
今後の実装予定と用途
元座標オフセットの保持
何: LASファイルのヘッダーに記録されている座標オフセット(原点座標)を保持し、エクスポート時に復元する。
なぜ: 現在は読み込み時にセンタリング(原点に移動)しているため、エクスポートしたLASファイルの座標値が元ファイルと一致しない。測量データは絶対座標で管理するため、この復元ができないとCRS変換も実用にならない。
任意直線の断面ポリライン
何: 現在の軸平行スライス(X/Y/Z軸に平行な面)ではなく、3Dビュー上でユーザーが引いた任意の直線で断面を切る。
なぜ: 道路は直線とは限らない。カーブしている道路の横断面を取るには、道路の法線方向に断面を切る必要がある。現状の軸平行スライスでは斜めの道路の断面が正しく取れない。
距離・面積ラベルの3D表示
何: 計測結果(2点間距離、面積)を3D空間上にテキストとして表示する。
なぜ: 現在は右パネルに数値が出るだけ。スクリーンショットに計測値を含めたい(報告書に「この寸法はXXm」と注記付きで貼りたい)。
Web Worker分離
何: ファイルのパース、SORフィルタリング、サンプリング処理をメインスレッドから分離する。
なぜ: 大きなLASファイル(100MB超)を読み込むとUIが数秒固まる。Web Workerに逃がせば読み込み中もカメラ操作できる。
メッシュ化(Delaunay / Poisson)
何: 点群から三角形メッシュ(サーフェス)を生成する。
なぜ: 点群は「点の集まり」であって「面」ではない。面にすれば体積計算(切土・盛土量)ができる。3Dプリント用のSTLデータも作れる。地形モデル(DEM/DSM)の生成にも使う。これがあると「点群ビューア」から「3D処理ツール」に格上げされる。
Potree形式の読み込み
何: Potreeのoctreeタイル構造で分割された超大規模点群データを読み込む。
なぜ: 数億点の点群を丸ごとブラウザに読み込むのは不可能。Potree形式なら必要な領域だけストリーミング読み込みできる。3D都市モデル(PLATEAU)の点群配信でも使われている。
GPU Octree(WebGPU)
何: WebGPUのCompute Shaderで八分木の走査と点群の描画をGPU側で行う。
なぜ: WebGLの限界は数千万点。WebGPUなら数億点を扱える。ただしブラウザ対応がまだまばら(2026年時点でChrome/EdgeのみでSafari/Firefoxは限定的)。
まとめ — 「100万円のソフトの中身」を分解する
業務用点群ソフト(TREND-POINT、Terra Solid、ReCap)は50万〜200万円する。しかし中身を分解すると:
| 機能カテゴリ | Point Cloud Viewerの対応 |
|---|---|
| 読み込み | PLY/LAS/LAZ/PCD/XYZ/CSV ✅ |
| 表示 | RGB/Height/Intensity/Classification ✅ |
| 選択・編集 | ボックス選択+削除 ✅ |
| ノイズ除去 | SOR ✅ |
| 断面 | 軸平行スライス+プロファイル ✅(任意直線は未) |
| 計測 | 距離・面積 ✅ |
| LOD | Octree LOD ✅ |
| 座標系 | CRS変換(JGD2011/UTM/WGS84) ✅ |
| エクスポート | 6形式+DXF+PNG ✅ |
| メッシュ化 | 未実装 |
| 帳票出力 | 未実装(行政向け帳票フォーマット) |
高価なソフトの値段の大部分は「行政に通る帳票」「サポート契約」「大規模データの安定性保証」にある。機能自体は数学的にそこまで複雑ではない。必要な機能だけ自作して無料で公開する——というのがこのプロジェクトの方針。