データタイルマップ - 解説
コンセプト
データタイルマップのコンセプトは「Web Cookable Data」(Webで調理可能なデータ)です.位置情報を持った面的なデータをWebを使って提供し,それを様々に加工するサービスの構築を支援するためのフォーマットです.特にデータ量が多い場合に力を発揮します.点や線のデータでも工夫すれば扱えますが,そのようなデータの場合はベクトルタイルの利用を検討すると良いでしょう.データ量が少ない場合もタイル分割するメリットが少なくなりますが,他のタイルデータと組み合わせて利用する場合などは,たとえ少量なデータであってもデータタイルマップで提供することは有効です.
データタイルマップの背景にある考え方は,ユーザに柔軟でテンポの良いアプリケーションを提供するために,データを扱いやすいサイズに分け,汎用的なフォーマットを利用するということです.この手法により,リアルタイムで高速な変換が可能になります.
地図タイルについて
データタイルマップは,現在のほとんどのWeb地図サービスで利用されている地図タイルをデータに応用したものです.地図タイルは,大量の地図データをユーザ環境で高速に扱うために考案されたもので,地図画像を正方形の小さなタイルに分割し,サーバ側に設置して利用する方法です.地図タイルセットには異なる解像度(ズームレベル)のものが含まれており,ユーザ側のパソコンは必要なときに必要な解像度と範囲のタイル画像をサーバに要求することにより,最低限のコストで最高のパフォーマンスが得られるように工夫されています.
投影法
データマップタイルは,地図投影法やタイルの分割法については規定しませんが,通常の地図タイルで使われているグーグルマップ互換のWebメルカトル図法を用いるのがもっとも一般的であると思われます.地理院タイルでも同様のものが用いられています.
一方,Webメルカトル図法では北極や南極付近が表現できません.これらの地域も表現したい場合は,正距円筒図法(緯度と経度をそのまま座標に読み替えるような投影法)によるタイルが最も有効です.
データタイルマップは比較的広い範囲のデータを提供する場合に有効な方法なので,上記2つの投影法以外が用いられることはあまりないと思われますが,解像度が高い情報を,ある程度広範囲で提供したい場合はUTMや平面直角座標系でも有効です.しかし,将来的に他のデータとの連携を考えるとWebメルカトルか正距円筒図法に変換して提供する方が良いでしょう.
ピクセルの色の扱い方
あるピクセルのR,G,B値の扱い方は提供するサービスの仕様に依存しますが,データタイルマップのPNGパレットタイルでは,最も単純にR,G,Bの各バイトを上位からバイトから割り当てて24ビット符号無し整数として扱う方法を示し,この値をピクセル値と呼んでいます.
また,R,G,B値の取り扱い方は,大きく離散型と連続型に分けることができます.
- 離散型
- 連続型
-
地質図や地形分類図などように,特定に色のみが使われていてR,G,Bの値の組み合わせで凡例を一意に識別できる場合,ピクセル値は凡例を識別するためのインデックス番号として扱えます.このようなデータタイルマップを実装するフォーマットしてPNGパレットタイルを規定しています.
-
標高値など任意の値を表現することもできます.例えば,国土地理院の標高タイルではR,G,Bを合わせて24ビット符号符号付整数として扱い,1cm単位で記録されているので,この値に0.01をかけて実際の標高値(m単位)を得ます.このように,係数を導入することにより様々な物理量を表現することができます.このようなデータタイルマップを実装するフォーマットしてPNG数値タイルを規定しています.
ピクセルの値と地図上の範囲との関係
データタイルマップの画像の1つのピクセルは,地図上のある矩形の範囲に対応します.
データタイルマップのピクセルが示す値とこの範囲との関係は,提供されるサービスの仕様に依存しますが,大きく2つにわけられます.
- 位置型:ある特定の位置の値をあらわす
(例)- セルの中央
- セルの北西端(PNG標高タイルなど)
- 領域型:その矩形範囲の統計処理の結果の値を表す
(例)- 平均値(国土地理院標高タイル)
- 面積が最大のもの(20万分の1日本シームレス地質図V2など)
上述の位置型で,「セルの北西端」とした場合,そのタイル画像全体の南端,東端のデータは保持できません.それらは,隣接タイル画像内に含まれます.通常はこれで大きな問題はありませんが,標高を用いた3Dグラフィックスなどでは,そのタイル画像内のデータだけでは隣接タイル画像とぴったり接合できず,不便な場合があります.このため,隣接タイル画像とのデータの重複を許して南,東方向に1ピクセル分ずつ余分にデータを保持する仕様を考え,これを 拡張形式 と呼ぶことにします.