[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