ver 0.3.1
2016-02-15
シームレス標高サービスでは,標高タイル画像やそれを利用した陰影タイル等を,ウェブ地図の一般的なタイルセット形式で提供します.これらのタイルセットは単独で利用できるほか,様々なタイル地図と重ね合わせることで,ウェブサイト構築やインターネットを利用したアプリケーション開発で利用できます.
なお,本サービスでは国土地理院が提供する地理院タイル等を標高データソースとして利用しています.本サービスを利用する場合は,データソースの出典表示など,元データの利用規約に従う必要があります.
※本サービスはPNG標高タイルの仕様及び活用法検討のための実験公開です.仕様は予告なく変更されことがあります.
特に,PNG標高タイルが国土地理院から公開された場合は本サービスでの提供を中止する予定です.
将来ASTER GDEM等を利用して全球に対応する予定です.
タイルのサンプルビューア
サンプル タイプID タイルリソーステンプレート クエリー
パラメータPNG標高タイル elev http://gsj-seamless.jp/labs/elev/elev/{z}/{y}/{x}.png source,
res,
size陰影タイル shaded http://gsj-seamless.jp/labs/elev/shaded/{z}/{y}/{x}.png source,
res,
azimuth,
elevation,
hf,
gannma段彩タイル tints http://gsj-seamless.jp/labs/elev/tints/{z}/{y}/{x}.png source,
res法線タイル normal http://gsj-seamless.jp/labs/elev/normal/{z}/{y}/{x}.png size
本サービスで提供するタイルの基本的な仕様は,地理院タイルやグーグルマップで用いられている標準的な地図タイルに準じています.測地系は世界測地系(WGS84),投影法は半径6378137mの球体メルカトール図法(EPSG:3857)です.
基本的なタイルテンプレートは次のようになります.
http://gsj-seamless.jp/labs/elev/{type}/{z}/{y}/{x}.png?source={source}&res={res}
{type}: 画像タイプ.タイプIDで指定.elev(PNG標高タイル),shaded(陰影タイル),tints(段彩タイル)またはnormal(法線タイル)
{z}: ズームレベル
{y}: タイルY座標
{x}: タイルX座標
{source}: 標高データソース.データソースIDで指定.デフォルトは'10m'(地理院タイル 標高タイル)
{res}: 標高分解能.'m'(1メートル)または'cm'(1センチメートル)で指定.デフォルトは'm'
クエリーパラメータを全て省略するとデフォルト設定のタイルが利用できます.さらに画像タイプ毎に用意されているオプションのクエリーパラメータを指定することもできます.使用できるクエリパラメータの組み合わせは,画像タイプにより限られています.
タイル取得に成功すると一般的には256×256ピクセルのPNG形式の画像(MIME image/png)を返します.パラメータが不正な場合はエラー(400 Bad Request)を返します.有効なデータが存在しない場合は404 Not foundを返します.
ピクセルが表すデータは,仕様上はそのピクセルの北西(左上)の位置の値であり,ピクセルの範囲を代表するような値(平均値,中央値など)ではありません.ただし,タイルによっては出力時の計算を簡略化しているため厳密ではありません.通常のウェブ地図での利用ではあまり問題になりませんが,統計処理などを行う場合には問題になることがありますので注意してください.
陰影タイルや法線タイルで利用している法線ベクトルの計算方法は,その地点と,東隣及び南隣の標高値の3点を使用して求めています.また,各ズームレベルのタイルは,同じズームレベルでの標高データから計算しています.
http://gsj-seamless.jp/labs/elev/elev/{z}/{y}/{x}.png
source: 標高データソース.データソースIDで指定.デフォルトは'10m'(地理院タイル 標高タイル)
res: 標高分解能'm'(1メートル)または'cm'(1センチメートル)で指定.デフォルトは'm'
size: タイルのピクセルサイズ.17, 33, 65, 129, 256(デフォルト), 257のいずれかを指定
256×256 32bit PNG
データが存在しないピクセルは黒色透明(RGBA=0,0,0,0)
富士山周辺(z=9, y=202, x=453,デフォルト設定)
http://gsj-seamless.jp/labs/elev/elev/9/202/453.png
上記と同じ位置の標高分解1センチメートル(res=cm)
http://gsj-seamless.jp/labs/elev/elev/9/202/453.png?res=cm
http://gsj-seamless.jp/labs/elev/shaded/{z}/{y}/{x}.png
source: 標高データソース.データソースIDで指定.デフォルトは'10m'(地理院タイル 標高タイル)
res: 標高分解能'm'(1メートル)または'cm'(1センチメートル)で指定.デフォルトは'm'
azimuth: 光源方向の方位角(360度法,北を0とし時計回り),デフォルトは315(北西)
elevation: 光源方向の仰角(360度法,水平を0度,垂直を90度),デフォルトは45(旧60から変更)
hf: 高さの誇張係数(1が誇張なし),デフォルトは1
gamma: ガンマ補正係数,デフォルトは1
256×256 32bit PNG
データが存在しないピクセルは黒色透明(RGBA=0,0,0,0)
デフォルトの設定(ソースID=10m,標高分解能=m)の場合は,作成済みの法線タイルを元に計算するため比較的高速に利用できますが,それ以外はリアルタイムにPNG標高タイルから法線を計算するため若干生成に時間がかかります.
富士山周辺(z=9, y=202, x=453,デフォルト設定)
http://gsj-seamless.jp/labs/elev/shaded/9/202/453.png
上記の光源を北東方向仰角60度に変更
http://gsj-seamless.jp/labs/elev/shaded/9/202/453.png?azimuth=45&elevation=60
http://gsj-seamless.jp/labs/elev/tints/{z}/{y}/{x}.png
source: 標高データソース.データソースIDで指定.デフォルトは'10m'(地理院タイル 標高タイル)
res: 標高分解能'm'(1メートル)または'cm'(1センチメートル)で指定.デフォルトは'm'
colors: カラーパレット.詳細は後述
256×256 32bit PNG
データが存在しないピクセルは黒色透明(RGBA=0,0,0,0)
デフォルトでは,各標高値に対する色は,おおむね国土地理院の地理院タイル(色別標高図)と一致するように設定しています.
クエリーパラメータcolorsを指定するとこの配色を変更できます.colorsでは,標高(メートル,整数)と色(6桁16進数RRGGBB)のペアをカンマ区切りで列挙します.ペアーは標高値の昇順に並べてください.最初の標高値よりも低い標高はそのペアの色で,それ以降は,その標高値と一つ手前の標高値の間をグラデーションで描画します.以下の例を参考にしてください
凡例画像は以下のURLで取得でいます.colorsクエリーパラメータを指定するとカラーパレットの変更に対応した凡例画像を取得することもできます.
http://gsj-seamless.jp/labs/elev/tints/legend.png
富士山周辺(z=9, y=202, x=453)で取得できる段彩タイル(デフォルト設定)
http://gsj-seamless.jp/labs/elev/tints/9/202/453.png
上記と同じ位置の,GRASS-STRM風色設定
http://gsj-seamless.jp/labs/elev/tints/9/202/453.png?
colors=-50,0000cd,0,00bfbf,100,75c25d,200,e68080,500,ca9e4b,1000,d6bb62,2000,b99a64,3000,dcdcdc,3800,ffffff
※この配色は,「Ⅲ.陰影段彩図を作成してGoogle Earthで表示する - 三匹のウリボウ」を参考にさせていただきました.
URL http://space.geocities.jp/bischofia_vb/appmemo/memo3.html
http://gsj-seamless.jp/labs/elev/normal/{z}/{y}/{x}.png
{size}: タイルのピクセルサイズ.17, 33, 65, 129, 256(デフォルト), 257のいずれかを指定
24bit PNG
PNG法線タイルの画素の色と法線ベクトルの対応は以下のとおりです.
各軸の正方向は,x軸が東方,y軸が南方,z軸が鉛直上方です.
法線タイルの画素の色 | 内容 | 法線ベクトルと対応 |
R値 | 0~255の数値で法線ベクトルのx成分を表す | R=0 → -1 R=255 → +1 |
G値 | 0~255の数値で法線ベクトルのy成分を表す | G=0 → -1 G=255 → +1 |
B値 | 0~255の数値で法線ベクトルのz成分を表す | B=0 → -1 B=255 → +1 |
法線データが求められなかった場合は,ほぼ水平をあらわすRGB = (128, 128, 255)を使用しています.
クエリパラメータ内の{size}でタイルのピクセルサイズを指定することができます. 指定がない場合はデフォルトの256(px)となりますが,この場合は各セルの値はセルの北西端を表し,タイルの東縁および南縁の法線を表現することができません. {size}に17,33,65,129,257のいずれかを指定すると,タイルの最終列および最終行は,タイルの東縁および南縁の法線を表すものとします (すなわち,隣のタイルと法線の値が重複します).
デフォルトの設定(ソースID=10m,標高分解能=m)以外では利用できません.
富士山周辺(z=9, y=202, x=453)で取得できるPNG法線タイル
http://gsj-seamless.jp/labs/elev/normal/9/202/453.png
シームレス標高サービスでは,以下の建設省国土地理院の地理院タイルなどを標高データソースとして利用し,PNG標高タイルに変換して使用しています.
シームレス標高サービスを利用した結果の再利用に関しては,標高データソースの提供者の規定に従う必要があります.
※取得できるタイルの最大範囲は,z=13の場合で,Y=2928~3621, X=6889~7618です.
PNG標高タイルへの変換は,ズームレベル15の元データから,1つずつズームレベルの小さいタイルセットを作成することにより行っています.この時,ズームレベルの大きい方の4つのピクセルのうち,北西(左上)のピクセルの値をズームベルの小さいの方の標高値としています.
(→国土地理院コンテンツ利用規約)
産業技術総合研究所 地質情報研究部門 シームレス地質情報研究グループ 西岡 芳晴 y-nishioka@aist.go.jp