[OSGeoJapan-discuss] 【質問】MAPファイルについて教えてください。
楠本(MSK)
mkusumoto @ msk-web.co.jp
2015年 11月 30日 (月) 03:04:23 PST
ご教授宜しくお願いします。楠本と申します。
早速ですが、MapServer(ms4w)を使用して地図を表示するのに、MapScriptを使用
して表示させたいのですが、
メーリングリストご覧の皆様からご教授貰えればと思っています。
① OpenLayers(WMS)からMapserverに対してパラメータ(Javascriptの変数)を渡す。
<JavaScript 抜粋>
var testLayer = new OpenLayers.Layer.WMS("MAPSCRIPTテスト",
"/cgi-bin/mapserv.exe?userid=123&passwd=xyz",
{
map : "c:\test.map",
layers: "layertest",
format: "image/jpeg",
transparent: true
}, {
isBaseLayer : false,
opacity:1.0
} );
② ①で指定した引数をMAPファイル内では以下の様に設定して使用しています。
<MAPファイル>
MAP
NAME "MOGAMI_TEST"
CONFIG "MS_ERRORFILE" "/ms4w/tmp/ms_error.txt"
WEB
METADATA
"wms_title" "WMS Server"
"wms_srs" "EPSG:3857"
"ows_enable_request" "*"
END
END
PROJECTION
"init=epsg:4326"
END
LAYER
CONNECTIONTYPE postgis
NAME "NAME"
VALIDATION
"userid" '^[0-9a-zA-Z_.*/+\-]+$'
"passwd" '^[0-9a-zA-Z_.*/+\-]+$'
END
CONNECTION "host=localhost dbname=test_db user=postgres
password=%passwd% port=5432"
PROCESSING "CLOSE_CONNECTION=DEFER"
# DATA "geom FROM (select tbl_test.gid as gid, tbl_test.geom as
geom from tbl_test) using srid=4326 using unique gid"
DATA "geom FROM tbl_test"
STATUS ON
TYPE LINE
CLASSITEM "elev2"
CLASS
EXPRESSION ( ([elev2] > 1) And ([elev2] <= 100.0))
STYLE
COLOR 255 0 0
WIDTH 2.0
END
END
END
END
上記の設定でマップの描画は正常に動作しました。
ここで、②のDATA行を以下の様に設定したいと考えています。
DATA "geom FROM (select tbl_test.gid as gid, tbl_test.geom as
geom from tbl_test) using srid=4326 using unique gid"
第一に、上記の様に設定を行うと、「(」でエラーとなってSQL文が正常に機能
してくれません。
SQL文の指定の方法についてどうすれば指定できるのでしょうか?
また、(select tbl_test.gid as gid, tbl_test.geom as geom from
tbl_test)の部分を①からの引数で指定したいのですが、
その様な引数の指定を行うことは可能でしょうか?
可能であれば、その方法についてご教示頂けないでしょうか?
目的としては、postGISで探索するSQL文をWebページからの指定で任意のデー
タをチョイスして表示することが出来るようにしたい
と考えています。
最終的には、以下の様なデータ構造を持ったテーブルから、任意の結果を導き
だしたい。
DATA-1,DATA-2,・・・・・DATA-n
DATA-1とDATA-2の最大値をマップを表示させる。
DATA-iとDATA-jの最大値をマップを表示させる。
これらをホームページ上から指定した任意のデータカラムで実現したいと考え
ております。
More information about the OSGeoJapan-discuss
mailing list