IFC を開いたら建物がビューアの隅に豆粒のように表示された。あるいは意匠と構造を重ねたのに、片方がもう片方から数十メートル(ときに数キロ)ずれている。「モデルが壊れた?」と疑いたくなりますが、その大半はデータの破損ではなく座標系の食い違いです。原因を切り分けられれば、たいていは設定の見直しだけで直ります。
- 基準点の取り方が違う — 一方はプロジェクト原点基準、もう一方は測量座標基準で書き出されている。
- 真北とプロジェクト北の回転 — 敷地の向きと作図上の向きがずれ、重ねると角度がずれる。
- 測量座標の二重適用 / 桁あふれ — 6〜7 桁の測地座標がそのまま入り、原点から遠く飛ぶ・精度が荒れる。
IFC の座標は「入れ子」で決まる
IFC の各要素は、いきなり世界座標を持つのではなく、親のローカル座標系からの相対位置として定義されます。敷地(Site)の中に建物(Building)、その中に階(Storey)、その中に壁や柱——という入れ子で、それぞれが自分の原点を持ち、上位からの変換(平行移動+回転)を積み重ねて最終的な位置が決まります。
この仕組み自体は堅牢ですが、裏を返せば どこか 1 段の原点・向きが違えば、その下の要素すべてがまとめてずれるということでもあります。ズレを見るときは「要素が悪いのか、階が悪いのか、建物・敷地が悪いのか」を段で切り分けるのが近道です。
3 つの基準点を混同しない
座標トラブルの根っこは、たいてい「どの点を 0 にするか」の食い違いです。IFC / BIM で登場する基準点は主に 3 つあります。
🏳 プロジェクト原点
作図上の (0,0,0)。多くはモデルの近く(建物の角や通り芯の交点)に置く。Project Base Pointとも呼ぶ。
📐 測量点
敷地を実世界の測量座標に結び付ける点。Survey Point。ここに現地の東西・南北座標(数十万〜数百万)が入る。
🌍 地理座標
EPSG などで定義される投影座標系(平面直角座標系・UTM 等)。IFC4 では IfcMapConversion で結び付ける。
意匠と構造で「作図原点」を共有していれば、書き出し設定が同じである限り素直に重なります。ところが一方がプロジェクト原点基準、もう一方が測量座標基準で書き出されると、両者は本来の敷地上の距離ぶんだけ離れて配置されます。これが「重ねたのに片方が遠くにある」の典型パターンです。
真北とプロジェクト北のずれ
敷地は必ずしも真北を向いていません。作図では建物の主軸を画面の縦横に合わせる(=プロジェクト北)のが普通で、その一方で日照・風・法規は真北を基準にします。IFC はこの差を True North(真北方向) として保持します。
真北の扱いが送り側と受け側で食い違うと、モデル全体が敷地の重心あたりを軸にくるっと回転してずれます。「原点は合っているのに遠い要素ほどズレ幅が大きい」ときは、平行移動ではなく回転(真北)のズレを疑ってください。
モデルが「はるか遠く」に飛ぶ問題
もっとも面食らうのが、建物が原点から数十万〜数百万 mm 離れた場所に表示される現象です。原因は、現地の測量座標(平面直角座標系など)がそのまま要素の座標に入っていること。日本の平面直角座標系なら X・Y が数万〜十数万 m、UTM なら数十万〜数百万 m になります。
IfcMapConversion — 地図座標への正しい橋渡し
「遠くに飛ぶ」を避けつつ実世界座標も持たせたい——そのための仕組みが IFC4 で導入された IfcMapConversion と IfcProjectedCRS です。考え方はシンプルで、モデル自体は原点近くの素直なローカル座標で作り、地図座標への変換(東へ+○、北へ+○、回転、縮尺、使用する EPSG コード)を別途メタデータとして添えるというものです。
ローカル座標 + IfcMapConversion
- 要素はすべて原点近く(数千〜数万 mm)
- 実世界の位置は変換パラメータで表現
- 精度が安定し、要素同士も重なりやすい
- EPSG コードで CRS が明示される
測量座標を要素に直書き
- 要素座標が数百万 mm になる
- 浮動小数のジッターが出やすい
- CRS 情報が失われがち(数値だけ残る)
- 受け側で「どこ基準か」を推測するはめに
IFC4.3 では、この地理参照がインフラ(道路・橋・トンネル)の広域モデルで一層重要になります。広範囲を扱うほど、実世界座標を「変換として持つ」設計の効きが大きくなります。
複数モデルが重ならないときの切り分け
意匠・構造・設備を重ねて干渉チェックや調整をしたいのに位置が合わない——現場でいちばん多い相談です。次の順に切り分けると原因にたどり着けます。
座標値の桁を見る
各モデルの要素座標がどのくらいか。片方だけ数百万 mm なら、測量座標 vs ローカルの食い違い。
平行移動か回転かを見る
一定距離ずれるだけなら平行移動(基準点差)。遠い要素ほどズレが開くなら回転(真北差)。
書き出し設定を揃える
各オーサリングツールで「共有座標/プロジェクト基準点」の設定を合わせて再書き出しするのが根本策。
ビューア側で位置合わせ
再書き出しが難しければ、重ねる側でモデルごとにオフセット(平行移動・回転)を与えて合わせる。
理想は工程の最初に共有の基準点と CRS をプロジェクトで取り決めておくことです。各社が同じ Project Base Point・同じ真北・同じ EPSG で書き出せば、重ねるだけで揃います。取り決めが無いまま集まったモデルは、後からの位置合わせが避けられません。
ずれを直すチェックリスト
1. 段で切り分ける
要素・階・建物・敷地のどこで原点/向きが狂っているかを特定する。
2. 桁を確認する
座標が数百万 mm なら測量座標。ローカル基準のモデルと混ぜない。
3. 真北を疑う
遠い要素ほどズレるなら回転。真北設定を送受で揃える。
4. 共有基準を決める
Project Base Point・真北・EPSG をプロジェクトで統一して再書き出し。
5. 直せなければ重ねて合わせる
ビューア側のオフセットで実務的に位置合わせする。
書き出し全般のつまずき(単位・属性の欠落など)はIFC エクスポートのコツにまとめています。座標と合わせて確認すると、受け渡しの事故がぐっと減ります。
まとめ
- IFC の座標は Site → Building → Storey → 要素の入れ子の変換で決まる。ズレは段で切り分ける。
- 基準点は プロジェクト原点 / 測量点 / 地理座標(EPSG) の 3 つ。混同すると重ならない。
- 平行移動のズレは基準点差、遠い要素ほど開くズレは真北(回転)差を疑う。
- 測量座標を要素へ直書きすると「遠くに飛ぶ+精度が荒れる」。IFC4 の IfcMapConversion でローカル座標+変換として持つのが正道。
- 複数モデルは、工程の最初に共有基準点と CRS を取り決めるのが最善。難しければビューア側のオフセットで位置合わせする。
座標は地味ですが、ここが揃わないと重ね合わせも干渉チェックも始まりません。逆に言えば、桁と回転の 2 点を最初に確認する癖をつけるだけで、「モデルが壊れている」と思っていたトラブルの多くは設定の話に変わります。位置以外の「開けない・真っ白・属性が空」といった症状はIFC のよくあるエラーと対処に、基礎はIFC とはにまとめています。