オープンベータ
Bimly は現在ベータ公開中です。機能・料金は正式リリースまでに変更される可能性があります。ご意見・ご要望もぜひお聞かせください。 お問い合わせはこちら → 最近の更新を見る →
実務ガイド

IFC の座標がずれる・遠くに飛ぶ原因と対処 — 原点・真北・測量座標を理解する

IFC を開いたらモデルが原点から遠くに離れて表示される、複数モデルが重ならない——その多くは座標系が原因です。プロジェクト原点・測量座標・真北・IfcMapConversion の関係を図解で整理し、ずれの見分け方と直し方をまとめます。

約 15 分で読めます

IFC を開いたら建物がビューアの隅に豆粒のように表示された。あるいは意匠と構造を重ねたのに、片方がもう片方から数十メートル(ときに数キロ)ずれている。「モデルが壊れた?」と疑いたくなりますが、その大半はデータの破損ではなく座標系の食い違いです。原因を切り分けられれば、たいていは設定の見直しだけで直ります。

先に結論(座標ズレの主な原因は 3 つ)
  • 基準点の取り方が違う — 一方はプロジェクト原点基準、もう一方は測量座標基準で書き出されている。
  • 真北とプロジェクト北の回転 — 敷地の向きと作図上の向きがずれ、重ねると角度がずれる。
  • 測量座標の二重適用 / 桁あふれ — 6〜7 桁の測地座標がそのまま入り、原点から遠く飛ぶ・精度が荒れる。

IFC の座標は「入れ子」で決まる

IFC の各要素は、いきなり世界座標を持つのではなく、親のローカル座標系からの相対位置として定義されます。敷地(Site)の中に建物(Building)、その中に階(Storey)、その中に壁や柱——という入れ子で、それぞれが自分の原点を持ち、上位からの変換(平行移動+回転)を積み重ねて最終的な位置が決まります。

Site 敷地 測量座標に接続 Building 建物 敷地からの相対 Storey 階 標高でオフセット 壁・柱… 階からの相対 各段の「原点+向き」を掛け合わせて最終位置が決まる(ローカル配置の連鎖)
要素の世界座標 = Site → Building → Storey → 要素 の変換を順に適用した結果

この仕組み自体は堅牢ですが、裏を返せば どこか 1 段の原点・向きが違えば、その下の要素すべてがまとめてずれるということでもあります。ズレを見るときは「要素が悪いのか、階が悪いのか、建物・敷地が悪いのか」を段で切り分けるのが近道です。

3 つの基準点を混同しない

座標トラブルの根っこは、たいてい「どの点を 0 にするか」の食い違いです。IFC / BIM で登場する基準点は主に 3 つあります。

🏳 プロジェクト原点

作図上の (0,0,0)。多くはモデルの近く(建物の角や通り芯の交点)に置く。Project Base Pointとも呼ぶ。

📐 測量点

敷地を実世界の測量座標に結び付ける点。Survey Point。ここに現地の東西・南北座標(数十万〜数百万)が入る。

🌍 地理座標

EPSG などで定義される投影座標系(平面直角座標系・UTM 等)。IFC4 では IfcMapConversion で結び付ける。

意匠と構造で「作図原点」を共有していれば、書き出し設定が同じである限り素直に重なります。ところが一方がプロジェクト原点基準、もう一方が測量座標基準で書き出されると、両者は本来の敷地上の距離ぶんだけ離れて配置されます。これが「重ねたのに片方が遠くにある」の典型パターンです。

i
見分け方: 片方のモデルだけ座標値が極端に大きい(要素の位置が数十万〜数百万 mm)なら、それは測量座標で書き出されています。原点近く(数百〜数万 mm)のモデルと重ねればズレます。

真北とプロジェクト北のずれ

敷地は必ずしも真北を向いていません。作図では建物の主軸を画面の縦横に合わせる(=プロジェクト北)のが普通で、その一方で日照・風・法規は真北を基準にします。IFC はこの差を True North(真北方向) として保持します。

建物(作図の向き) PN プロジェクト北 = 画面の上 TN θ 真北 = プロジェクト北から θ 回転
真北(TN)はプロジェクト北(PN)から角度 θ だけ回っている。重ねる相手がこの θ を無視すると、建物ごと回転してずれる

真北の扱いが送り側と受け側で食い違うと、モデル全体が敷地の重心あたりを軸にくるっと回転してずれます。「原点は合っているのに遠い要素ほどズレ幅が大きい」ときは、平行移動ではなく回転(真北)のズレを疑ってください。

モデルが「はるか遠く」に飛ぶ問題

もっとも面食らうのが、建物が原点から数十万〜数百万 mm 離れた場所に表示される現象です。原因は、現地の測量座標(平面直角座標系など)がそのまま要素の座標に入っていること。日本の平面直角座標系なら X・Y が数万〜十数万 m、UTM なら数十万〜数百万 m になります。

原点 (0,0) X = 6 543 210 mm Y = 15 209 876 mm 大きな座標値ほど、単精度浮動小数では位置が「カクつく」
測量座標がそのまま入ると、原点から遠く離れて表示される。加えて座標が大きいほど浮動小数の丸め誤差でジッター(ちらつき)が出やすい
!
遠いだけでは済まない: 座標値が大きいと、単精度(float32)で扱う 3D ビューアでは有効桁が足りず、面がチラついたり要素がわずかに震えて見えることがあります。「遠い」と「精度が荒れる」はセットで起きます。多くのビューアは重心を引いて描画してこれを緩和しますが、元データ側で基準を揃えるのが本筋です。

IfcMapConversion — 地図座標への正しい橋渡し

「遠くに飛ぶ」を避けつつ実世界座標も持たせたい——そのための仕組みが IFC4 で導入された IfcMapConversionIfcProjectedCRS です。考え方はシンプルで、モデル自体は原点近くの素直なローカル座標で作り、地図座標への変換(東へ+○、北へ+○、回転、縮尺、使用する EPSG コード)を別途メタデータとして添えるというものです。

推奨

ローカル座標 + IfcMapConversion

  • 要素はすべて原点近く(数千〜数万 mm)
  • 実世界の位置は変換パラメータで表現
  • 精度が安定し、要素同士も重なりやすい
  • EPSG コードで CRS が明示される
避けたい

測量座標を要素に直書き

  • 要素座標が数百万 mm になる
  • 浮動小数のジッターが出やすい
  • CRS 情報が失われがち(数値だけ残る)
  • 受け側で「どこ基準か」を推測するはめに

IFC4.3 では、この地理参照がインフラ(道路・橋・トンネル)の広域モデルで一層重要になります。広範囲を扱うほど、実世界座標を「変換として持つ」設計の効きが大きくなります。

複数モデルが重ならないときの切り分け

意匠・構造・設備を重ねて干渉チェックや調整をしたいのに位置が合わない——現場でいちばん多い相談です。次の順に切り分けると原因にたどり着けます。

座標値の桁を見る

各モデルの要素座標がどのくらいか。片方だけ数百万 mm なら、測量座標 vs ローカルの食い違い。

平行移動か回転かを見る

一定距離ずれるだけなら平行移動(基準点差)。遠い要素ほどズレが開くなら回転(真北差)。

書き出し設定を揃える

各オーサリングツールで「共有座標/プロジェクト基準点」の設定を合わせて再書き出しするのが根本策。

ビューア側で位置合わせ

再書き出しが難しければ、重ねる側でモデルごとにオフセット(平行移動・回転)を与えて合わせる。

理想は工程の最初に共有の基準点と CRS をプロジェクトで取り決めておくことです。各社が同じ Project Base Point・同じ真北・同じ EPSG で書き出せば、重ねるだけで揃います。取り決めが無いまま集まったモデルは、後からの位置合わせが避けられません。

Bimly での位置合わせ: 複数の IFC を 1 プロジェクトに重ねたとき、モデルごとに表示のオン/オフと XYZ のオフセットを与えて位置を合わせられます。オフセットは表示上の変換として扱い、元の要素座標は書き換えません。だから何度でも調整でき、共有リンクにも位置合わせがそのまま反映されます。

ずれを直すチェックリスト

1. 段で切り分ける

要素・階・建物・敷地のどこで原点/向きが狂っているかを特定する。

2. 桁を確認する

座標が数百万 mm なら測量座標。ローカル基準のモデルと混ぜない。

3. 真北を疑う

遠い要素ほどズレるなら回転。真北設定を送受で揃える。

4. 共有基準を決める

Project Base Point・真北・EPSG をプロジェクトで統一して再書き出し。

5. 直せなければ重ねて合わせる

ビューア側のオフセットで実務的に位置合わせする。

書き出し全般のつまずき(単位・属性の欠落など)はIFC エクスポートのコツにまとめています。座標と合わせて確認すると、受け渡しの事故がぐっと減ります。

まとめ

座標は地味ですが、ここが揃わないと重ね合わせも干渉チェックも始まりません。逆に言えば、桁と回転の 2 点を最初に確認する癖をつけるだけで、「モデルが壊れている」と思っていたトラブルの多くは設定の話に変わります。位置以外の「開けない・真っ白・属性が空」といった症状はIFC のよくあるエラーと対処に、基礎はIFC とはにまとめています。

関連記事