CGI MapServer 3.CGIを経由したマップコンテキストサポート

OGCのマップコンテキストファイルはWMSレイヤのリクエストで用いられるレイヤの情報を含んでいる。より詳細なマップコンテキストファイルの情報についてはHOWTOを参照のこと。 MapServer CGIはCONTEXTパラメータを用いることでマップコンテキストファイルの読み込みを可能とする。そしてこのパラメータにローカルに保存されているコンテキストファイルまたはURLを通してアクセス可能なコンテキストファイルを指定することができる。

ローカルのマップコンテキストファイルのサポート

ローカルのコンテキストファイルを指定するために用いられるCONTEXTと呼ばれる新しいcgiパラメータがある。ユーザは地図をリクエストするために以下の文法を用いてMapserverを用いることができる:

http://localhost/mapserver.cgi?MODE=map&MAP=/path/to/mapfile.map&CONTEXT=
                     /path/to/contextfile.xml&LAYERS=layer_name1 layers_name2

注記
コンテキストファイルから生成される全てのレイヤは状態がONに設定されている。レイヤを表示できるようにするためにはユーザはURLにLAYERS引数を追加する必要がある。

URLを通したコンテキストファイルへのアクセスのサポート

ウェブでアクセスできるコンテキストファイルを用いる際の文法はローカルのコンテキストファイルへのアクセスに似ている:

http://localhost/mapserver.cgi?MODE=map&MAP=/path/to/mapfile.map&CONTEXT=
            http://URL/path/to/contextfile.xml&LAYERS=layers_name1 layer_name2

セキュリティの観点から、URLからファイルの読み込みはデフォルトでは無効にされている。この機能を有効にするには、ユーザはこの機能を有効にするマップファイルにおいてCGI_CONTEXT_URLと呼ばれるCONFIGパラメータを設定する必要がある。ここにCONFIGパラメータのあるマップファイルの例を示す:
# Start of map file
NAME DEMO
STATUS ON
SIZE 400 300
EXTENT -2200000 -712631 3072800 3840000
UNITS METERS
IMAGECOLOR 255 255 255
IMAGETYPE png
CONFIG "CGI_CONTEXT_URL" "1"
...

デフォルトマップファイル

マップコンテキストを用いたMapserver CGIアプリケーションを円滑に実行するためには、アプリケーションの管理者がコンテキストファイルといっしょに用いられる基本的に必要なパラメータのあるデフォルトのマップファイルを提供する必要がある。このデフォルトのマップファイルは、IMAGEPATHとIMAGEURLもしくはレイヤのリストのような最小限の情報を含んでいる。コンテキスト(レイヤ、幅、高さ…)から来る情報は追加されるか、マップファイルで見つかった値と置き換えられる。

ここに最低限必要なパラメータを含むデフォルトのマップファイルの例を示す:

NAME CGI-CONTEXT-DEMO
STATUS ON
SIZE 400 300
EXTENT -2200000 -712631 3072800 3840000
UNITS METERS
IMAGECOLOR 255 255 255
IMAGETYPE png
#
# Start of web interface definition
#
WEB
  MINSCALE 2000000
  MAXSCALE 50000000
#
# On Windows systems, /tmp and /tmp/ms_tmp/ should be created at the root 
# of the drive where the .MAP file resides.
#
  IMAGEPATH "/ms4w/tmp/ms_tmp/" 
  IMAGEURL "/ms_tmp/"
END
END # Map File
Add a New Comment
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License