1. Mapserverを用いたWMSサーバの概要

WMS(もしくはWeb Map Server)はいくつかの異なるサーバーからのデータを使用できるようにするものであり、クライアントがカスタマイズされた地図を組み上げるための地図サーバのネットワークを構築できるようにするものである。 以下のドキュメントは Open Geospatial Consortium (OGC)のWMSインターフェース仕様1.1.1 に基づいている。

Mapserver3.5以降はWMSの仕様を実装するよう求められている。この文書が書かれた時点で、Mapserverは8以下のWMSの仕様を満たしている(1.0.0、1.0.7、1.1.0 (1.0.8)、1.1.1)。

このドキュメントは、読者がすでにMapserverのある部分については慣れていることを仮定している:

  • Mapserverのアプリケーション開発と.mapファイルの設定。
  • WMSの仕様に精通していることは大変役に立つ。WMS仕様のドキュメントへのリンクが下部の"WMSに関連した情報へのリンク"セクションに含まれている。

1.1 WMSに関連した情報へのリンク

1.2 WMSはどのように動作するのか

WMSサーバはクライアントとHTTPプロトコルを用いて動作する。多くの場合、WMSサーバはCGIプログラムである。これはMapserverの場合もそうである。

WMS仕様は多くのリクエスト手法と、そのそれぞれの手法ごとにクエリパラメータの組と関連する動作が定義されている。 WMSに準拠したサーバは少なくとも以下の2つのWMSリクエストを処理できなければならない。

  1. GetCapabilities: WMSサーバのメタデータに関するXML文書を返す。
  2. GetMap: GetMap?: ユーザの要求する地図画像を返す。

そして以下のリクエストのサポートはオプションとなる:

  1. GetFeatureInfo: クエリ(マウスでクリックした)位置での地物についての情報を返す。Mapserverはこのリクエストについて3種類の応答をサポートしている。
    • Text/plainの属性情報。
    • CLASS内でのテンプレートパラメータで指定されたMapserverのクエリテンプレートを用いたText/html出力。CLASSのテンプレートにより返されるMIMEタイプは通常text/htmlであるが、"wms_feature_info_mime_type"メタデータにより制御可能である。
    • GMLの地物情報。
  2. DescribeLayer: MLを用いた1つもしくはそれ以上のレイヤについての説明を返す。 このように実行される:
    • ベクタレイヤに対して: マップレベルもしくはレイヤレベル(もし両方が定義されているならばレイヤレベルのメタデータが用いられる)のどちらかについて、設定された wfs_onlineresource (もしくはows_onlineresource)メタデータをユーザの要求に応じて適切に返す。
    • ラスタレイヤに対して: wcs_onlineresourceメタデータに関して上記同様に処理される。
  3. GetLegendGraphic: リクエストされたレイヤの凡例(ラベル付き)のアイコンを返す。

Mapserver自体についていうならば、"mapserv"CGIプログラムがWMSリクエストをどのように処理するかを知っている。 Mapserverを用いてWMSサーバを設定することには、mapservのCGIプログラムをインストールし、適切なメタデータを含んだマップファイルを設定することを含んでいる。これについてはこのドキュメントの残りの部分でカバーしている。

Add a New Comment
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License