🌲 Potree — 大規模点群ビューア

数十億点の点群をブラウザでリアルタイム表示。
オクツリー LOD (Level of Detail) による効率的なストリーミングレンダリング。

10B+
対応ポイント数
LOD
段階的詳細化
Octree
空間分割
WebGL
レンダリング

LOD デモ

Level of Detail による段階的描画をシミュレーション

☁️ ポイント数:
📊 LOD:
0.05

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/ナビゲーション機能と連携。