🌲 Potree — 大規模点群ビューア
数十億点の点群をブラウザでリアルタイム表示。
オクツリー LOD (Level of Detail) による効率的なストリーミングレンダリング。
LOD デモ
Level of Detail による段階的描画をシミュレーション
Potree 技術解説
大規模点群のブラウザ表示を可能にする仕組み
オクツリー (Octree)
3D空間を8分割する木構造。各ノードが点群の一部を保持し、 カメラに近いノードほど高解像度のデータを読み込む。 これにより数十億点でも、表示に必要な部分だけを効率的に処理。
LOD (Level of Detail)
遠くの点群は少数の代表点で表示し、近づくにつれて詳細化。 Root → Level 1 → Level 2 → ... と段階的に読み込み、 常に一定のポイント数を画面に表示。
ストリーミング
全データを一括ダウンロードせず、必要なオクツリーノードだけを HTTP で随時取得。最初の表示は数秒で完了し、 ナビゲーションに合わせて詳細化が進行。
PotreeConverter
LAS / LAZ / PLY 等の点群ファイルをオクツリー形式に変換するツール。
コマンド一発でブラウザ表示用データを生成。
PotreeConverter input.las -o output_dir
Potree 導入パイプライン
| ステップ | ツール | 入力 | 出力 | 所要時間 |
|---|---|---|---|---|
| 1. 点群取得 | LiDAR / COLMAP | 写真 / スキャン | .las / .ply | 5分〜数時間 |
| 2. 変換 | PotreeConverter | .las / .ply | Octree ディレクトリ | 数秒〜数分 |
| 3. 配信 | Nginx / S3 | Octree files | HTTP ストリーミング | — |
| 4. 表示 | Potree Viewer | HTTP URL | WebGL 3D表示 | リアルタイム |
セットアップガイド
P1000 GPU 環境でPotreeを始める
Step 1: PotreeConverter インストール
GitHub からビルド済みバイナリをダウンロード。
# Ubuntu/Debian wget https://github.com/potree/PotreeConverter/releases/latest/download/PotreeConverter_linux_x64.zip unzip PotreeConverter_linux_x64.zip
Step 2: 点群を変換
PLY/LAS ファイルをオクツリー形式に変換。
./PotreeConverter input.ply -o ./potree_output --generate-page index # → potree_output/ に HTML + octree ファイルが生成
Step 3: Nginx で配信
変換結果を Web サーバーにデプロイ。
# Docker の場合 COPY potree_output/ /usr/share/nginx/html/potree/
Step 4: ビューア統合
Potree Viewer をカスタムHTMLに組み込み、POI/ナビゲーション機能と連携。