点群や三次元モデルをOBJ形式でアップロードしたあと、現地では数十メートルある構造物が数センチメートルとして表示されたり、反対に小さな対象物が巨大なモデルとして読み込まれたりすることがあります。このような縮尺の変化は、データが壊れたのではなく、書き出し元とアップロード先で想定している長さの単位が一致していないときに起こりやすい現象です。
OBJは広く扱われている三次元データ形式ですが、座標値がメートル、センチメートル、ミリメートルのどれで記録されているかを明示する標準的な単位情報を持っていません。そのため、同じ座標値でも、読み込む側の解釈によって実際の表示寸法が変わります。点群OBJアップロードの前後で縮尺を安定させるには、元データの単位を確認し、必要な倍率を計算し、三軸へ同じ倍率を適用したうえで、既知寸法を使って検証することが重要です。
本記事では、点群OBJアップロード後に縮尺が変わったときの原因を整理し、実務で再現しやすい単位変換手順を4ステップで解説します。現場計測、出来形確認、設備管理、土量確認、構造物の記録などでOBJを扱う担当者が、縮尺の誤りを早期に見つけ、安全に修正するための考え方をまとめています。
点群OBJアップロード後に縮尺が変わる理由
点群OBJアップロード後に縮尺が変わる主な理由は、OBJ内に保存された座標値そのものと、アップロード先がその座標値に対して想定している長さの単位が一致していないことです。例えば、元データの座標値がミリメートルを前提としているのに、アップロード先がメートルとして解釈すると、モデルは本来の1000倍の大きさで表示されます。反対に、メートルの座標値をミリメートルとして扱う環境では、モデルが本来の1000分の1に縮小されます。
OBJでは、頂点座標が一般にv x y zという形式で記述されます。ここに記録される数値は座標値であり、その数値がどの単位を表しているかはOBJファイル単体から確実に判断できません。座標値が1.0であっても、それが1メートルなのか、1センチメートルなのか、1ミリメートルなのかは、書き出し元の設定や運用ルールによって変わります。
この性質により、書き出し元では正常な大きさに見えていたデータでも、別のビューアやクラウド環境へアップロードすると縮尺が変わることがあります。書き出し元のソフトウェアはプロジェクト単位を内部的に認識していても、その単位情報がOBJへ引き継がれるとは限りません。読み込み側も、OBJに単位情報がないため、あらかじめ決められた単位として座標値を処理します。
点群をOBJへ変換する工程が複数ある場合は、途中で意図しない倍率が適用されることもあります。点群処理時にメートルからミリメートルへ変換し、OBJ書き出し時にも同じ変換を行うと、単位変換が二重に実行されます。逆に、変換が必要なのにどの工程でも倍率を適用していなければ、アップロード先で大きさが合いません。
縮尺が変わったように見える原因には、表示カメラの距離や自動フィット機能もあります。アップロード後にモデル全体が画面へ収まるよう自動調整されると、見た目だけでは正しい寸法か判断できません。縮尺の確認では、画面上の大きさではなく、距離計測機能や座標差を使って数値で判断する必要があります。
また、モデルの位置が原点から非常に遠い場合、表示上の精度や操作性に影響が出ることがあります。ただし、原点からの距離が大きいことと、単位倍率が間違っていることは別の問題です。位置を原点付近へ移動しても、座標値の差が変わらなければ縮尺は変わりません。まず既知の2点間距離を測り、本当に倍率の問題が起きているかを確認することが重要です。
単位変換前に知っておきたいOBJの特徴
OBJは頂点、面、線、テクスチャ座標、法線、グループなどをテキスト形式で記録できる三次元データ形式です。一般的なメッシュでは、頂点を示す行と、それらの頂点を参照する面情報が記録されます。点だけを表示する用途では、頂点情報を中心としたOBJが使われる場合もあります。
OBJに保存される座標値は、通常、小数または整数の数値です。例えば、ある2点のX座標の差が10であれば、その距離成分は10単位です。しかし、その10単位が10メートルなのか、10ミリメートルなのかはOBJの座標値だけでは決まりません。実際の長さは、データを作成した側と読み込む側が共有している単位ルールによって決まります。
このため、OBJの単位変換では、単にファイル拡張子を変更したり、保存し直したりするだけでは縮尺問題を解決できません。座標値そのものへ適切な倍率を掛けるか、書き出し時または読み込み時の単位設定を変更する必要があります。
単位変換では、X、Y、Zの三軸へ同じ倍率を適用するのが原則です。三軸のうち一部だけ異なる倍率を使うと、縮尺修正ではなく形状変形になります。例えば、平面方向だけを1000倍にして高さ方向を変更しなければ、建物や地形の勾配、部材の縦横比、断面形状が変わってしまいます。
点群やメッシュが正しい形状を保っている場合、必要なのは均一な倍率変更です。均一な倍率変更では、角度や相対的な形状は維持されます。ただし、距離は倍率に比例し、面積は倍率の二乗、体積は倍率の三乗で変化します。距離が1000倍になる変換を行うと、面積は100万倍、体積は10億倍になります。そのため、土量や容積を扱う業務では、縮尺の小さな誤りでも計算結果へ非常に大きな影響を与えます。
OBJに関連付けられた材質情報や画像ファイルは、主に外観を表現するためのものです。これらが不足していると色や模様が正しく表示されない場合がありますが、通常はモデル全体の寸法を決める直接的な単位情報にはなりません。縮尺問題と外観問題は分けて調査した方が、原因を絞り込みやすくなります。
また、OBJには測地座標系や投影座標系を完全に表すための情報が標準的に組み込まれているわけではありません。現場座標や公共座標に基づく点群をOBJとして受け渡す場合は、座標系、単位、原点、軸方向などを別途共有する運用が必要です。ファイルだけを渡しても、受け取り側が同じ前提で扱えるとは限りません。
ステップ1 現場の基準寸法と現在の縮尺を確認する
最初のステップは、元の点群OBJに含まれる既知寸法と、アップロード後に測定した寸法を比較することです。縮尺の問題を感覚だけで判断すると、変換方向や倍率を間違える可能性があります。必ず現地で分かっている長さや、別の測量成果から確認できる距離を基準にします。
基準寸法には、構造物の幅、柱間の距離、道路幅、標定点間距離、既知点間距離、設置したスケールの長さなどを利用できます。可能であれば、モデル内で明確に識別でき、両端を選択しやすい箇所を選びます。輪郭が曖昧な点群や、植生の先端、反射ノイズが多い面を基準にすると、選択位置の違いが測定結果へ影響します。
基準距離は1か所だけでなく、長さや方向が異なる複数箇所で確認すると安全です。例えば、東西方向の距離、南北方向の距離、高さ方向の距離を確認すれば、単純な均一縮尺の問題なのか、軸ごとに異なる変形が起きているのかを判別しやすくなります。
元データで既知点間距離が20メートルであり、アップロード後の計測値が20ミリメートル相当になっている場合、表示寸法は本来の1000分の1です。この場合、座標値を1000倍するか、読み込み側の単位解釈をミリメートルからメートルに合わせる必要があります。
反対に、現地で20メートルの距離がアップロード後に2万メートルと計測される場合、表示寸法は本来の1000倍です。この場合、ミリメートルを前提とした座標値がメートルとして解釈されている可能性があります。座標値を0.001倍してメートルへ統一するか、読み込み側で元データの単位をミリメートルとして指定します。
現在の倍率は、実際に表示されている長さを正しい長さで割ると求められます。アップロード後の長さが50で、正しい長さが5であれば、現在のモデルは正しい大きさの10倍です。修正時には、その逆数となる0.1倍を適用します。
変換倍率を直接求める場合は、正しい長さをアップロード後の長さで割ります。正しい長さが5メートルで、アップロード後の測定値が5000メートルであれば、必要な倍率は5÷5000で0.001です。正しい長さが5メートルで、アップロード後が0.005メートルであれば、必要な倍率は5÷0.005で1000です。
基準距離を選ぶ際は、極端に短い距離を避けることも重要です。点の選択誤差が数ミリメートルある環境で、数センチメートルの距離を基準にすると、倍率計算の誤差が大きくなります。可能な範囲で長い距離を選ぶと、端点選択の影響を相対的に小さくできます。
点群密度も確認材料になります。例えば、元データでは隣接点の間隔が数ミリメートル程度だったのに、アップロード後の計測では数メートル間隔になっている場合、1000倍程度の単位不一致が疑われます。ただし、表示時に点が間引かれている場合や、詳細度が自動調整されている場合もあるため、点間隔だけで倍率を確定してはいけません。
モデル全体の外接寸法も有効です。X、Y、Z方向の最小値と最大値の差を調べれば、全幅、奥行き、高さを確認できます。対象が幅30メートル程度の現場なのに、外接幅が3万単位であれば、座標値がミリメートルで記録されている可能性があります。外接幅が0.03単位なら、読み込み側の単位解釈や書き出し倍率を確認する必要があります。
このステップでは、まだ元ファイルを直接上書きしません。正しい寸法、アップロード後の寸法、推定倍率、使用した基準箇所を記録し、次のステップで単位設定と照合します。先に変換してしまうと、元の状態を確認できなくなり、二重変換や逆方向の変換を招くおそれがあります。
ステップ2 書き出し元とアップロード先の想定単位を特定する
次のステップでは、点群OBJを書き出した環境がどの単位を前提としていたか、アップロード先がどの単位として読み込んだかを確認します。倍率だけを見て修正することもできますが、原因となった単位設定を把握しなければ、次回の書き出しで同じ問題が再発します。
まず、点群を生成した工程までさかのぼります。現地計測データ、写真測量処理、点群編集、メッシュ化、OBJ書き出しという流れがある場合、それぞれの工程で座標単位が変わっていないかを確認します。途中で別形式へ変換している場合は、その変換時に倍率設定が適用されている可能性もあります。
元の点群が公共座標や現場座標に基づく場合、一般的にはメートルを前提とする運用が多く見られますが、すべてのデータが必ずメートルとは限りません。設計データや製造データでは、ミリメートルやセンチメートルが使われることがあります。業界や業務による傾向だけで判断せず、元データの作成条件を確認します。
書き出し設定に単位選択がある場合は、プロジェクト単位と出力単位を分けて確認します。プロジェクト内部ではメートルでも、OBJ書き出し時にミリメートルへ変換する設定になっている場合があります。逆に、内部単位はミリメートルでも、書き出し時にメートルへ変換されることがあります。
単位選択が見当たらない場合は、OBJの座標値をテキストとして確認する方法があります。現場規模と座標差を比較し、数値の桁から単位を推定します。例えば、幅約12メートルの対象物について、対応する頂点の座標差が約12であればメートルの可能性があります。座標差が約1200ならセンチメートル、約12000ならミリメートルの可能性があります。
ただし、座標値そのものが大きいからといって、直ちにミリメートルとは判断できません。公共座標や広域座標では、メートル単位でも座標値が数万から数百万になる場合があります。単位の判断では、座標の絶対値ではなく、対象物内の2点間の座標差を確認することが重要です。
アップロード先に読み込み単位の指定項目がある場合は、その設定を確認します。選択肢がない場合は、標準でどの単位を想定しているかを運用資料や仕様で確認します。自動判定機能がある環境でも、OBJ自体に明示的な単位がないため、対象物の大きさや座標値から推定している可能性があります。自動判定だけに依存せず、アップロード後の実測確認を行うことが安全です。
縮尺設定が書き出し側と読み込み側の両方にある場合、どちらか一方だけで変換する運用に統一します。書き出し時にミリメートルからメートルへ変換し、さらにアップロード時にもミリメートルからメートルへの変換を指定すると、0.001倍の処理が二重に適用され、元の100万分の1になる可能性があります。
反対に、書き出し側でメートルのまま出力し、アップロード側でもメートルとして扱うなら、倍率変換は不要です。単位が一致しているデータへ念のため0.001倍や1000倍を適用すると、新たな縮尺誤りを作ることになります。
単位の特定が難しい場合は、小さな検証用OBJを作る方法も有効です。原点からX方向へ1単位離れた2点や、1辺が1単位の単純な形状を作成し、同じ設定で書き出してアップロードします。アップロード後にその距離が何メートルとして計測されるか確認すれば、読み込み側が1座標単位をどの長さとして扱っているかを把握しやすくなります。
この検証では、本番データと同じ処理経路を使うことが重要です。本番データだけ別の中間形式を経由していたり、別の書き出し設定を使用していたりすると、検証結果をそのまま適用できません。作成、変換、圧縮、アップロードまでの条件をそろえます。
ステップ3 必要な変換倍率を計算して三軸へ適用する
元データとアップロード先の単位が分かったら、必要な変換倍率を決めます。基本となる考え方は、変換後に使いたい単位へ座標値をそろえることです。
ミリメートルで記録された座標値をメートルへ変換する場合は、X、Y、Zの各座標値へ0.001を掛けます。例えば、ミリメートル単位の座標値5000は、メートル単位では5になります。
センチメートルからメートルへ変換する場合は、各座標値へ0.01を掛けます。センチメートル単位の500は、メートル単位では5です。
メートルからミリメートルへ変換する場合は、各座標値へ1000を掛けます。メートル単位の5は、ミリメートル単位では5000になります。
メートルからセンチメートルへ変換する場合は、各座標値へ100を掛けます。センチメートルからミリメートルへ変換する場合は10を掛け、ミリメートルからセンチメートルへ変換する場合は0.1を掛けます。
単位が明確でない場合でも、既知寸法から変換倍率を求められます。必要な倍率は、正しい距離を現在の距離で割った値です。正しい距離が24メートルで、アップロード後の距離が24000メートルなら、24÷24000で0.001を適用します。アップロード後が0.024メートルなら、24÷0.024で1000を適用します。
倍率はX、Y、Zへ同じ値を適用します。OBJ内のすべての頂点行について、3つの座標値を同じ倍率で変換します。面情報は頂点番号を参照しているため、頂点数や並び順を変えず、座標値だけを変換すれば、基本的な面構成は維持されます。
ただし、法線情報は座標位置とは異なる意味を持ちます。法線は面の向きを示す方向ベクトルとして扱われるため、通常の均一縮尺変換で位置座標と同じ倍率を掛ける必要はありません。テクスチャ座標も画像上の対応位置を示す値であり、実空間の長さを表す座標ではありません。OBJをテキスト処理する場合は、頂点位置を示す行と、法線やテクスチャ座標を示す行を混同しないようにします。
点群OBJに色情報が頂点行の追加要素として記録されている場合も注意が必要です。環境によっては、X、Y、Zの後ろに赤、緑、青などの値が続くことがあります。単純に行内のすべての数値へ倍率を掛けると、色値まで変換されてしまいます。座標値として扱う最初の3成分だけを変換し、追加属性は変更しない処理が必要です。
変換作業を行う前に、元ファイルを必ず別名で保存します。元ファイルへ直接上書きすると、倍率の方向を間違えた場合や、変換処理が途中で失敗した場合に復元しにくくなります。元データ、変換前OBJ、変換後OBJを分けて保管し、ファイル名に単位と倍率を含めると管理しやすくなります。
例えば、メートルへ統一したファイルには、ファイル名の末尾へunit_mのような識別情報を付ける方法があります。ミリメートルのまま保管する場合はunit_mmとし、変換済みかどうかが分かるようにします。ただし、ファイル名だけで単位を保証するのではなく、作業記録にも元単位、変換先単位、倍率、変換日、担当者を残します。
座標値へ倍率を掛ける際は、数値精度にも注意します。変換後の小数桁を過度に削ると、隣接点が同じ座標へ丸められたり、微細な形状が失われたりする可能性があります。特に、ミリメートル単位の値をメートルへ変換すると小数部が増えるため、必要な精度を保てる桁数で保存します。
例えば、ミリメートル単位で1ミリメートルの差を保持したい場合、メートルへ変換すると0.001メートルの差になります。小数点以下2桁までしか保存しなければ、この差を表現できません。現場で必要とする測定精度に応じて、小数点以下の桁数を決める必要があります。
一方で、必要以上に多い桁数を残しても、元の計測精度が向上するわけではありません。元データの精度、点群生成時の誤差、標定精度、対象物の状態を踏まえ、実際に意味のある桁数を保ちます。表示された桁数の多さと、測定結果の正確さは同じではありません。
大きな座標値を持つ点群では、単位変換と合わせてローカル原点への移動を検討することがあります。例えば、座標の絶対値が非常に大きい場合、表示環境によっては細かな差を扱いにくくなることがあります。対象範囲の近くに仮原点を設定し、各頂点から一定のオフセットを差し引けば、モデル形状を維持したまま座標値を小さくできます。
ただし、オフセット処理は縮尺変更ではなく平行移動です。倍率変換とオフセット処理を同時に行う場合は、処理順序と使用した値を記録します。元の公共座標へ戻す必要がある業務では、オフセット値を失うと位置を復元できません。
変換後は、ファイル全体をアップロードする前に、代表的な一部分や軽量化した複製データで試すと安全です。大容量の点群OBJを何度もアップロードすると確認に時間がかかるため、同じ単位設定を持つ小規模な検証データで倍率を確定してから本番データへ適用します。
ステップ4 再アップロード後に距離・面積・体積を検証する
変換後のOBJを再アップロードしたら、見た目だけで完了と判断せず、数値を使って縮尺を確認します。最初のステップで使用した既知寸法を再度測定し、正しい長さへ近づいているかを確認します。
距離確認では、短い箇所と長い箇所を組み合わせます。構造物の幅が5メートル、現場全体の基準点間距離が50メートルであれば、両方を計測します。短距離と長距離の両方が同じ比率で一致していれば、均一な単位変換が正しく適用された可能性が高くなります。
高さ方向も必ず確認します。平面上の距離だけが合っていても、Z方向だけ別の倍率になっている場合があります。地盤面から屋根までの高さ、段差、擁壁高、既知点の標高差などを使い、鉛直方向の縮尺が平面方向と一致しているかを確認します。
距離の許容差は、業務目的と元データの精度に応じて設定します。現地の実測値と完全に一致しないからといって、直ちに単位変換が間違っているとは限りません。点群生成誤差、点選択位置、表面の凹凸、計測時期の違いなどでも差が生じます。
単位変換の判定では、1000倍、100分の1、10倍などの明確な倍率差と、数センチメートル程度の測定誤差を分けて考えます。例えば、正しい距離が20メートルで、測定結果が19.98メートルなら、単位の誤りではなく計測精度や端点選択の影響である可能性があります。一方、20メートルが20000メートルとして表示される場合は、単位不一致を強く疑えます。
点群OBJを面積計算に使用する場合は、既知の平面領域でも確認します。距離が正しい倍率へ直っていても、計算対象の面選択や投影方法が異なれば面積値は一致しません。単位だけでなく、水平面積、表面積、投影面積のどれを計算しているかを確認します。
縮尺倍率をkとすると、距離はk倍、面積はk²倍、体積はk³倍になります。例えば、座標値を0.001倍した場合、距離は0.001倍、面積は0.000001倍、体積は0.000000001倍になります。元のモデルが1000倍に拡大されていた場合、体積計算結果は正しい値の10億倍になっている可能性があります。
この関係は、点群から土量、盛土量、切土量、堆積物量などを算出する業務で特に重要です。モデルの見た目がそれほど不自然に感じられなくても、体積結果には大きな差が出ます。単位変換後は、既知寸法だけでなく、代表的な面積や体積が現実的な範囲にあるかを確認します。
点密度やメッシュ密度も再確認します。単位変換で座標間隔が変わると、アップロード先の表示設定や間引き条件が異なる挙動を示す場合があります。例えば、一定距離以内の点をまとめる処理がある環境では、縮尺が1000分の1になると多くの点が同一箇所付近に集中し、表示点数が減ったように見えることがあります。
反対に、モデルが1000倍に拡大されると、点間隔が非常に広くなり、点群がまばらに見えることがあります。単位変換後に表示密度が変わった場合は、モデルの実寸だけでなく、アップロード先の点サイズ、詳細度、間引き、表示距離なども確認します。
モデルの位置も確認します。縮尺変換を原点基準で行うと、原点から離れたモデルは位置座標も倍率に応じて移動します。例えば、原点からX方向へ1000000単位離れたモデルへ0.001倍を適用すると、X座標は1000になります。形状の大きさだけでなく、原点からの位置も変わるため、ほかのデータとの重ね合わせに影響します。
公共座標や現場基準点との位置関係を維持する必要がある場合は、単位変換後の座標値が想定する座標系と一致しているかを確認します。モデル単体の縮尺が正しくても、基準点や設計データと重ならなければ、単位、原点、軸方向、座標系のいずれかが一致していない可能性があります。
最終確認では、アップロード後に測定した値を作業記録へ残します。元の既知距離、変換前の測定値、適用倍率、変換後の測定値を記録すると、後から処理の妥当性を追跡できます。同じ現場の追加データをアップロードするときにも、前回の設定を再利用しやすくなります。
点群OBJの縮尺で起こりやすい間違い
点群OBJの単位変換では、倍率の向きを逆にする間違いが多く発生します。モデルが1000倍に拡大されている場合、必要なのは1000倍ではなく0.001倍です。現在の倍率と修正倍率は逆数の関係になるため、計算前に正しい距離と現在の距離を明確に区別します。
例えば、正しい長さが10メートルで、アップロード後の長さが10000メートルなら、現在のモデルは1000倍です。修正倍率は10÷10000で0.001です。「1000倍ずれている」という言葉だけを見て1000を掛けると、さらに1000倍され、正しい寸法の100万倍になります。
単位名だけを変更し、座標値を変更していないケースにも注意が必要です。ファイル名をミリメートルからメートルへ変更しても、OBJ内の数値は変わりません。読み込み側がファイル名から単位を判断しない限り、縮尺はそのままです。
書き出し設定とアップロード設定の両方で倍率を適用する二重変換も代表的な失敗です。変換処理をどの工程で行うかを決め、ほかの工程では倍率1のまま扱います。複数担当者が作業する場合は、変換済みかどうかをファイル名と作業記録の両方で示します。
軸ごとに異なる倍率を設定することも避けます。XとYだけを1000倍し、Zを変更しない処理を行うと、平面寸法は正しく見えても高さが合いません。地形勾配、建物高さ、法面角度、断面積、体積が不正確になります。
単位変換と回転を同時に行い、原因を切り分けられなくなることもあります。モデルの大きさ、向き、位置に複数の問題がある場合は、まず単位倍率を修正し、その後に軸方向や回転、平行移動を調整します。一度に多くの変換を行うと、どの設定が結果へ影響したか判断しにくくなります。
元ファイルを上書きする運用も危険です。変換倍率が誤っていた場合だけでなく、頂点行以外の数値を誤って変更した場合にも復元が難しくなります。変換前データを読み取り専用で保管し、変換後データを別ファイルとして作成します。
小数精度を落としすぎる失敗もあります。0.001倍の変換後に小数点以下を削除すると、多数の点が同じ整数座標へ丸められる可能性があります。点群形状が階段状になったり、微細な凹凸が消えたり、面が重なったりする原因になります。
反対に、元データ以上の精度があるように扱うことも適切ではありません。変換後に小数点以下を多く表示できても、現地計測や点群生成の誤差は残っています。単位変換は数値表現を変える処理であり、計測精度を高める処理ではありません。
表示上の自動拡大縮小を、データの単位変換と誤認する場合もあります。多くの三次元表示環境では、読み込んだモデルが画面内へ収まるよう表示倍率を自動調整します。巨大なモデルと小さなモデルが同程度の画面サイズで表示されることがあるため、見た目だけでは縮尺を比較できません。
単位の異なる複数データを同時に重ねると、一方だけが見えなくなることがあります。メートル単位の現場点群とミリメートル単位の設計モデルを同じ座標値として読み込むと、1000倍の差が生じます。小さい方が原点付近の点にしか見えなかったり、大きい方の一部しか画面に表示されなかったりします。
複数データを統合する場合は、すべてのデータを共通単位へそろえてからアップロードします。一般的な現場計測ではメートルへ統一すると管理しやすい場合がありますが、最適な単位は業務やシステムの仕様によって異なります。重要なのは、全データで同じ単位ルールを使うことです。
単位変換と座標系変換を混同しないための注意点
点群OBJの縮尺問題を修正する際は、単位変換と座標系変換を分けて考える必要があります。単位変換は、同じ形状と位置関係を保ちながら、座標値をメートル、センチメートル、ミリメートルなどの別単位へ換算する処理です。
座標系変換は、ある座標基準から別の座標基準へ位置を変換する処理です。地域、基準面、投影方法、軸方向などによって、同じ地点でも座標値が変わります。座標系変換には、単純な倍率だけでは表現できない計算が含まれる場合があります。
モデルの寸法は正しいものの、ほかの点群や設計データと位置が合わない場合は、単位ではなく座標系や原点の違いが原因かもしれません。例えば、2点間距離は正しいのに、モデル全体が数百メートル離れている場合は、平行移動や座標基準の違いを疑います。
モデルの幅と高さは正しいものの、横倒しになっている場合は、軸方向の違いが考えられます。ある環境ではZ軸を高さとして扱い、別の環境では異なる軸を高さとして扱うことがあります。軸の入れ替えや符号反転は向きの修正であり、単位倍率の修正ではありません。
座標系、単位、軸方向、原点の問題を切り分けるには、確認順序を決めておくと効率的です。最初に既知点間の距離を測り、縮尺が正しいかを確認します。次に高さ方向と平面方向の寸法を比較し、軸ごとの倍率を確認します。その後、モデルの向きと位置を確認します。
既知点間距離がすべて同じ倍率でずれているなら、単位不一致の可能性があります。方向ごとに異なる倍率でずれているなら、非均一な拡大縮小や処理時の変形を疑います。距離は合っているものの位置だけが違うなら、原点や座標系を確認します。距離と位置は合っているものの向きだけが違うなら、軸設定や回転を確認します。
原点移動では、全頂点へ同じ値を加算または減算します。この処理では点同士の距離は変わりません。単位変換では、全頂点を基準点に対して同じ倍率で拡大または縮小するため、点同士の距離が変わります。
回転でも点同士の距離は変わりません。したがって、縮尺確認を先に行えば、回転や平行移動の影響を受けずに単位問題を判断できます。距離計測は、複数の変換問題を切り分けるための基本的な確認方法です。
公共座標を含む点群をローカル座標へ移動する場合は、復元に必要な情報を残します。移動量、回転角、単位倍率、使用した基準点を記録しておけば、後から元の座標へ戻したり、別のデータと統合したりできます。
OBJ単体で座標系や単位を完全に共有できない場合は、付属文書へ情報を記載します。少なくとも、長さの単位、高さとして使う軸、原点の意味、座標オフセット、既知点の座標、適用済みの倍率を共有すると、受け取り側の誤解を減らせます。
点群OBJアップロード作業を標準化する方法
点群OBJアップロード時の縮尺問題を繰り返さないためには、担当者個人の記憶に頼らず、単位確認を作業手順へ組み込むことが重要です。書き出し前、アップロード前、アップロード後の各段階に確認項目を設けます。
書き出し前には、元データの単位、座標系、軸方向、原点、対象範囲を確認します。元の点群がどの工程で作られ、どの単位で保管されているかを記録します。設計データや別の点群と重ねる予定がある場合は、共通単位を先に決めます。
書き出し時には、出力単位、倍率、座標オフセット、小数精度を記録します。単位設定がない場合は、プロジェクト内部の1座標単位が何メートルに相当するかを明記します。OBJのファイル名にも単位を含めますが、ファイル名だけに依存せず、作業記録と一緒に管理します。
アップロード前には、OBJの代表的な座標差を確認します。現場幅が30メートルなのに座標差が30000であれば、ミリメートルで記録されている可能性があります。アップロード先がメートルを想定するなら、0.001倍が必要です。
また、検証に使用する基準距離をあらかじめ決めます。アップロード後にどこを測ればよいか分からない状態では、縮尺の確認に時間がかかります。現地写真、図面、基準点一覧などを用いて、端点を識別しやすい距離を選びます。
アップロード後には、基準距離、全体寸法、高さ、必要に応じて面積と体積を確認します。確認結果を記録し、設定値と結び付けます。同じ条件で作成した次回データでは、前回の設定を基準として使えます。
作業記録には、元ファイル名、変換後ファイル名、元単位、変換先単位、倍率、座標オフセット、書き出し日時、アップロード日時、検証距離、検証結果を含めると管理しやすくなります。問題が起きたときに、どの工程で倍率が変わったかを追跡できます。
複数の協力会社や部署からOBJを受け取る場合は、受け渡し条件を統一します。「OBJで納品」とだけ指定しても、単位や座標系は統一されません。単位はメートル、Z軸は高さ、指定した基準点を原点とするなど、必要な条件を明文化します。
既知寸法を含む検証用データを一緒に受け取る方法も有効です。例えば、点群内の2つの基準点とその正しい距離を共有してもらえば、アップロード後に縮尺を確認できます。データ作成者と利用者が同じ基準距離を参照することで、認識のずれを減らせます。
自動処理でOBJを変換する場合は、倍率を固定値として埋め込むだけでなく、入力単位と出力単位を処理ログへ残します。入力ファイルが毎回同じ単位とは限らないため、ファイルごとの単位確認が必要です。
変換処理後には、外接寸法を自動計算し、想定範囲と比較する仕組みも有効です。例えば、現場モデルの幅が通常1メートルから数キロメートルの範囲に収まる運用で、変換後の幅が数ミリメートルや数万キロメートルになっていれば、アップロード前に異常として検知できます。
ただし、外接寸法だけで正誤を確定することはできません。対象物の規模は案件ごとに異なるため、自動判定は注意喚起として使用し、最終的には基準距離を使って確認します。
単位変換済みのデータを再編集するときは、編集環境へ読み込んだ時点の単位も確認します。変換済みOBJをミリメートル前提の環境へ読み込み、メートルとして再度書き出すと、意図しない倍率変更が発生する場合があります。再編集や再書き出しのたびに、単位の入口と出口を確認します。
点群OBJアップロードの手順を標準化すると、縮尺の修正だけでなく、面積、体積、断面、離隔、位置合わせなどの後工程も安定します。単位が不明な状態で解析を進めると、途中で結果を作り直す必要が生じます。アップロード直後の寸法確認を必須工程にすることで、誤ったデータを使った集計や判断を防ぎやすくなります。
まとめ
点群OBJアップロード後に縮尺が変わる場合は、OBJがメートルやミリメートルといった単位情報を標準的に保持していないことを前提に、書き出し元とアップロード先の単位を確認する必要があります。
最初に、現地で分かっている基準寸法とアップロード後の測定値を比較します。次に、元データ、変換工程、OBJ書き出し設定、アップロード先の想定単位を確認します。そのうえで、正しい距離を現在の距離で割って変換倍率を求め、X、Y、Zの座標へ同じ倍率を適用します。
ミリメートルからメートルへ変換する場合は0.001倍、センチメートルからメートルへ変換する場合は0.01倍、メートルからミリメートルへ変換する場合は1000倍が基本です。ただし、設定による二重変換を防ぐため、倍率を適用する工程は一つに統一します。
再アップロード後は、距離だけでなく、高さ、面積、体積、点間隔、ほかのデータとの位置関係まで確認します。距離は倍率に比例しますが、面積は倍率の二乗、体積は倍率の三乗で変わるため、土量や容積を扱う場合は特に慎重な検証が必要です。
また、単位変換、座標系変換、原点移動、軸回転は別の処理です。モデルの寸法が合わないのか、位置が合わないのか、向きが違うのかを切り分けることで、不要な変換を避けられます。
点群OBJアップロードを安定させるには、元単位、出力単位、倍率、座標オフセット、基準距離、検証結果を作業記録へ残すことが大切です。現場で取得したデータから点群を作成し、寸法確認や共有まで一貫して進めたい場合は、LRTK Phoneを活用した点群取得とデータ運用も次の選択肢として確認してみてください。