RhinoとGISの連携 第4回・第5回では、Heronを使用してRhino上で位置情報を保持し、ジオリファレンスを行ったうえで、Cesium ion へデータを持っていく正しい手順を紹介しました。これにより、Rhinoを起点とした3Dモデルを、地理的な文脈の中で可視化・共有できるようになります。
一方で、実際の作業では、こうした前提が揃わないまま別の手順で進めてしまったり、一部の確認を省略したまま操作が進んでしまうことも少なくありません。その結果、操作そのものは問題なく完了しているにもかかわらず、意図しない表示や配置が生じるケースがあります。本記事では、操作方法の解説ではなく、どの工程で必要な確認が抜けやすいのか、また、ツールに任せられる部分と、利用者が意識して確認すべき点を整理します。

RhinoとGISで、座標の扱い方が異なる点を整理する
RhinoとGISは、どちらも座標を扱いますが、実際の使われ方は異なります。Rhinoでは、モデルを作成しやすい位置に原点を置き、その周囲で形状を組み立てていくことが一般的です。このとき原点自体に地理的な意味はなく、どの座標系の原点として解釈するかは後段の設定に委ねられます。
一方、GISでは、そのデータが地球上のどこにあるかが明確であることが重要になります。同じ数値であっても、「どの座標系として扱うか」によって意味が変わります。
このように、Rhinoはモデルファーストの座標の考え方であり、GISは環境ファーストの座標の考え方を前提としています。この違いを意識しないまま連携を行うと、双方のデータを重ねた際に、モデルの位置がズレることがあります。

経緯度(度)と平面座標(m)の感覚が混ざる
HeronやWebマップを使って作業をしていると、経緯度で表現されたデータと、メートル単位で表現されたデータを、同じ地図上で扱う場面が出てきます。
GISでは、地球を球体として扱う地図と、平面に投影して扱う地図が使い分けられており、この違いによって座標値の意味やスケールが変わります。一方、Rhino上で表示される地図では、どちらのデータも平面上に自然に重なって見えるため、「同じ感覚で扱える」と思い込みやすくなります。
そのまま作業を進めていると、距離や高さを確認した段階で、想定していた値と合わないことに気づく場合があります。例えば、Rhinoでは「1 = 1m」のつもりで作業していても、地理座標系として扱われた場合、「1 = 1度」と解釈されることで、距離や位置関係が大きく異なって見えることがあります。(緯度1度は111km程度に相当します。)
これは操作の問題ではなく、平面の地図と球体の地図という考え方の違いや、単位の違いを意識しないまま数値を扱ってしまったことによるものです。

Cesium ion上でのズレ
座標系を確認しないまま作業を進めると、Cesium ion のような地球全体を前提とした環境でモデルを表示した際に、位置が合っていないように見えることがあります。この場合、インポート処理そのものに問題があるのではなく、その前の工程で定義されていなかった情報が、結果として表示に現れているだけのことも少なくありません。
例えば、Cesium ion では WGS84 の地理座標系(EPSG:4326)が前提となりますが、Rhino(Heron)側で座標系が未定義の場合や、異なる座標系で作業していた場合、座標の解釈が一致せず、モデルが意図しない場所に配置されることがあります。その結果、緯度・経度が 0 度付近の海上にモデルが表示されるなど、本来とは異なる場所に現れることがあります。

このような地点は、GIS の分野では「ヌル(Null)島」と呼ばれることもあり、座標の前提が正しく解釈されていない場合に現れやすい、
代表的な表示例のひとつ
このような結果になってしまった場合、Cesium ion 上で位置を調整することも可能です。ただし、データの一貫性や後続の活用を考えると、Rhino に戻り、Heron を使って座標系を再構成する方が適している場合もあります。
高さ(Z)の前提が曖昧なまま扱われる
Rhinoで作成したモデルをGISやCesium ionに持ち込む際には、XY方向の位置だけでなく、高さ(Z)の扱いにも注意が必要です。
Rhinoでは、モデルの高さは作業上の基準に基づいた相対的な値として扱われることが多く、必ずしも地球上の標高と対応しているわけではありません。一方、GISやCesium ionでは、高さは地表や標高を基準とした値として解釈される場合があります。
この違いを意識しないままデータを扱うと、モデルが地面から浮いて表示されたり、逆に埋まって見えたりすることがあります。位置(XY)が正しく見えている場合でも、高さの前提が一致していないことで、違和感のある表示になることがあります。
高さ方向の扱い(鉛直座標系)については、楕円体高やジオイド高など、複数の基準が存在します。そのため、高さはすべての環境で統一的に扱えるものではなく、利用するプラットフォームごとに解釈される前提があります。
これは操作の問題ではなく、高さが単一の基準で定義されているものとして扱ってしまったことによるものです。そのため、高さがどの基準で解釈されるのかを確認したうえで、GISやCesium ion側での表示設定を含めて調整することが重要になります。

モデルが意図しない場所で地面に埋まって表示された例
まとめ
Heronを使うことで、Rhino上に地理的な位置関係を持たせることができます。一方で、前提となる情報を把握しないまま作業を進めると、データの一貫性が失われ、別のツールで読み込んだ際に意図しない表示となることがあります。そのため、作業の各フェーズで、以下の点を意識しながら進めることが重要になります。
Rhinoに持ち込む前
- 提供されているデータの座標系は明示されているか?
- 出典と作成目的は把握しているか?
Rhino上で
- どの座標系を前提に作業を進めているか?
- どの単位で表現されているのか?
データ共有・可視化前
- 作業時の前提(座標系・単位・高さの基準)を共有相手に伝えられているか?
RhinoとGISの連携で発生するズレの多くは、操作ミスではなく、前提の違いによって生じます。ここでいう前提とは、座標系・単位・高さといった要素を指します。Rhinoではモデルを基準として座標を扱うのに対し、GISでは地球上の位置を基準としてデータが定義されます。この違いを意識しないまま作業を進めると、同じ数値であっても異なる意味として解釈され、結果として位置やスケールのズレとして現れます。
また、どの座標系を使用するかだけでなく、どのタイミングでその前提を確定させたかも結果に影響します。作業の途中で前提が曖昧なまま進んでしまうと、後の工程でズレとして顕在化することがあります。そのため、RhinoとGISを連携して扱う際には、ツールの操作だけでなく、「どの前提でデータを扱っているか」を意識することが重要になります。
次回以降は、こうした点を踏まえたうえで、より踏み込んだ解析や活用の話題へと進んでいきます。
