これまでの回では、Rhinoモデルと地理空間情報をどの段階で位置合わせするか、また GIS 側で位置を管理することの意味について整理してきました。
第4回となる本記事では、Heron を使用して、Rhino 上で地理空間情報を直接扱う方法を紹介します。Heron を用いることで、外部の GIS ソフトウェアを介さず、Rhino(Grasshopper)上で位置を意識したデータ取得や配置が可能になります。
本記事では、詳細な解析や厳密な座標変換には踏み込まず、Rhino 上でベースマップを追加し、座標系を定義し、モデルをジオリファレンスするまでの基本的な流れを紹介します。

ベースマップとは
ベースマップとは、地理的な位置関係を把握するための背景となる地図情報を指します。
道路、建物、地形、航空写真などを背景として表示することで、設計対象が実世界のどの場所に相当するのかを視覚的に確認できます。
Rhino はローカル座標を前提としたモデリング環境ですが、ベースマップを参照することで、モデルと実世界の位置関係を意識した作業が可能になります。

座標系とは
座標系とは、位置を数値として扱うための基準となる枠組みです。GIS の分野では、どこを基準点とするかどの単位・方向で位置を表すかといった前提を明確にするために座標系が用いられます。本記事では、座標系の理論的な分類や計算方法には踏み込みません。重要なのは、座標系は「計算のため」ではなく、「位置を参照するための前提」として使われるという点です。
Heronを使用し、Rhinoで座標系定義をする
Heron は、Grasshopper 上で地理空間情報を扱うためのプラグインです。Heron を使用することで、Rhino のローカルな作業空間に対して、座標系を持たせることができます。

操作としては、Grasshopper 上で Heron の座標関連コンポーネントを配置し、緯度・経度や基準位置を指定します。この段階で行うのは、位置を厳密に確定させることではなく、「どの空間を参照しているか」を明示することです。後続の作業において、位置関係を説明できる状態を作ることが目的となります。
Grasshopperプラグインはサードパーティー製品であり、アプリクラフトでは取り扱いをしておりません。そのためサポート・使用方法・不具合等のお問い合わせの対象外となりますのであらかじめご了承ください。ご自身の責任にて、ご導入・ご使用いただきますようお願いいたします。
●「ESRI REST Service Geocode」:任意の場所の緯度・経度情報を取得します。

●「Set EarthAnchorPoint」:取得した緯度経度の情報を接続し、地球上の座標と、Rhinoのモデル空間を対応付けるための「基準点」を設定します。

●「Set Spatial Reference System」:任意の座標系を設定します。
※今回は WGS84 に基づく座標参照系(EPSG:4326)を使用しています。

一連の設定によって、設定した緯度・経度の位置が、Rhino空間内の基準点として定義されます。
ここまでで、Rhino内での位置と現実の地球上の位置とが対応付けられましたので、以降、地形データや地理情報を、座標系に基づいた一貫したスケールで扱う準備が整いました。
Heronを使用し、Rhinoにベースマップを挿入する
座標系を定義した後、Rhinoの「長方形(Rectangle)」コマンド等で大まかな範囲を設定します。次にHeron の「Get REST Raster 」コンポーネントを使用して、設定した範囲内にベースマップを取得します。
●「Get REST Raster」:EsriやUSGSなどが提供する地図サービス(REST Service)に接続し、指定した位置や取得範囲に応じたベースマップを Rhino 上に読み込みます。

Grasshopper 上で取得条件を設定すると、Rhino のビュー上に地図情報が表示され、モデルの大まかな配置や周辺環境との関係を視覚的に確認しながら作業を進めることが可能になります。なお、本記事の例では、Esri が提供する ArcGIS REST Service を利用してベースマップを表示しています。複数のベースマップから選択することができますが、本記事では最終的なベースマップの選定までは行いません。モデルの位置合わせを行う段階で、視覚的に確認しやすいものを用途に応じて選択すれば十分です。ここでは例として「World Street Map」を使用します。
Rhino上でモデルをジオリファレンスをする
ベースマップと座標系が用意された状態で、Rhino 上のモデルを視覚的に調整・配置することで、モデルを実世界の位置にひもづけること(ジオリファレンス)ができます。「移動(Move)」コマンドやガムボールを使って、任意の場所にモデルを移動します。

※本記事では、数値レベルでの厳密な位置調整と座標変換の検証までは行いません。目的は「このモデルは、どの場所を想定しているのか」を説明できる状態にすることです。また標高や高さといった鉛直方向の位置情報については扱いません。
まとめ
本記事では、Heron を使用した Rhino × GIS 連携の基本操作として、以下の内容を紹介しました。
- ベースマップは、位置関係を把握するための参照情報である
- 座標系は、位置を扱うための前提となる枠組みである
- Heron を使うことで、Rhino 上でも空間参照を意識した作業が可能になる

Heron は、位置を確定させるためのツールではなく、位置を扱える状態を作るためのツールです。次回は、位置情報を持たせた このRhino モデルをオンライン上で共有する方法について紹介します。
