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
page revision: 3, last edited: 23 Apr 2008 04:42