300万点超の点群データをブラウザで快適に表示する - Potree LODビューアの構築
大規模な点群データ(LiDAR/LAZ)をWebブラウザで表示しようとすると、メモリ不足でクラッシュしてしまうことがあります。本記事では、Potree のLOD(Level of Detail)技術を使って、数百万点の点群をストレスなく表示する方法を紹介します。 https://3dtiles-viewer.vercel.app/potree-lod-viewer.html 使用データ データ名 : Utah State Capitol(ユタ州議事堂) 出典 : OpenTopography ダウンロードURL : https://object.cloud.sdsc.edu/v1/AUTH_opentopography/www/education/MatlabTopo/Utah_state_capitol.laz ファイルサイズ : 15MB(LAZ圧縮) 点数 : 3,481,512点 位置 : Salt Lake City, Utah, USA 課題 このデータをそのままThree.jsなどで読み込もうとすると、ブラウザがフリーズする可能性があります。 解決策:Potree Potreeは、大規模点群データのためのWebGLベースのビューアです。**LOD(Level of Detail)**により、カメラに近い部分は詳細に、遠い部分は粗く表示することで、数十億点のデータでもスムーズに動作します。 仕組み 点群をオクトリー構造 で空間分割 各ノードに異なる詳細度のデータを格納 視点に応じて必要なノードのみ動的に読み込み 手順 1. LAZファイルのダウンロード c u r " l h t - t L p s : / / u o t b a j h e _ c c t a . p c i l t o o u l d . . l s a d z s c \ . e d u / v 1 / A U T H _ o p e n t o p o g r a p h y / w w w / e d u c a t i o n / M a t l a b T o p o / U t a h _ s t a t e _ c a p i t o l . l a z " 2. LAZからPotree形式への変換 PotreeConverterをDockerで実行します。 ...