グリッドPNGタイル 仕様


 グリッドPNGタイルとは,データを表現するための地図タイルで,インターネットを通じて地図上の面的なデータを提供するためのベースとなるフォーマットです.
 本仕様では,グリッドPNGタイルの基本仕様及び,数値PNGタイルパレットPNGタイルを規定し,パレットPNGタイルで使用するJSON凡例フォーマットを規定します.

バージョン

0.1 ( 2020-12-15 )

基本仕様


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

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

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

・データ表現

 PNGデータタイルでは,ピクセルのRGB(r,g,b; それぞれ256諧調で表したもの)を使ってデータを表現します.
 実際にどのように利用するかはタイル配信サービスに依存するものとします.  

・無効値と不透明度

 完全に透明なピクセル(不透明度0)は無効値として扱います.
 不透明度が最大値(256諧調で表した場合は255)または指定されていない場合は有効値として扱うことを推奨しますが,特定の色を無効値として指定することも可能です.
 0または最大値以外の不透明度は使用しないことを推奨します.

数値PNGタイル ( Numerical PNG Tile )


 数値PNGタイルは,グリッドPNGタイルの一種で,以下のようにデータ表現および無効値の追加について規定します.  

・データ表現

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

r' =
 r,
 r - 28,
( r < 27 )
( r ≧ 27 )
v = f(216r' + 28g + b) + o

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


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

・データ表現

 ピクセルから値を取得するには,R,G,Bの3バイト(r,g,b)をこの順に並べて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-12-15 0.1 公開開始