1
08
2012
iPhone用GPSナビに挑戦 #9
背景地図のタイリング方式について
先の記事『iPhone用GPSナビに挑戦 #8』で国土地理院の電子国土システムが2013年1月からV4システムに移行する予定で、背景地図等のデータ形式が変更されることを簡単に触れましたが、今回はGISアプリケーションを開発する上で必須となるタイリングされた地図データのハンドリングについて調べてみようと思います.
私はGISや地図に関する専門家ではないので頓珍漢な内容になってしまうかもしれませんが、自分の勉強も兼ねて纏めてみようと思います.
国土地理院の『電子国土WebシステムVer4の開発状況や仕様について』によると、電子国土WebシステムV4では背景地図の仕様が、
- ・測地系は WGS84を採用(現行と同じ)
- ・メルカトル図法で投影したものをタイル状に分割して、256×256ピクセルサイズで配信
- ・東経0度、北緯85.05度付近を基準(座標原点)とする
- ・北緯85.05度付近から南緯85.05度付近までの範囲を、256ピクセル×256ピクセルの1枚の画像で
表現したものを zoomレベル0 とし、これを基準とする
- ・zoomレベルが1増える毎に元のタイルを縦横方向にそれぞれ2分割する
- ・電子国土では日本近辺の地図データしか配信しない.zoomレベルの範囲は 6〜19
のようになるそうです.専門家ではない人にとってはこれまでの背景地図のデータ形式(『iPhone用GPSナビに挑戦 #6』で簡単に紹介しています)との違いが良く分からないかもしれません.
今回、国土地理院が次期V4システムで背景地図の配信方式を変更した背景には、現行のシステムが国土地理院独自の方式のため一般には殆ど普及しておらず、世間一般で広く用いられているメルカトル図法による正方タイル型の方式に合わせたかったのでしょう.
世の中のGISシステムは殆どがメルカトル図法による正方タイル型の方式を採用しているようです.大部分の人にとっては高価な専用のGISアプリケーションソフトとは無縁ですが、一番身近なGISとしては Google MapsなどのWMS(Web Map Service)を挙げることができるでしょう.
Google Mapsを利用したWebアプリケーションを開発する際には、Google のドキュメントを読むのが一番手っ取り早く確実です.
Google Mapsに関するドキュメントの中に、『カスタムマップタイプ』という章がありますので、この章の中にGoogle Mapsでのメルカトル図法によるタイリングの方法と座標系についての詳しい説明があります.残念ながら座標系の相互変換を行うプロジェクション(投影)についてのドキュメントがまだ準備中ということで省かれていますが、この章を読めば上記の国土地理院の背景地図の仕様が、Google Mapsでの仕様に合わせていることが分かるでしょう.機械翻訳したような日本語訳でちょっと苦労しますが、分かり難い部分は英語の原文を見た方が良いでしょう.
Google Maps上に独自の地図をレンダリングしてみる
さて、次期電子国土V4システムでの背景地図データが世間一般に普及しているメルカトル図法による正方タイル配信に変更されるとどのようなメリットがあるかというと、Google Mapsのシステムを用いて電子国土の背景地図を表示できるようになるということです.
現行の電子国土の背景地図データも工夫すればGoogle Mapsシステム上に載せることはできるかもしれませんが、投影図法や座標系、タイリング方式が異なっているので恐らく複雑な変換処理が必要になり重たくて使い物にならないかもしれません.(暇があれば試してみようと思います)
残念ながら現時点では国土地理院のV4形式の背景地図データにはアクセスすることができませんが、公的機関や団体などでは独自の背景地図(画像)をWMSとして配信しています.有名なところではNASA のJPL OnEarth WMSサーバや U.S. Geological Survey が提供しているデータなど、様々な素材が提供されているようです.
日本でも農業・食品産業技術総合研究機構が国土地理院の基盤地図情報を基にした独自の基盤地図情報25000WMS配信サービスを提供しています.
今回は、この農業・食品産業技術総合研究機構の基盤地図サービスで提供している地図情報をGoogle Mapsシステム上に表示してみます.Google Maps以外にもOpenLayersでの表示方法についても説明が載っていますので、一度目を通しておくと良いでしょう.
Google Maps 上に別なWMSの背景地図を取り込んだ例(基盤地図サービス)
上記のサンプルは、横浜のダウンタウンの中心部 ( Lat:35.442788, Lon: 139.636638 )をGoogle Mapsシステム上に組み込んだ農業・食品産業技術総合研究機構の1/25000基盤地図サービスで表示させたものです.
背景の地図そのものは見慣れないものかもしれませんが、よく見るとズームコントロールなどの部品はGoogle Mapsのユーザインタフェースそのものです.試しに右上のマップタイプ切り替えポップアップで”地図”に切り替えて見て下さい.いつもの見慣れたGoogle の道路地図(ROADMAP) が現れることと思います.
このサンプルでは基本となるベースマップ5種類(基盤地図サービス、ROADMAP, TERRAIN, SATELLITE, HYBRID)を切り替えて利用できるように設定すると共に、Google Mapsのタイリングのメカニズムを理解しやすいように、重ね合わせ(オーバレイ)レイヤーを設けて、タイリングされた画像の境界線を重ねています.また、緯度経度値、世界座標系の値、ピクセル座標系の値やタイリング画像の座標値も情報ウインドウに表示しています.
ズームレベルが変わるとピクセル座標系の値やタイリング画像の座標値は変化しますが、世界座標系の値は変化していないことに注目して下さい.
このGoogle Mapsの拡張機能を使うことにより、扱い慣れていてプログラミングし易い Google Mapのフレームワークを用いて独自のWebマップアプリケーションを簡単に構築することができそうですね.
参考までに、上記のサンプルのHTMLソースコードを載せておきます.
https://y2tech.net/blog/wp-content/uploads/GISSample/GoogleMapTypeSample.html(別ウインドウで開きます)
Kiban25000 Map ( by Google Maps)
基盤地図提供:農業・食品産業研究機構( 平20業使、第449号「基盤地図情報25000 WMS配信サービス」)