点群OBJの不要頂点が引き起こす表示異常
点群から作成したOBJをアップロードしたとき、モデル本体が画面の中央に小さく表示されたり、何もない空間へ細長い線や三角形が伸びたりすることがあります。モデルを全体表示すると対象物がほとんど見えず、何度も拡大しなければ目的の場所へたどり着けない場合もあります。
このような現象の原因として考えられるのが、主要な点群やメッシュから大きく離れた位置に残っている不要頂点です。不要頂点が一つ存在するだけでも、OBJを読み込む側が全頂点を含む範囲から表示倍率やカメラ位置を計算すると、正常なモデルが極端に小さく表示されることがあります。
OBJでは、頂点座標が基本的な形状情報として記録されます。点群を点のままOBJへ変換した場合は、各頂点が計測点に相当します。点群から三角形メッシュを生成した場合は、複数の頂点を参照する面情報も含まれます。
遠方の不要頂点が面と接続されていなければ、画面上では点としてほとんど見えないことがあります。しかし、データ全体の外接範囲には含まれるため、全体表示や回転中心の計算に影響する可能性があります。
遠方頂点が正常範囲内の頂点と同じ面に使用されている場合は、より分かりやすい異常が現れます。正常なモデルから遠方へ向かって非常に細長い三角形が生成され、針、帯、壁、扇のような形状として表示されるためです。見る方向によっては細い線に見え、別の方向では巨大な面が画面を覆うこともあります。
ただし、原点から遠い頂点がすべて不要とは限りません。測量座標や現場独自の基準座標を保持しているデータでは、モデル全体が原点から離れた大きな座標値を持つことがあります。この場合、各頂点の相対的な位置関係が正しければ、座標値が大きいこと自体は異常ではありません。
複数の施工区画、離れた建物、基準点、標定点などを一つのOBJに含めている場合もあります。主要モデルから離れて見える頂点が、業務上必要な点である可能性を考慮しなければなりません。
そのため、不要頂点の削除では、単純に原点からの距離だけで判断しないことが重要です。主要なモデルとの相対距離、周辺点の密度、面や線との接続状態、現地の取得範囲、図面との対応を確認し、不要である根拠を持って処理します。
点群OBJアップロード後の表示異常を直すには、まず現象を整理する必要があります。正常なモデルの中に少数の異常頂点が混在しているのか、モデル全体の座標や単位が適切でないのかによって、必要な対応は異なります。前者なら不要頂点の削除が有効ですが、後者なら原点移動や倍率の修正が必要です。
遠くへ飛ぶ頂点が発生する主な原因
不要頂点が遠方に生成される原因は、OBJへの変換工程だけではありません。点群の取得、位置合わせ、統合、外れ値除去、表面生成、座標変換、編集、書き出しという一連の工程のどこでも発生する可能性があります。
代表的な原因は、点群生成時に生じた外れ値です。画像や距離情報から点群を生成する処理では、対象物の特徴や取得条件によって位置推定が不安定になる場合があります。強い反射、透明面、繰り返し模様、暗い場所、空、細い部材、動く物体などは、実際とは異なる位置に点が生成される原因になり得ます。
特に、光沢のある金属、ガラス、水面、細かな格子、似た模様が連続する壁や床では、誤った対応関係が作られることがあります。その結果、対象物から大きく離れた場所に一つまたは少数の点が生成されます。
この外れ値を除去せずにメッシュ化すると、正常な点と遠方の点の間に三角形が生成される場合があります。点群の段階では目立たなかった一つの点が、面を持つOBJに変換された後で巨大な突起として現れるのは、このためです。
複数の点群を統合するときの位置合わせ失敗も原因になります。一部の点群だけが異なる位置、姿勢、縮尺で配置されると、本体から離れた場所に点群の塊ができます。この場合は一つの不要頂点ではなく、同じ形状を持つ小さな複製や、まとまった数の頂点として現れることがあります。
単位の不一致も見逃せません。あるデータをメートル、別のデータをミリメートルとして扱うと、統合後に千倍程度の縮尺差が生じることがあります。単位が異なるまま同じ座標空間へ配置すれば、一部のデータが極端に大きくなったり、正常な位置から遠く離れたりします。
原点移動の重複適用も遠方移動の原因になります。大きな座標値を扱いやすくするため、基準座標を差し引いてローカル座標へ変換することがあります。この変換を複数回適用すると、モデルや一部の頂点が想定外の位置へ移動します。
反対に、原点移動済みのデータと、元の座標を保持したデータを混在させても位置がずれます。両方のデータが正しく見えていても、異なる原点を基準にしていれば、統合時には大きく離れて配置されます。
座標軸の対応違いも確認が必要です。書き出し元と読み込み先で上下方向として扱う軸が異なる場合、モデルが横倒しになることがあります。単純な軸交換だけでなく、原点移動や回転処理が組み合わさっていると、一部の要素だけが遠方へ移動したように見える場合があります。
編集作業中に作った仮頂点や補助形状が残ることもあります。位置合わせ、穴埋め、切断、測定、変形などのために追加した頂点が、最終的な書き出し対象から除外されずに残るケースです。編集画面では非表示でも、書き出し設定によってはOBJへ含まれる可能性があります。
OBJのテキストを直接編集した場合は、頂点番号の不整合にも注意が必要です。面情報は頂点番号を参照しているため、途中の頂点行だけを削除すると、それ以降の番号がずれます。面情報を同時に更新しなければ、意図していない頂点を参照して長い面が作られることがあります。
大きな絶対座標に対する数値精度も、不要頂点と似た表示異常を起こすことがあります。すべての頂点が正しい位置関係を持っていても、原点から非常に離れた座標を読み込み先が十分な精度で扱えなければ、表面が揺れたり、頂点が乱れたりする場合があります。
この場合、異常な一部の頂点を削除しても改善しません。元の座標を記録したうえで、モデル付近を原点とするローカル座標へ変換する必要があります。
原因を切り分ける際は、遠方の異常部分が単独の点なのか、面と接続された点なのか、点群のまとまりなのかを確認します。さらに、主要モデルだけが正常な大きさで、一部だけが離れているのか、モデル全体が想定外の位置や縮尺になっているのかを見分けます。
不要頂点の削除は、一部の異常点が混在している場合に有効です。モデル全体の単位、原点、座標軸が誤っている場合は、削除ではなく座標変換の工程を見直します。
削除前に確認したい座標と単位
遠方の頂点を見つけても、すぐに削除してはいけません。最初に確認すべきなのは、OBJに記録されている座標と単位の意味です。この確認を省略すると、正常な基準点や別区画のデータを誤って削除するおそれがあります。
まず、対象物の実際の寸法を確認します。建物、造成地、道路、設備、構造物などの幅、奥行き、高さを、おおよそで構いませんので把握します。そのうえで、OBJ内の座標差や編集画面に表示されるモデル寸法と比較します。
現地で数十メートル程度の対象が、データ上では数万程度の幅になっている場合、ミリメートルを基準にしている可能性があります。反対に、数十メートルの対象が0.05程度で表されているなら、書き出し倍率や単位解釈が適切でない可能性があります。
次に、すべての頂点が大きな座標値を持っているのか、一部の頂点だけが大きく離れているのかを確認します。すべての頂点が同じ桁の大きな座標値を持ち、頂点間の距離が現地寸法と一致している場合は、測量座標などを保持している可能性があります。
一方、ほとんどの頂点が一定範囲内に集中し、一つまたは少数の頂点だけが桁違いに離れている場合は、外れ値や不要頂点である可能性が高くなります。それでも、別の施工区画、基準点、標定点などでないことを確認してから判断します。
OBJには、使用している座標系や単位が明確に記録されないことがあります。頂点座標は数値として保存できますが、その数値がメートル、ミリメートル、任意単位のどれなのか、どの座標系を基準にしているのかは、ファイルだけでは判断できない場合があります。
そのため、変換前の点群、書き出し時の設定、座標変換に使った基準値、作業記録などを確認します。別の担当者が作成したOBJを受け取った場合は、測量座標を維持しているのか、モデル中心付近へ原点を移動しているのかを確認することが重要です。
削除作業に入る前には、必ず元のOBJを複製します。編集後のデータに欠損や座標ずれが見つかった場合、元の状態へ戻せるようにするためです。元ファイルへ直接上書きすると、削除対象の判断を誤ったときに復元できなくなる可能性があります。
作業ファイルは、編集前、候補抽出後、削除後、アップロード確認後など、処理段階が分かるように管理します。原点移動を行った場合は、移動量を別途記録します。座標値から何を差し引いたのかが分かれば、必要に応じて元の座標へ戻せます。
座標と単位を確認する工程は、不要頂点を見つける作業とは別に考える必要があります。見た目として遠くに存在する頂点であっても、座標上の意味や現場との対応が正しければ削除対象ではありません。
安全に作業するには、正常なモデルの寸法、座標範囲、原点、単位を先に把握し、その情報を基準に不要頂点を抽出します。
手順1 正常なモデルの範囲を特定する
不要頂点を削除する最初の手順は、残すべき正常なモデルの範囲を明確にすることです。遠方の頂点を先に探すのではなく、業務に必要な点群やメッシュがどこまで存在するかを決めます。
まず、モデルを上面、正面、側面、斜め方向から確認します。一方向から見ただけでは、頂点がどの軸方向へ離れているか判断しにくいためです。上面では正常に見えても、高さ方向に大きく離れた点が存在することがあります。
透視表示では距離感が分かりにくい場合があるため、可能であれば平行投影に近い表示でも確認します。モデルを回転させた際に、特定の方向だけ異常に細長く見える場合は、その方向へ離れた頂点や面が存在している可能性があります。
次に、主要な点群が密集している範囲を確認します。建物、地形、道路、設備など、取得対象を構成する点は、通常ある程度まとまった範囲に分布します。周囲に多数の点があり、実際の対象物に沿って連続している領域を正常範囲の候補とします。
複数の離れた区画を一つのOBJに含めている場合は、すべての区画が必要かを確認します。主要な点群から離れているという理由だけで、別の施工範囲を不要と判断してはいけません。現場図面、配置図、取得記録、写真などと照合し、実在する対象かを確認します。
正常範囲は、画面上の見た目だけでなく座標値でも確認します。主要モデルのX方向、Y方向、Z方向について、最小値と最大値を把握します。この座標差が、現地で想定される幅、奥行き、高さと整合しているかを確認します。
例えば、高さが数十メートル以内に収まる対象であるにもかかわらず、Z方向だけ極端に広い場合は、上空または地下方向に外れ値が存在する可能性があります。水平方向だけが広い場合は、位置合わせに失敗した点群や補助点が残っていることが考えられます。
主要モデルだけを選択し、一時的に分離して表示できる場合は、その機能を利用します。選択部分以外を非表示にして、必要な建物、地表面、構造物、設備などがそろっているかを確認します。
面を持つOBJでは、連結している形状のまとまりを確認する方法も有効です。主要モデルが一つの大きな連結成分で、遠方に少数の面だけで構成された小さな連結成分がある場合、不要形状の候補を見つけやすくなります。
ただし、必要な部材が別々の連結成分になっていることもあります。地面と建物が接続していない場合や、設備が独立した部品として作られている場合です。連結していないという理由だけで削除対象にせず、形状の内容を確認します。
点だけで構成されたOBJでは、点の密度と分布を見ます。正常な表面上には一定数の近傍点が存在します。主要範囲から離れ、周囲にほかの点がない孤立点は、外れ値である可能性が高くなります。
正常な範囲を決めるときは、取得対象の周囲に余裕を持たせます。必要範囲の境界ぎりぎりで選択すると、構造物の突出部、周辺地形、足場、法面、植生などを誤って除外するおそれがあります。
主要モデルの中心座標を計算できる場合は、その値も控えます。次の手順で中心からの距離を基準に候補頂点を探す際に利用できます。ただし、細長い道路や空洞のある建物では、中心座標からの距離だけで判断すると正常な端部が候補に入る可能性があります。
この手順の目的は、削除する範囲を決めることではありません。「確実に残す範囲」「不要である可能性が高い範囲」「現場情報との照合が必要な範囲」に分けることが目的です。
正常範囲が明確になれば、その範囲から大きく外れた頂点を、根拠を持って抽出できるようになります。
手順2 距離と接続状態から不要頂点を抽出する
正常なモデル範囲を特定したら、主要部分から離れた頂点を削除候補として抽出します。この段階では、候補をすぐに削除せず、一時的に分離した状態で内容を確認します。
最も分かりやすい方法は、座標範囲を利用する方法です。正常モデルのX、Y、Zそれぞれの最小値と最大値を基準にし、必要な余白を加えた範囲外の頂点を選択します。
対象物が一つのまとまった範囲に収まっている場合は、箱形の領域で抽出すると効率的です。ただし、道路、橋梁、配管、法面などの細長い形状では、正常部分自体が広い範囲へ伸びています。その場合は、一つの箱ではなく複数の範囲に分けて確認します。
正常モデルの中心からの距離を利用する方法もあります。主要部分の中心を基準にし、一定距離を超える頂点を候補として抽出します。建物や小規模な現場など、対象が中心付近にまとまっている場合には有効です。
距離の基準値は、画面上の見た目だけで決めないようにします。対象物の実寸、取得範囲、周辺地形として残す範囲、位置合わせ誤差などを考慮します。最初は明らかに遠い頂点だけを抽出し、問題がなければ段階的に範囲を狭める方法が安全です。
点群OBJでは、近傍点の数を利用して候補を探す方法もあります。一定距離内にほかの点がほとんど存在しない頂点は、孤立した外れ値である可能性があります。
ただし、点の密度は対象物や取得方法によって変わります。構造物の端部、細い部材、遠距離から取得した領域では、正常な点でも密度が低いことがあります。点密度だけで自動削除せず、主要モデルとの距離や現地形状との対応も確認します。
面を持つOBJでは、連結成分を利用して候補を探せます。主要メッシュから独立した小さな形状が遠方にある場合、その形状全体を一つの候補として確認できます。
一方、遠方頂点が正常モデルと面で接続されている場合は、同じ連結成分に含まれるため、連結状態だけでは分離できません。この場合は、極端に長い辺を持つ面を探します。
正常なメッシュでは、近接する点同士が面として接続されることが一般的です。周囲の面と比べて一辺だけが極端に長い三角形は、正常範囲と遠方頂点を誤って結んでいる可能性があります。
細長い三角形の形状も手掛かりになります。面積に対して辺が極端に長い面や、三つの頂点がほぼ一直線に並ぶ面は、外れ値との接続によって生じた可能性があります。
孤立頂点を検出できる環境では、面や線から参照されていない頂点を確認します。面を持つOBJで遠方に未使用頂点が残っている場合、形状には見えなくても全体範囲へ影響することがあります。
ただし、点群を点のまま保存したOBJでは、面に接続されていないことが正常です。この場合、未使用頂点という条件では不要点を判定できません。主要点群からの距離と近傍点密度を組み合わせて確認します。
候補頂点を抽出したら、正常部分とは異なる表示にします。候補だけを表示したり、別のグループへ移動したり、一時的に色を変えたりして、どのような分布になっているかを確認します。
候補が一つの孤立点であれば、計測時の外れ値である可能性があります。複数の点が小さな塊を作っている場合は、位置合わせに失敗した点群の一部かもしれません。正常モデルと同じ形状の縮小版や拡大版が遠方にある場合は、単位や座標変換の異なる複製データが混入している可能性があります。
一定方向へ直線状に並んでいる場合は、補助線、計測経路、変換処理の誤りなども考えられます。遠方候補の形状を観察することで、単純な頂点削除でよいのか、オブジェクト単位で分離すべきかを判断できます。
候補抽出の条件は記録しておきます。正常範囲の座標、使用した距離、抽出された頂点数、主要モデルからのおおよその距離などを残します。
記録があれば、後から削除判断を検証できるほか、同じ条件で再処理することもできます。複数の担当者が扱う点群OBJでは、削除条件を共有できる状態にすることが重要です。
手順3 関連する面や線とともに不要頂点を削除する
抽出した候補が不要であると確認できたら、頂点を削除します。ただし、面や線を含むOBJでは、頂点だけを単独で消すのではなく、参照関係を確認しながら処理する必要があります。
最初に、候補頂点が面に使用されているかを確認します。遠方頂点と正常範囲内の頂点が同じ面を構成している場合、その面は長い辺を持つ不自然な三角形として表示されます。
実際の対象物には存在しない面であることを確認したら、遠方頂点と接続する面を削除します。頂点だけを先に消すと、編集環境によっては面が自動削除される場合もありますが、参照不整合が残る可能性もあります。面と頂点の関係を確認できる方法で処理することが安全です。
遠方頂点に複数の面が接続されている場合、それらが扇状に広がっていることがあります。一つの面だけを削除しても、別の細長い面が残るため、候補頂点に接続する面をまとめて確認します。
面を削除した後は、正常モデル側の境界を拡大して確認します。必要な表面まで削除され、穴や欠けが生じていないかを見ます。
外れ値から作られた面だけを削除した場合、正常モデル側に自然な境界が残ります。一方、必要な面まで選択していた場合は、壁面、地表面、屋根、設備などに不自然な穴が開きます。その場合は編集前の状態へ戻し、選択範囲を狭めます。
線要素を含むOBJでは、候補頂点が線の端点として使われていないかを確認します。正常モデルと遠方頂点を結ぶ線が残れば、アップロード後も細長い線として表示される可能性があります。
不要な線であることが確認できたら、頂点とともに削除します。線が基準線や計測用の情報として必要な場合は、削除せず別の方法で表示対象から除外することも検討します。
点だけで構成されたOBJでは、頂点削除がそのまま点の削除になります。この場合も、関連する属性データに注意が必要です。頂点の順番に対応した色、分類、強度などを別ファイルで管理している場合、頂点だけを削除すると対応関係がずれる可能性があります。
独自の属性ファイルを使用している場合は、頂点削除に合わせて関連データも更新します。OBJ単体だけで完結しているか、別の属性情報と組み合わせて使っているかを事前に確認することが重要です。
OBJをテキストとして直接編集する場合は、特に慎重な作業が必要です。OBJでは、頂点が記録された順番に番号が割り当てられ、面や線はその番号を参照します。
途中の頂点行だけを削除すると、それより後に記録された頂点の番号が変わります。面や線の参照番号を修正しなければ、別の頂点へ接続されたり、存在しない番号を参照したりします。その結果、新たな形状崩れや読み込みエラーが発生する可能性があります。
面を含むOBJでは、頂点と面の参照を一括して更新できる編集方法を使用するほうが安全です。自動処理で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アップロードまでの確認工程を標準化することが重要です。
点群を生成した直後には、上面、正面、側面から全体範囲を確認します。メッシュを作る前に外れ値を除去できれば、正常な点と遠方の点を結ぶ長い三角形の発生を抑えられます。
特に、全体表示したときに主要部分が小さくなる場合は、点群段階で外れ値が存在していないかを確認します。面を生成する前であれば、不要点の削除によって周囲の正常面まで失う可能性を低くできます。
複数の点群を統合する場合は、単位、座標系、原点、縮尺を統一します。各点群の変換条件を記録し、統合後に一部だけが回転、反転、拡大、縮小されていないかを確認します。
取得日や担当者が異なる点群では、同じ現場のデータであっても処理条件が異なる可能性があります。統合前にそれぞれの座標範囲と寸法を比較すると、単位や原点の違いを見つけやすくなります。
点群取得時には、外れ値が発生しやすい対象を把握します。強い反射面、透明面、水面、動く物体、細い部材、空などが広く含まれる場合は、取得方法や対象範囲を調整します。
取得後に不要領域を明確に除外する運用も有効です。必要な構造物だけを切り出してからOBJへ変換すれば、周囲の不安定な点や一時的な物体が混入しにくくなります。
メッシュ生成時には、離れた点同士を無理に接続しない条件を検討します。点間距離が大きい場所まで面を張ると、一つの外れ値と正常点群の間に巨大な三角形が作られる可能性があります。
使用する条件は、対象物の寸法や点密度に合わせます。条件を厳しくしすぎると正常な面に穴が開き、緩くしすぎると遠方点まで接続されるため、結果を確認しながら調整します。
OBJ書き出し前には、モデルの外接範囲を毎回確認します。正常時の幅、奥行き、高さを記録しておけば、通常より極端に広いデータをアップロード前に見つけられます。
未使用頂点、孤立した小さな面、極端に長い辺、面積がほとんどない面も確認対象にします。これらが必ず異常とは限りませんが、不要頂点による表示問題を発見する手掛かりになります。
測量座標を保持する元データと、表示や共有に適したローカル座標のデータを分けて管理する方法も有効です。元の座標を持つデータは変更せずに保存し、アップロード用として原点を移動した複製を作成します。
このとき、原点移動量を記録し、元座標へ戻せる状態にします。用途の異なるデータを同じ名前で管理すると混乱しやすいため、ファイル名や保存場所で区別します。
ファイル名には、対象現場、取得日、処理段階、座標の種類などを含めます。編集前、外れ値除去後、メッシュ化後、アップロード用といった状態を識別できれば、誤ったファイルを使用する可能性を減らせます。
自動処理を利用する場合は、座標範囲の検査を工程に組み込む方法があります。主要範囲から大きく離れた頂点が存在するときに警告を出せば、アップロード前に異常を確認できます。
ただし、距離だけを基準に自動削除することは慎重に判断します。離れた基準点や別区画まで消してしまう可能性があるためです。自動処理では候補抽出と警告までを行い、最終的な削除は担当者が現場情報と照合して決める運用が安全です。
正常にアップロードできたOBJについても、単位、原点、座標範囲、頂点数、面数などを記録します。異常データだけでなく正常データの条件を蓄積すると、次回の判断基準として利用できます。
点群OBJをアップロードする前の最終確認
点群OBJをアップロードする直前には、形状、座標、寸法、関連ファイル、ファイル管理の観点から最終確認を行います。
形状については、主要な対象物が欠けていないこと、遠方へ伸びる面や線がないこと、孤立した不要頂点が残っていないことを確認します。
全体表示だけでなく、モデルの端部や削除した周辺を拡大して確認します。不要頂点を消した箇所に穴や段差ができていないか、正常な面まで失われていないかを見ます。
座標については、原点移動の有無、使用単位、座標軸の方向を確認します。測量座標を保持している場合は、アップロード先で大きな座標値を扱えるかも確認します。
モデルの幅、奥行き、高さが現地の想定寸法と整合していることも重要です。見た目が正常でも、単位が異なれば計測結果に大きな差が生じます。
面を含むOBJでは、頂点参照の不整合、極端に長い辺、細長い三角形、面積がほとんどない面などが残っていないかを確認します。
点だけのOBJでは、主要範囲から離れた孤立点、取得対象と対応しない点群の塊、極端に密度の低い領域を確認します。
テクスチャを使用する場合は、関連する材質情報と画像ファイルがそろっていることを確認します。形状を再書き出した際に参照先やファイル名が変わっていないかも確認します。
ファイル管理では、編集前の元データを保存し、アップロード用ファイルと区別します。原点移動量、使用単位、削除条件、削除した頂点数や面数などを記録します。
アップロード後には、自動全体表示、拡大縮小、回転、上面表示、側面表示を行います。主要モデルが適切な大きさで表示され、回転中心がモデル付近にあることを確認します。
画面を縮小したときに遠方の点や小さな形状が現れないかも確認します。通常の表示倍率では見えない孤立点が残っていることがあるためです。
距離や高さを測定できる環境では、既知の寸法を一か所以上確認します。見た目だけでなく、数値として正しい縮尺になっていることを確かめます。
断面、面積、体積などの処理に利用する場合は、内部や地下に不要な面が残っていないかも確認します。表示上は目立たなくても、計算結果へ影響する可能性があります。
アップロードが成功したという結果だけで完了とせず、後工程で必要な表示、計測、共有が行えることまで確認することが重要です。
まとめ
点群OBJをアップロードした後に、モデルが画面の中央へ小さく表示されたり、正常な形状から遠方へ細長い面や線が伸びたりする場合は、主要モデルから離れた不要頂点が含まれている可能性があります。
安全に修正するには、最初に正常なモデル範囲を特定します。次に、座標範囲、主要部分からの距離、近傍点の密度、面や線との接続状態を使って不要頂点の候補を抽出します。
候補が不要であることを確認したら、頂点だけでなく、関連する面や線も確認して削除します。面を削除した後に未使用頂点が残っていないか、必要な表面に穴が開いていないかを確認することが重要です。
削除後は、単位、原点、書き出し対象、頂点参照を整えてOBJを書き出し直します。保存したファイルを新たに読み込み、モデル寸法や外接範囲を確認してから、実際のアップロード先で表示と計測を検証します。
原点から遠いという理由だけで、頂点を一律に削除してはいけません。測量座標を保持したデータ、複数区画を含むデータ、基準点を含むデータでは、離れた頂点が必要な場合があります。現地の取得範囲、図面、座標の意味を確認し、不要である根拠を持って削除します。
不要頂点を削除しても改善しない場合は、モデル全体の絶対座標、単位、座標軸、頂点番号、書き出し対象を見直します。多数の外れ値や位置合わせの失敗がある場合は、OBJを部分的に修正するよりも、変換前の点群へ戻って処理し直したほうが適切な場合があります。
再発を防ぐには、点群生成直後の外れ値確認、統合時の座標と単位の統一、OBJ書き出し前の外接範囲検査を標準化します。元の測量座標を保持するデータと、アップロード用のローカル座標データを分けて管理することも有効です。
現場で取得した点群を効率よく整理し、OBJとしての共有や確認へつなげるには、取得段階からデータ範囲と座標を意識する必要があります。点群取得から現場での活用方法まで見直す際は、LRTK Phoneを使った計測手順も検討できます。