点群OBJの孤立頂点で表示範囲が広がる原因
点群をOBJ形式で保存し、閲覧環境やクラウドへアップロードしたとき、点群本体が画面の中央に極端に小さく表示されることがあります。全体表示を実行しても何もない空間が広く映り、目的の構造物や地形を確認するために何度も拡大しなければならない状態です。
このような症状が起きた場合は、点群本体から大きく離れた場所に、一つまたは少数の頂点や点要素が残っている可能性があります。画面上ではほとんど見えない小さな点であっても、読み込み側がその座標を表示範囲の計算に含めると、点群全体を囲む範囲が大きく広がります。
たとえば、必要な点群が縦横数十メートルの範囲に収まっていても、一つの頂点だけが数千メートル離れた位置に存在すると、全体表示ではその頂点まで含めた範囲が表示される場合があります。その結果、本来確認したい点群は画面の一部に小さく押し込まれます。視点回転の中心や拡大縮小の基準も遠方へ引っ張られ、操作しにくくなることがあります。
OBJファイルでは、頂点座標が一般にvで始まる行として記録されます。面を持つOBJでは、fで始まる行などから頂点番号が参照され、複数の頂点を結ぶことで面が構成されます。OBJ仕様には、頂点を点要素として参照するp、線要素を表すl、面要素を表すfなどがあります。一方、作成環境や閲覧環境によっては、v行だけのOBJを点群として扱う場合もありますが、その対応は一様ではありません。The Library of Congress
そのため、孤立頂点という言葉が指す状態は、OBJの構成と読み込み側の仕様によって異なります。面を持つOBJでは、面、線、点要素などから参照されていない未使用頂点が孤立頂点になることがあります。一方、p要素で頂点を点として参照する点群OBJや、読み込み側が各v行を点として扱うOBJでは、面から参照されていないことだけを理由に削除することはできません。
点群OBJでは、周囲にほかの点がなく、主要な点群から大きく離れている点を空間的な孤立点として判断する必要があります。ただし、主要部分から離れているからといって、必ずしも不要な点とは限りません。基準点、検証点、離れた構造物、管理境界を示す点などが意図的に含まれている可能性があります。
孤立点が発生する原因には、計測時に混入した外れ点、編集時の削除漏れ、複数データの結合ミス、座標変換の設定違い、不要な面だけを削除した後に残った頂点、単位の取り違えなどがあります。欠損値や無効値を含むデータが変換処理で不適切な座標として出力され、遠方の頂点として残る可能性も考えられます。
また、実際には孤立点ではなく、点群全体の座標値が大きいことが原因の場合もあります。測量座標を維持したOBJでは、点群が原点から遠い位置に置かれていることがあります。読み込み側が原点を基準に視点を設定する場合は、点群そのものが正常でも操作しにくくなる可能性があります。
OBJの座標値自体には、利用者間で必ず同じ解釈になる単位情報が標準的に付与されるとは限りません。出力側と読み込み側で座標値の単位の前提が一致していない場合、点群の大きさが想定と異なることがあります。したがって、表示範囲の問題を直すときは、孤立点だけに原因を決めつけず、座標値、単位、軸方向、結合条件も含めて確認する必要があります。
安全に修正するためには、元データを保全し、異常な範囲を数値で確認したうえで、削除対象を判定します。その後、OBJの構造を壊さない方法で不要な点を削除し、再出力したファイルを新たに読み込んで検証します。ここからは、この流れを4つの手順に分けて解説します。
手順1 元のOBJを保全して異常な座標範囲を確認する
最初の手順は、元のOBJファイルを複製し、編集前の状態を確実に残すことです。孤立点の削除では、頂点数だけでなく、面や線、点要素から参照される番号が変化することがあります。処理後に形状の欠落や座標の変化が判明した場合、元ファイルが残っていなければ復旧や原因調査が難しくなります。
作業では、元データを直接上書きせず、編集用の複製を作ります。OBJに関連する材質情報や画像がある場合は、それらも一式として保管します。元の点群データ、変換前のデータ、座標系や単位に関する記録も残しておくと、異常な頂点がどの工程で発生したかを調べやすくなります。
次に、OBJを点群や三次元形状を確認できる閲覧環境で開き、全体表示を実行します。本体が極端に小さく表示される場合は、視点を回転させながら、遠方に小さな点や形状がないかを確認します。
ただし、孤立点が一つだけの場合は、画面上で見つけることが難しい場合があります。そこで、視覚的な確認とあわせて、座標値の最小値と最大値を調べます。X、Y、Zの各方向について、最小座標と最大座標の差を求めると、点群全体が占める範囲を数値で把握できます。
たとえば、現場の想定範囲が数十メートルであるにもかかわらず、X方向だけ数千メートルの差がある場合は、X方向の遠方に頂点が残っている可能性があります。Z方向だけが極端に広い場合は、上空や地下方向に外れ点が存在していることが考えられます。
座標範囲を確認するときは、単に最大値と最小値を見るだけでなく、その値を持つ頂点がどこにあるかを特定します。最大X、最小X、最大Y、最小Y、最大Z、最小Zに該当する頂点番号を記録すると、表示範囲を広げている候補を絞り込めます。
一つの頂点が複数方向の極値を持っている場合は、その頂点が本体から斜め方向へ大きく離れている可能性があります。反対に、各方向の極値が別々の頂点に分かれている場合は、複数の外れ点や不要な範囲が残っていることを疑います。
本体の中心から各頂点までの距離を確認する方法も有効です。ただし、単純な平均座標は遠方の頂点に引っ張られるため、点群の中心を正しく表せない場合があります。座標の中央値や、点が密集している範囲の中心を基準にした方が、孤立点を見つけやすくなります。
この段階では、遠い頂点をすぐに削除しません。まず、離れた頂点が一つだけなのか、数点が散在しているのか、一定のまとまりを形成しているのかを確認します。一点だけなら編集時の残存や異常値の可能性があります。複数点が構造的に並んでいる場合は、別の対象物や別区画の計測結果かもしれません。
座標の桁数も確認します。本体の座標が数十から数百程度であるのに、一部だけ極端に桁数が大きい場合は、異常値の可能性が高まります。一方、点群全体が大きな座標値を持っている場合は、実座標を維持しているだけかもしれません。
元データとOBJを比較できる場合は、遠方の頂点が変換前の点群にも存在するかを確認します。変換前から存在するなら、計測または点群編集の段階で混入した可能性があります。OBJだけに存在するなら、書き出しや座標変換の工程で発生した可能性があります。
複数の点群を結合している場合は、それぞれの点群の座標範囲も確認します。一つのデータだけ原点移動され、ほかのデータが元の座標を保持していると、二つのまとまりが遠く離れて配置されます。この状態を孤立点として削除すると、本来必要な点群を失うため注意が必要です。
手順1の目的は、表示が広すぎるという感覚的な症状を、どの座標方向へ、どの程度広がっているのかという数値で把握することです。処理前の座標範囲、頂点数、面数、ファイル容量を記録しておけば、修正後の変化も確認できます。
手順2 孤立頂点と必要な離れ点を切り分ける
異常な座標範囲を作っている頂点候補を見つけたら、その点が本当に削除対象かを判断します。この切り分けを省略し、主要部分から遠い点を一括削除すると、基準点や必要な周辺構造物まで失う可能性があります。
最初に確認したいのは、OBJがどの要素で点や形状を表しているかです。面を持つOBJでは、各頂点が面、線、点要素などから参照されているかを調べます。OBJの要素は、先に定義された頂点を番号で参照して構成されます。The Library of Congress
どの要素からも参照されていない頂点は、形状の構成に使われていない未使用頂点である可能性があります。未使用頂点は画面上で見えないことがありますが、読み込み環境によっては表示範囲の計算対象になる場合があります。
一方、p要素で点を構成するOBJでは、面から参照されていなくても点要素から参照されている頂点があります。また、一部の読み込み環境では、p要素を使わず各v行を点として扱う場合があります。そのため、面から未参照という条件だけで削除してはいけません。まず、作成側と読み込み側が点群OBJをどのように解釈しているかを確認します。
点群OBJでは、周辺の点密度を利用して空間的な孤立状態を判定できます。主要な点群内では、一般に一つの点の周囲に複数の点が存在します。本体から離れた外れ点は、一定距離内にほかの点がほとんど存在しない状態になりやすくなります。
この性質を利用し、各頂点から一定距離以内に存在する近傍点の数を確認します。近傍点が極端に少ない頂点を候補として抽出すれば、点群本体の密集部分と孤立点を分けやすくなります。
ただし、近傍距離を一律に設定すると、正常な低密度部分まで孤立点と判定されることがあります。点群は、計測対象までの距離、表面の状態、遮蔽物、計測角度などによって密度が変わります。近距離の面は高密度でも、遠距離の面や細い部材は低密度になる場合があります。
そのため、対象点群の代表的な点間隔を確認し、その間隔に対して不自然に離れている点を候補にします。点密度の差が大きい場合は、点群全体を一つの条件で処理せず、範囲を分けて確認する方法が安全です。
孤立して見える点が複数集まり、一定の形状を作っている場合は、不要な外れ点ではなく、別の構造物や周辺地形の可能性があります。数点が不規則に散らばっている場合は、反射や不要物の混入による外れ点である可能性が高まります。
離れた点が基準点や検証点として使用されていないかも確認します。施工管理や測量の運用では、点群の主要部分から離れた場所に既知点を配置することがあります。このような点は周囲の密度が低いため、自動処理では孤立点として抽出されやすくなります。
作業記録、座標一覧、計測範囲の記録などがある場合は、削除候補の座標と照合します。用途が不明な点を推測だけで削除せず、元の計測担当者やデータ作成工程を確認できる状態にしておくことが望ましいです。
高さ方向の孤立点にも注意します。地表や造成面を計測した点群では、上空に残った点や地下方向へ大きく外れた点が表示範囲を広げます。しかし、橋梁下部、法面、立坑、地下構造物などを含む点群では、高低差が大きいこと自体は正常です。
複数データを結合したOBJでは、孤立した一点ではなく、離れた場所に点群のまとまりが現れることがあります。この場合は、単位、原点、軸方向、座標変換の違いを確認します。片方がメートル、もう片方が異なる単位で扱われていれば、位置と大きさが一致しません。
片方のデータだけローカル座標へ移動し、もう片方が元の測量座標を保持している場合も、二つの点群が大きく離れます。この状態は孤立点の削除では解決できません。両方の座標条件をそろえたうえで、再度結合する必要があります。
削除対象の候補を見つけたら、可能であれば一時的に非表示にし、全体表示が正常になるかを確認します。候補を除外した状態で点群本体が適切な大きさに表示されるなら、その候補が表示範囲へ影響していると判断できます。
ただし、表示が改善したことだけで削除を確定せず、その点が業務上必要かどうかを確認します。表示範囲を狭くすることと、必要な測量情報を残すことの両方を満たす必要があります。
手順2では、未使用頂点、空間的な外れ点、意図的な基準点、別区画の点群、座標条件が異なるデータを分類します。この分類を行うことで、必要な点を保護しながら不要な孤立点だけを処理できます。
手順3 不要な孤立頂点を削除して参照関係を整える
削除対象が確定したら、作業用のOBJから不要な孤立点を取り除きます。処理方法は、点要素を中心に構成された点群OBJと、面や線を含むOBJで異なります。どちらの場合も、元ファイルへ直接上書きせず、処理済みの新しい版として保存します。
p要素で点を表すOBJでは、点要素の参照と頂点定義の両方を確認します。読み込み側が各v行を直接点として扱う形式では、個別削除、範囲指定、近傍密度を使った外れ点除去などを利用できます。遠方に一つだけ明らかな異常点がある場合は、その座標を特定して個別に削除する方法が分かりやすいです。
複数の外れ点が点群の周囲へ散在している場合は、周辺点数を基準にした処理が適しています。ただし、点群の端、細い構造、遠距離部分、遮蔽物の背後なども近傍点が少なくなりやすいため、削除条件を強くしすぎないようにします。
一度に大量の点を削除するのではなく、弱い条件で候補を抽出し、対象点を確認してから処理します。削除前後の点数を比較し、想定より大幅に減っている場合は、条件を見直します。
対象範囲が明確な場合は、必要な点群を囲む範囲を設定し、その外側を削除する方法もあります。建物の一部や限定された施工範囲を扱う場合には有効ですが、長い道路、斜面、離れた付帯構造物を含む場合は、単純な直方体の範囲では必要な点を切り落とす可能性があります。
範囲指定では、平面方向だけでなく高さ方向も確認します。上面から見て対象範囲に収まっていても、Z方向に異常点が残っていれば表示範囲は改善しません。側面や斜め方向からも確認し、三次元的に不要範囲を除外します。
面を含むOBJでは、頂点行だけを削除する処理は避けます。OBJの面は、頂点が記録された順番に対応する番号を参照しています。途中の頂点を削除すると、それより後ろに記録された頂点の番号が変わります。OBJの頂点参照は1から始まる番号で行われ、負の番号による相対参照も仕様に含まれます。The Library of Congress
面情報を更新せずに頂点だけを削除すると、面が別の座標を参照し、形状が崩れる可能性があります。表面の一部がねじれたり、本体から遠方へ伸びる巨大な三角形ができたり、読み込みエラーが発生したりします。
面を持つOBJで未使用頂点を削除するときは、残す頂点に新しい連続番号を割り当て、面、線、点要素の参照番号も同時に更新します。テクスチャ座標や法線が記録されている場合は、それぞれが別の番号体系を持つため、参照の組み合わせを維持します。
OBJでは、頂点、テクスチャ座標、法線を組み合わせた参照が記録されることがあります。頂点番号の修正だけを行い、ほかの参照を誤って変更すると、形状は表示されても材質の位置や陰影が崩れる可能性があります。
負の参照番号が使われているOBJにも注意が必要です。負の番号は、記述位置から見た相対的な参照を表します。頂点行や要素行の削除によって参照先が変わることがあるため、単純な文字列の置き換えではなく、OBJの構造を解釈したうえで再構築する必要があります。
不要な面を削除した後に孤立頂点が残っている場合は、面だけでなく、線や点要素から参照されていないかも確認します。面から参照されていないという理由だけで削除すると、線形状や点要素として必要な頂点を失う可能性があります。
遠方に小さな面のまとまりが存在し、それが表示範囲を広げている場合は、頂点だけでなく、その面を含む構成要素全体を確認します。画面上では一点に見えても、実際には数個の頂点で作られた小さな三角形や形状であることがあります。
本体と接続していない小さな構成要素を抽出すれば、不要部分を見つけやすくなります。ただし、ボルト、標識、細い配管、測点を示す小形状なども独立した構成要素になることがあります。構成要素が小さいという理由だけで自動削除せず、位置と用途を確認します。
孤立点の削除と同時に原点移動を行う場合は、処理内容を分けて記録します。実座標を維持する必要があるOBJを確認なく原点付近へ移動すると、設計データやほかの点群と重ならなくなります。
閲覧用としてローカル座標へ移動する場合は、X、Y、Zの各方向にどれだけ移動したかを記録します。元の実座標版と閲覧用のローカル座標版を区別し、必要なときに元座標へ戻せる状態にします。
削除処理が完了したら、頂点数、点要素数、面数、座標範囲、ファイル容量を処理前と比較します。孤立点が一つだけだったのに頂点数が大幅に減っている場合は、削除条件や参照判定が適切でない可能性があります。
画面上では、点群の外周、細い部材、地面との境界、低密度部分を重点的に確認します。上面から正常に見えても、側面から見ると必要な高さ方向の点が失われていることがあります。
保存するときは、元のOBJへ上書きせず、処理内容を識別できるファイル名にします。元データ、編集作業中、孤立点除去後、検証済み、アップロード用という状態を区別できれば、修正前のファイルを誤って送信するリスクを減らせます。
手順4 再出力したOBJを検証してからアップロードする
孤立点を削除した後は、編集画面の見た目だけで正常と判断せず、再出力されたOBJを新規に読み込んで検証します。編集中の画面には一時的な表示状態や、保存前の情報が残っている可能性があります。
まず、処理済みのOBJを保存し、編集していた環境を閉じます。その後、新しい作業画面で保存済みファイルを読み込みます。これにより、実際に書き出されたOBJだけで点群や形状を再現できるかを確認できます。
再読み込み後は、全体表示を実行します。処理前は点群本体が小さく表示されていたのに、処理後は対象範囲へ自然に視点が合うようになれば、孤立点による表示範囲の拡大は改善している可能性があります。
ただし、見やすくなったという感覚だけで確認を終えず、X、Y、Zの座標範囲を再度計算します。処理前に異常だった最大値または最小値が、想定範囲へ戻っていることを確認します。
孤立点の削除だけを行った場合、残った頂点の座標値は原則として変化しません。処理後に点群全体の座標範囲や中心位置が大きく変わっているなら、保存時に縮尺変更、軸変換、原点移動などが行われていないかを調べます。
点要素を中心に構成されたOBJでは、必要な点が欠落していないかを複数方向から確認します。点群の端、細い部材、低密度部分、遮蔽物の周辺は、外れ点除去で失われやすい場所です。
面を含むOBJでは、穴、ねじれ、面の飛び、異常に細長い面が発生していないかを確認します。頂点番号の更新に失敗すると、離れた頂点同士が誤って結ばれ、大きな三角形が作られることがあります。
巨大な面ができると、その面を構成する頂点まで表示範囲が再び広がります。孤立点を削除したはずなのに全体表示が改善しない場合は、面の参照番号が正しいかを確認します。
参照できない頂点番号が残っていないかも調べます。存在しない頂点を参照する面や線、点要素があると、読み込み環境によっては要素が無視されたり、エラーになったりします。環境によって表示結果が異なる原因にもなります。
関連ファイルを使うOBJでは、ファイル名と保存位置も確認します。孤立点の処理自体が正常でも、保存場所や名称を変更したことで材質情報や画像を参照できなくなる場合があります。
アップロードするファイル一式は、専用の場所へまとめます。処理前のOBJや過去版が同じ場所に混在していると、誤ったファイルを選ぶ可能性があります。更新日時、ファイル容量、頂点数などを記録し、処理済み版と一致することを確認します。
可能であれば、作成に使用した環境とは別の閲覧環境でもOBJを読み込みます。一つの環境だけで正常に見える場合、その環境独自の解釈や一時情報によって問題が隠れている可能性があります。
別の環境でも全体表示が正常に動作し、形状や点群範囲に問題がなければ、ファイルとしての再現性を確認しやすくなります。ただし、OBJの要素や付加情報への対応は閲覧環境によって異なるため、最終的には実際のアップロード先でも確認します。
点群OBJをアップロードした後は、最初に全体表示の状態を見ます。点群本体が適切な大きさで表示されるか、回転中心が遠方へ移動しないか、拡大縮小が自然に操作できるかを確認します。
続いて、座標位置、向き、高さ、縮尺、必要な細部を確認します。表示範囲が正常でも、単位や軸方向が異なれば、業務に使用できる状態とは限りません。既知の距離や高さがある場合は、代表箇所を照合します。
アップロード先で表示範囲が再び広がる場合は、その環境がすべての頂点行を範囲計算に使うのか、点、線、面などの要素から参照された頂点だけを使うのかを確認します。未使用頂点を確実に除去し、点群として必要な点要素を正しく記述することで、環境による表示差を抑えやすくなります。
処理後のOBJと元のOBJは、すぐに元データを削除せず、一定期間並行して保管します。後工程で必要な点が失われていたことに気付いた場合でも、元データがあれば再処理できます。
孤立頂点を削除しても表示範囲が直らない場合
孤立点を削除しても点群本体が小さく表示される場合は、別の原因が残っている可能性があります。最初に確認したいのは、頂点ではなく、誤った面や線が遠方まで伸びていないかという点です。
頂点番号の更新に失敗すると、本体上の頂点と別の頂点が誤って接続され、非常に大きな面が形成されることがあります。画面上では細い線や薄い三角形に見えるため、孤立点より見つけにくい場合があります。
面や線、点要素の参照番号を確認し、存在しない頂点や意図しない頂点へ接続されていないかを調べます。特に、頂点行を手作業で削除したOBJでは、削除位置より後ろの参照番号がずれている可能性があります。
次に、点群全体が原点から遠い実座標に置かれていないかを確認します。点群内部の範囲が正常でも、原点から数値的に遠い場所へ配置されていると、閲覧環境によっては回転中心や視点設定が扱いにくくなる場合があります。
実座標を維持する必要がある場合は、表示のためだけに座標を変更しないようにします。閲覧用として原点付近へ移動する場合は、移動量を記録し、元の位置へ復元できるようにします。
単位の違いも確認します。点群の形状は正しく見えていても、既知寸法と比較すると大きさが大幅に異なることがあります。OBJ内の座標数値をどの単位として扱うかを確認し、アップロード側の前提と一致させます。
軸方向の違いによって、鉛直方向の値が水平方向へ配置される場合もあります。高さ方向に長い構造物では、横倒しになることで平面上の表示範囲が大きく見えることがあります。どの軸を高さとして扱うかをそろえます。
編集画面で非表示にしただけの要素が、OBJへ書き出されている可能性もあります。非表示は削除とは異なり、書き出し設定によってはファイルへ含まれます。不要なグループや作業用の要素は、書き出し対象から確実に外します。
複数のオブジェクトやグループが一つのOBJに含まれている場合、遠方に不要なグループが残っていることがあります。必要な対象だけを選択して出力したつもりでも、全体が書き出される設定になっていることがあります。
アップロード先で旧版が表示されている可能性にも注意します。同じ名称で更新した場合、処理前の変換結果が残っていたり、別のファイルを誤って選択したりすることがあります。更新日時、容量、座標範囲を処理記録と照合します。
点群OBJの表示範囲を直すには、孤立点だけでなく、参照関係、実座標、単位、軸方向、書き出し範囲、アップロードした版まで順番に確認することが重要です。
点群OBJの孤立頂点を増やさないための予防策
孤立点の問題は、アップロード直前に毎回修正するよりも、点群の取得、編集、変換の各段階で予防した方が効率的です。まず、点群を取り込んだ直後に座標範囲を確認します。
取得直後に外れ点が見つかれば、計測時に混入した可能性を早い段階で判断できます。複数回の編集や結合を行った後では、どの工程で異常点が発生したか分かりにくくなります。
位置合わせ後、不要範囲の削除後、OBJ書き出し後にも座標範囲を確認します。各工程の最小値と最大値を記録すれば、どの段階で範囲が急に広がったかを追跡できます。
複数の点群を結合するときは、単位、原点、軸方向、座標変換の条件を統一します。条件が異なるデータをそのまま結合すると、一部が遠方へ配置され、孤立したまとまりのように見えます。
結合前には、それぞれの点群の座標範囲と代表点を確認します。同じ対象を計測したデータであれば、位置や大きさが大きく食い違っていないことを確かめます。
不要な面やオブジェクトを削除した後は、未使用頂点も整理します。面だけを削除して頂点を残すと、画面上では見えない頂点がOBJ内に残ることがあります。書き出し前に、面、線、点要素などから参照されていない頂点を確認します。
ただし、p要素で点を表すOBJや、読み込み側が各v行を点として扱うOBJでは、面から未参照であることを理由に一括削除しないようにします。データの構造と読み込み仕様を確認し、点群として必要な頂点まで除去しないことが重要です。
外れ点除去の条件は、点群密度に応じて設定します。高密度の範囲を基準にした条件を低密度部分へ適用すると、正常な点まで大量に削除されます。対象物の種類、計測距離、必要な細部を考慮します。
書き出し用のデータは、編集作業用のデータから複製して作る方法が安全です。作業用の基準形状、過去版、仮配置した点群、確認用の点などが同じデータ内に残っていると、意図せずOBJへ含まれる可能性があります。
書き出し用の複製には、アップロードする対象だけを残します。不要なグループを非表示にするだけでなく、書き出し対象の設定を確認します。
ファイル名では、処理状態を識別できるようにします。元データ、編集済み、孤立点除去済み、検証済み、アップロード済みを区別できれば、修正前のOBJを誤って使用する可能性を下げられます。
処理条件も記録します。切り出し範囲、近傍距離、削除した頂点数、原点移動量などを残せば、再処理時に同じ結果を再現しやすくなります。
書き出し後は、必ず生成されたOBJを新規に開き直します。編集画面で正常に見えていても、書き出し対象や座標変換が想定どおり反映されていない場合があります。
案件ごとに想定される座標範囲を把握し、それを大幅に超えた場合に確認する運用も有効です。ただし、大規模な道路、河川、造成地などでは正常な範囲そのものが広いため、すべてのデータに同じ上限を適用しないようにします。
点群OBJアップロード前に確認したい項目
点群OBJをアップロードする前には、表示範囲だけでなく、利用目的に必要な品質をまとめて確認します。最初に、必要な対象範囲が過不足なく含まれているかを確認します。
不要範囲を残しすぎると、ファイル容量と表示負荷が増え、孤立点も見つけにくくなります。一方、範囲を狭くしすぎると、周辺地形や構造物との位置関係を確認できなくなります。
座標位置と向きも確認します。点群が想定位置にあり、鉛直方向と水平方向が正しく解釈されていることを確かめます。既知点や基準点がある場合は、代表座標を照合します。
縮尺については、既知寸法の構造物や区間を利用して確認します。見た目が正常でも、単位の不一致によって実際の寸法が大きく異なる場合があります。
点群密度と欠損範囲も重要です。孤立点を削除した後は、端部、細い部材、奥まった部分、低密度部分が残っているかを確認します。
面を持つOBJでは、面の接続、表裏、穴、重複、交差なども確認します。異常に大きな面や細長い面がある場合は、頂点参照がずれている可能性があります。
OBJ本体と関連ファイルの対応も確認します。参照される名称と実際の名称が一致し、アップロード時に必要なファイルがそろっていることを確かめます。
ファイル容量や頂点数は、アップロードできるかどうかだけでなく、利用時の操作性にも影響します。必要な形状や密度を維持しつつ、利用目的に適したデータ量へ整理します。
全体表示、拡大、縮小、回転、移動といった基本操作も試します。回転中心が遠方に移る、拡大率が急激に変わる、本体を見失いやすいという症状が残っていれば、表示範囲に問題がある可能性があります。
最後に、アップロードするファイルが検証済みの版であることを確認します。名称だけで判断せず、更新日時、容量、頂点数、座標範囲を処理記録と照合します。
孤立頂点の処理で避けたい失敗
孤立点処理で避けたいのは、遠くにある点をすべて不要と判断することです。基準点、検証点、管理境界、離れた付帯構造物などは、本体から離れていても業務上必要な場合があります。
元ファイルへ直接上書きすることも避けます。削除後に必要な点の欠落へ気付いても、元データがなければ復元できません。必ず作業用の複製で処理します。
面を持つOBJから頂点行だけを削除することも危険です。頂点番号がずれ、面が別の座標を参照する可能性があります。頂点の削除と参照番号の更新を一体で行います。
外れ点除去の条件を強くしすぎることにも注意します。点群の端や細い形状は近傍点が少なく、正常でも孤立点として判定されやすい場所です。
表示範囲が直ったことだけで処理を完了するのも不十分です。必要な点の欠落、座標の移動、縮尺の変化、面の崩れが起きていないかを確認します。
孤立点の削除、原点移動、単位変換、軸変換を同時に行い、記録を残さないことも避けます。複数の処理を同時に行うと、問題が再発したときに原因を切り分けられません。
アップロード後の画面だけを見ながら修正を繰り返す方法も効率的ではありません。ローカルで座標範囲とOBJ構造を確認し、ファイル自体を正常にしてからアップロードします。
まとめ
点群OBJをアップロードした後に対象物が極端に小さく表示される場合は、本体から大きく離れた孤立点によって表示範囲が広がっている可能性があります。一つの頂点でも、読み込み側がその座標を範囲計算に含めれば、座標の最小値や最大値を大きく変え、全体表示や回転中心へ影響することがあります。
修正では、最初に元のOBJを保全し、X、Y、Zの座標範囲から異常な方向と頂点候補を確認します。次に、未使用頂点、空間的な外れ点、必要な基準点、座標条件の異なる別データを切り分けます。
削除時は、p要素で点を表すOBJ、読み込み側が各v行を点として扱うOBJ、面や線を持つOBJを区別します。点群では近傍密度や対象範囲を基準にし、参照要素を持つOBJでは頂点番号と参照関係を同時に整えます。
処理後は、保存済みのOBJを新規に読み込み、表示範囲、座標、頂点数、点要素数、形状、縮尺を確認してからアップロードします。孤立点を削除しても改善しない場合は、誤った面接続、単位、軸方向、実座標、不要グループ、旧版の取り違えを確認します。
現場で取得した点群を安定して共有するには、取得直後、編集後、結合後、OBJ書き出し後の各段階で座標範囲を確認することが大切です。点群の取得から確認、整理、共有までを連続した工程として管理することで、孤立点による手戻りを減らせます。現場で点群を取得し、その場で必要な範囲を確認しながら業務へ活用する方法として、LRTK Phoneを取り入れることも選択肢の一つです。