データタイルマップ - 仕様


 データタイルマップは,インターネットを通じて地図上の面的なデータを提供するためのベースとなるフォーマットで,ユーザーの要望に応じて柔軟かつ高速に表示できることを目的としています.通常のWeb地図で利用されている地図画像のタイルマップを数値データに応用したもので,インターラクティブなWeb地図サービスの構築が可能になります.
 本仕様では,データタイルマップの基本タイル仕様としてPNGデータタイルPNG数値タイルPNGパレットタイルを規定し,PNGパレットタイルで使用するJSON凡例フォーマットを規定します.

バージョン

2.2 ( 2020-01-06 )

PNGデータタイル ( PNG Data Tile )


画像ファイルフォーマット

 PNG(Portable Network Graphics) 24ビットまたは32ビットRGB,8ビットインデックスカラー

 タイルセットの中でファイルフォーマットが混在することは妨げません.

データ表現

 PNGデータタイルでは,ピクセルのRGB(r,g,b; それぞれ256諧調で表したもの)をデータとして利用します.
 RGB各1バイト(合計24ビット)で単一の値を表現する場合はスカラー型,いくつかに分割して複数の値を表現するときはベクトル型と呼びます.
 実際にどのように利用するかはタイル配信サービスに依存するものとし,ここでは規定しません.  

無効値

 完全に透明な画素(不透明度0)は無効値として扱います.
 不透明度が0以外,または指定されていない場合は有効な値として扱いますが,有効な値で不透明度を指定する場合は最大値(256諧調で表した場合は255)とすることを推奨します.
 タイル画像が存在しない場合は,すべてのピクセルが無効値であるとして取り扱うものとします.

タイル画像東端・南端の扱い

 各セルの値がセル北西端の値を表す場合は,タイル画像東端・南端の扱いによって通常タイプと拡大タイプの2種類を規定します.このような場合は,そのままではタイル画像東端および南端の値を表現できません.これを通常タイプと呼びます.画素数を縦,横1ピクセルずつ増やして東端および南端の値を表現するものを拡大タイプとします.  

PNG数値タイル ( PNG Numerical Tile )


 PNG数値タイルは,PNGデータタイルの一種で,データ表現および無効値の追加についての規定を行うものです.  

データ表現

 ピクセルから値を取得するには,まず,R,G,Bの3バイトをこの順に並べて24ビット符号無し整数(iu)または24ビット符号付き整数(is)として整数値を得ます.次に,タイル配信サービスにより決められた定数,係数(f)及びオフセット(o)を用いた1次関数変換を行って最終的な値(v)に変換します.
 変換式は以下のようになります.

iu = 216r + 28 g + b
is =
 iu,
 iu - 224,
( iu < 223 )
( iu ≧ 223 )
v = f (iu または is) + o
(iu, isのどちらを利用するかはタイル配信サービスに依存します)

無効値の追加

 完全に透明な黒色以外に,無効値として識別する値を追加することができます.無効値を追加する場合は,符号無しまたは符号付き整数値で指定することを推奨します.

PNGパレットタイル ( PNG Palette Tile )


 PNGパレットタイルは,PNGデータタイルの一種で,いくつかの限定された色のみが使用されるものです.  

データ表現

 ピクセルから値を取得するには,R,G,Bの3バイトをこの順に並べて24ビット符号無し整数として得ます.これをピクセル値pv, pixel value)と呼びます.
 変換式は以下のようになります.

pv = 216r + 28 g + b

凡例情報

 各色に関連付けられる情報が何らかの形式で別途提供される必要があります.この情報を凡例情報と呼びます.凡例情報は次節のJSON凡例フォーマットで提供することを推奨します.

JSON凡例フォーマット ( JSON Legend Format )


 JSON凡例フォーマットは,PNGパレットタイルとともに提供されることを想定したJSONフォーマットです.
 ルートは後述の凡例項目オブジェクトの配列か,または凡例オブジェクトです.  

凡例項目オブジェクト

 凡例項目オブジェクトのメンバーは以下の通りです.                                                
名称データ型内容省略補足
r0~255の整数色のR値必須r,g,bの組み合わせは,ファイル内で一意でなければなりません.
g0~255の整数色のG値必須
b0~255の整数色のB値必須
title文字列タイトル必須凡例項目の内容を表す短い文字列
value6桁の16進数文字列ピクセル値省略可216r + 28 g + b
description文字列説明省略可プレーン文字列またはHTMLフラグメント
 

凡例オブジェクト

 凡例全体の情報および各凡例項目のリストを保持するもので,使用はオプションです.
 凡例オブジェクトのメンバーは以下の通りです.                      
名称データ型内容省略補足
title文字列タイトル必須凡例の内容を表す短い文字列
itmes配列凡例オブジェクトの配列必須
 
 上記の各オブジェクトに新たなメンバーを追加することは任意とします.凡例項目のシンボルや凡例データ更新日等を追加できます.利用システムは,処理できないメンバーにはエラーを出さず,無視しなければなりません.   

補足


  • タイル画像のピクセルサイズは規定しません
  • 地図投影法は規定しません
  • タイル分割法,タイル画像パスの書式は規定しません

履歴


日付バージョン概要
2020-01-06 2.2 JSON凡例フォーマットを追加
2019-05-14 2.1.1 PNG数値タイルの英語名をPNG Numerical Tileに変更
2019-04-03 2.1.0 基本フォーマット仕様としてのデータタイルマップ及びスカラータイルマップの名称を,
PNGデータタイル及びPNG数値タイルに変更
PNGパレットタイルの規定を追加
2019-03-03 2.0.0 スカラータイルマップの規定を追加,gifを除外
2019-02-13 1.0.1 透明・不透明に対する不透明度の値の誤りを修正
2016-05-20 1.0.0 PNG標高タイル(ver 0.6.3)の上位規格としてデータタイルマップ仕様を作成