1.WMSとは
(1)ざっくりどんなもの
ウェブで地図画像を使うということはいくらでもありますね。同じデータでも場所(経緯度範囲とか)や画像の大きさを都度変えたいということも多いですね。
そしたら、経緯度範囲や画像の大きさをパラメタとして受け取って、都度地図を描画するCGIを作ったら便利そうですね。別に内部の仕組みはCGIでなくてもJSPでも何でもいいんだけど、ウェブアプリケーションというと通じないからCGIといってます。たとえばこんなふう。
http://example.org/cgi-bin/getmap?WIDTH=400&HEIGHT=300&BBOX=25,120,45,150&BBOXというのは経緯度範囲というか外接長方形(bounding box)の略語でよく使います。
で、せっかくこういうのを作るなら、WIDTH とか BBOX とかいったパラメタを他のCGIでも共通にしておいたらクライアント側のソフトウェアが共通化できていいですね。
(2)そこでWMS
で、もうちょっとお約束を追加するとよくなるといって OGC (Open Geospatial Consrotium) という業界団体がこしらえたのが Web Map Service です。権威に弱い人に売り込むために ISO 19128:2005 という別名もついていますが、178フラン出して買っても中身はまるきり同じです。
英語はちょっと、という人や、規格票のあまりに抽象的かつ外部参照の多い文章はつらいという人は、国交省国土計画局が、もうちょっと現実的にまとめた「地理情報共用Web システム標準インタフェースガイドライン 第 1.0 版」(PDF) を見るといいです。これを見れば何か作れそうな感じがします。
このWMSは2005年から数年間、地理情報界で非常に流行したのです。政府のGISアクションプラン2010でも目玉施策のひとつだったことが、当時作られた地理情報共用Webシステムゲートウェイなんか見るとわかります。ブームは去ったかもしれませんが、なくなったわけではありません。農研機構の基盤地図WMSなんかは使える例でしょう。
(3)WCS:データ版 WMS
WMSはよくできていますが、地理データが特定の様式で地図画像に落とし込まれてしまった結果が提供されるので、他の様式に加工するということには向いていません。じゃあどうしたらいいかというと、話は簡単で、WMSとおんなじような問い合わせをして、画像ファイル(PNGとかGIF)ではなく2次元格子データ形式のファイルが返ればいいわけですね。
ようするにそれが WCS (Web Coverage Service) です。カバレッジというのは、地理情報科学の教科書をみると、なんだか抽象的な定義があって、よくわからないのですが、この文脈ではぶっちゃけ2次元格子データ(ああ、そういえば、地理では格子データのことをラスタデータと言います)。
ここまでくれば、気象データを提供するのに使えると誰でも気がつきますから、米 UCAR Unidata の連中が netCDF を売り込みにきました。もともと彼らは世紀の変わり目ごろに netCDF を WMO 標準 GRIB Edition 2 にしようとして敗退したのですが、より大きな地理情報界で標準となって捲土重来を期する大戦略です。
かくしていつのまにやら netCDF は OGC 標準のステータスを獲得して、WCS 標準文書でも例として netCDF を使う例があげられているくらいです。
(4)OGC 気象海洋分科会
さて、永らくファイル交換で事足れりとしてきたWMOも、外の世界が無視できなくなってしまったので、OGCと覚書を締結して気象海洋分科会 Met-Ocean DWG というのを作りました。そこで、WMS や WCS なんかの気象用プロファイル(細則的なものです)を作っています。
たとえば WMS は純粋2次元空間を前提にしていますが、気象データは初期時間・予報時間・アンサンブルといった多数の次元をもっています。そういうのをどう扱うかが課題でした。
2.次の波はタイリング
(1) WMS/WCS 型サービスの弱点
さて、WMS/WCS (WxSということもあります)は万能でないからブームが去ったわけですが、何が弱点でしょうか。機能が足りないからではありません。ここでは説明しませんが上のガイドラインでもみてください。機能は十分過ぎます。
WxSの弱点は、利用者が増えるとサーバ負荷も増えていくところにあります。100人オーダーのコミュニティなら1台のボロPCですばらしいサービスができても、1万人あるいは100万人オーダーのお客さんを迎えてあまねく国民にサービスするとなったらそうはいきません。単に静的ウェブサイトのお客さんが多いだけならコンテンツ配信網みたいな要するにキャッシュプロキシをつかって負荷軽減をする出来合いの商品があるわけですが、WxSは具合の悪いことに問い合わせですから、一人一人のお客さんに異なる返事が必要で、そういうのが使えないのです。
(2)タイル技法
じゃあどうしたらいいかというと、多数のお客さんに同じ画像を使いまわしできたらいいわけです。問い合わせに対してピクセル単位でオーダーメイドの図郭・寸法を作ってあげるのをやめて、あらかじめ決められた離散的な縮尺について、あらかじめ決められた正方形の画像群(タイル)を作っておいて、必要な数だけブラウザ上に読み込ませてから、ブラウザの CSS スタイルシートのような機能を使って画像をずらして、積み上げて、端を表示しないで隠したりすれば、ひとつの大きな図のように見えます。この技法をタイリングといいます。
発明したのは誰か知りませんが、 Google Maps で使われているので一気に普及しました。
Google メルカトル図法といって、メルカトル図法で世界全体が256x256ピクセルの正方形になるような縮尺をズームレベル1、各辺2分割するのをレベル2、以下レベル16くらいまで分割するのがよく行われます。図をみたほうがよければ Google のドキュメントみてください。
(3)タイリングの標準
OGC も黙って見ていたわけではなく、 WMS のタイル版として WMTS (Web Map Tiling Service) というのを作りました。しかし、これはいまいち地理情報系のとんがった人には評判がよろしくありません。
何か違うらしいのですが、さてどう違うのかはわかりません。誰か教えてください。
ちなみに気象庁の高分解能降水ナウキャストですが、これは経緯度座標(地理学的に正しく言えば正距円筒図法)というのが非常に大きなちがいです。
0 件のコメント:
コメントを投稿