データタイルマップ - 解説


コンセプト

 データタイルマップのコンセプトは「Web Cookable Data」(Webで調理可能なデータ)です.位置情報を持った面的なデータをWebを使って提供し,それを様々に加工するサービスの構築を支援するためのフォーマットです.特にデータ量が多い場合に力を発揮します.点や線のデータでも工夫すれば扱えますが,そのようなデータの場合はベクトルタイルの利用を検討すると良いでしょう.データ量が少ない場合もタイル分割するメリットが少なくなりますが,他のタイルデータと組み合わせて利用する場合などは,たとえ少量なデータであってもデータタイルマップで提供することは有効です.
 データタイルマップの背景にある考え方は,ユーザに柔軟でテンポの良いアプリケーションを提供するために,データを扱いやすいサイズに分け,汎用的なフォーマットを利用するということです.この手法により,リアルタイムで高速な変換が可能になります.

地図タイルについて

 データタイルマップは,現在のほとんどのWeb地図サービスで利用されている地図タイルをデータに応用したものです.地図タイルは,大量の地図データをユーザ環境で高速に扱うために考案されたもので,地図画像を正方形の小さなタイルに分割し,サーバ側に設置して利用する方法です.地図タイルセットには異なる解像度(ズームレベル)のものが含まれており,ユーザ側のパソコンは必要なときに必要な解像度と範囲のタイル画像をサーバに要求することにより,最低限のコストで最高のパフォーマンスが得られるように工夫されています.

投影法

 データマップタイルは,地図投影法やタイルの分割法については規定しませんが,通常の地図タイルで使われているグーグルマップ互換のWebメルカトル図法を用いるのがもっとも一般的であると思われます.地理院タイルでも同様のものが用いられています.
 一方,Webメルカトル図法では北極や南極付近が表現できません.これらの地域も表現したい場合は,正距円筒図法(緯度と経度をそのまま座標に読み替えるような投影法)によるタイルが最も有効です.
 データタイルマップは比較的広い範囲のデータを提供する場合に有効な方法なので,上記2つの投影法以外が用いられることはあまりないと思われますが,解像度が高い情報を,ある程度広範囲で提供したい場合はUTMや平面直角座標系でも有効です.しかし,将来的に他のデータとの連携を考えるとWebメルカトルか正距円筒図法に変換して提供する方が良いでしょう.

ピクセルの色の扱い方

 あるピクセルのR,G,B値の扱い方は提供するサービスの仕様に依存しますが,データタイルマップのPNGパレットタイルでは,最も単純にR,G,Bの各バイトを上位からバイトから割り当てて24ビット符号無し整数として扱う方法を示し,この値をピクセル値と呼んでいます.
 また,R,G,B値の取り扱い方は,大きく離散型と連続型に分けることができます.

 さらに,24bitのデータ幅を2つに分割して12ビットづつの2つの値でベクトルを表現したり,24bit浮動小数点として精度の大きく異なるデータが混在する場合に対応するなど,様々な応用が考えられます.

ピクセルの値と地図上の範囲との関係

 データタイルマップの画像の1つのピクセルは,地図上のある矩形の範囲に対応します.
 データタイルマップのピクセルが示す値とこの範囲との関係は,提供されるサービスの仕様に依存しますが,大きく2つにわけられます.

 タイル作成という立場から見た場合,上記の例の中では,セルの北西端とした場合がもっとも単純なアルゴリズムとなります.この場合,あるズームレベルから1つ小さいズームレベルのタイル画像を生成するには,単純に4つのうちの左上のピクセルの値をとれば良いことになります.

 上述の位置型で,「セルの北西端」とした場合,そのタイル画像全体の南端,東端のデータは保持できません.それらは,隣接タイル画像内に含まれます.通常はこれで大きな問題はありませんが,標高を用いた3Dグラフィックスなどでは,そのタイル画像内のデータだけでは隣接タイル画像とぴったり接合できず,不便な場合があります.このため,隣接タイル画像とのデータの重複を許して南,東方向に1ピクセル分ずつ余分にデータを保持する仕様を考え,これを 拡張形式 と呼ぶことにします.