
点群が重いときは、何が遅いかで操作を変えます。画面を回す・拡大する操作だけが遅いなら、元の点を減らさず表示だけを軽くします。対象外の範囲まで読み込んでいるなら切り出します。必要範囲の受け渡しや計算も重いときに限り、用途を決めた派生ファイルを間引きます。
間引いた一つのファイルを、閲覧、作図、数量計算へ共用しないでください。画面では同じ形に見えても、法肩・法尻や縁石が欠ければ、断面や補間面は変わります。
何が重いかを見て、最初の操作を決めます
| 起きていること | 最初に行うこと | 点群データへの影響 |
|---|---|---|
| 表示中の移動・回転だけが遅い | ビューアーにLOD、point budget、表示密度などがあれば下げる | 表示設定だけなら点は減らない |
| 必要範囲が全体の一部で、読込み・受け渡し・処理が重い | 必要範囲を切り出す | 派生ファイルから範囲外の点がなくなる |
| 必要範囲だけでも点が多く、計算や受け渡しが重い | 用途別のコピーを間引く | 派生ファイルから点がなくなる |
CloudCompareでは、原本ファイルを上書きしない前提で読み込み、DB Treeで対象点群を選びます。処理前に、原本の点数、座標系、色、反射強度、分類など必要な属性を記録します。表示機能の名称と動作はビューアーごとに異なるため、表示だけを軽くした後に、原本の点数が変わっていないことを確かめます。表示設定はファイル容量や計算点数を減らさないため、受け渡しや計算が重い問題には効きません。
対象外が多いなら、間引く前に切り出します
CloudCompareでは、点群を選んで`Edit > Crop`を開き、ボックスの中心と寸法、または最小・最大座標を指定します。Cropの公式説明のとおり、実行すると切り出した新しい点群ができ、読み込んだ原本自体は変更されません。切り出した点群を別名で保存し、原本を上書きしないでください。
切り出す境界は、画面に見せたい範囲ではなく、その後の仕事から決めます。断面を作るなら断面線の両側に必要な点を残し、数量を計算するなら計算境界と、面を作るために必要な周辺点を残します。境界のすぐ外を切ると、三角網や格子へ補間するときに端部の面が変わることがあります。
矩形では不要な部分が多く残る場合は、`Edit > Segment`で画面上の多角形を指定し、内側または外側を残します。Interactive Segmentation Toolは、採用する点と除く点を別の点群として作れます。どちらかを削除する確定操作ではなく、両方を残す出力を選び、必要範囲を確認してから保存します。
切り出した時点で作業できるなら、そこで止めます。点数を減らす理由がなくなった後まで間引く必要はありません。
間引く前に、減らしてはいけない場所を分けます
点群全体へ同じ間引きをかける前に、成果で位置を読む場所を別の点群へ分けます。断面・作図なら、法肩・法尻、縁石、開口、細い部材など、線や段差を決める場所です。土量や表面差なら、計算境界、急に勾配が変わる場所、取得時から点が少ない場所、採用する地表面の点を残します。
一般的な間引き処理は、どの点が施工上重要かを自動では判断しません。CloudCompareの`Edit > Segment`などで保護する範囲を先に分け、広く滑らかな面だけを間引きます。分類済みの点群を使う場合も、地表、植生、構造物など、数量計算へ採用する分類を決めてから処理します。色や見た目だけで地表点を選ばないでください。
必要な面が遮蔽物の裏にない場合は、周囲の点を残しても形は復元しません。欠測と高密度は別の問題なので、その場所は取得方法や取得方向を見直します。
Subsampleは、残る点の決まり方で選びます
CloudCompareでは、点群を選んで`Edit > Subsample`を開きます。公式説明では、次の方法が分かれています。いずれも入力点群から一部の点を選んだ新しい点群を作り、元の点を移動させません。実行後はDB Treeに新しい点群が追加され、元の点群は非表示になります。元の点群が削除されたわけではありません。新しい点群を確認し、その点群だけを別名で保存します。
- `Spatial`は、残す点どうしの最小距離を指定します。点の密度が場所によって違う点群を、指定した間隔より近い点が残らない状態にしたいときに使います。断面や面を作る用途では、まず代表範囲のコピーでこの間隔を試します。
- `Octree`は、空間を分けた各セルから、セル中心に最も近い元の点を一つ残します。セル単位で全域を軽くしたい場合に使います。階層を細かくすると残る点が増えます。
- `Random`は、指定した数または割合の点を無作為に残します。全体を眺める閲覧用には使えますが、必要な角や疎な場所を残す保証はありません。断面や数量に使うなら、無作為に減らしただけの点群をそのまま採用しません。
`Subsample`と`Octree > Resample`も別です。Resampleの公式説明では、各セル内の点を重心に置き換えるため、元の点とは違う座標の点が作られ、元の点に付いた色・法線・スカラーフィールドを保てません。元の観測点と属性を残したい軽量化では、名称が似ているという理由でResampleへ置き換えないでください。
軽量版は、同じ断面と計算結果で採否を決めます
全域を変換する前に、平らで密な場所、形が急に変わる場所、もともと疎な場所を含む代表範囲で試します。原本と軽量版をDB Treeで同時に選び、`Tools > Segmentation > Cross Section`を開いて、一つのクリッピングボックスで同じ位置を切り出します。法肩・法尻、縁石、細い部材、欠測周辺の形を比べます。Cross Sectionは、位置と向きを指定したボックス内を新しい点群として抽出できます。
数量に使う場合は、原本と軽量版で計算範囲、基準面、三角網や格子の作り方をそろえ、同じ数量を計算します。差がその仕事の許容範囲を外れたら、`Spatial`の最小距離を小さくする、`Octree`の階層を細かくする、保護範囲を広げる、のいずれかへ戻します。それでも満たせなければ、その軽量版は閲覧・受け渡し用に限定し、数量計算には切り出した原本か、範囲を分割した原本を使います。
採用した派生ファイルには、元ファイル、切り出した範囲、間引き方法と設定、処理前後の点数、残した属性、確認した断面・数量、用途を残します。軽量版で判断できない場所が出たときに、原本へ戻れる状態にします。