[mapserver-users] WMSgetFeatureInfo and variable substitution

Martin Ouellet geomartino at gmail.com
Mon Nov 23 10:13:11 PST 2009


One way to do it is to pass new parameters(with tha exact name of you're
mapfile variable) in the GetFeatureInfo URL so it would look something like
this:

Here is the request GetFeatureInfo
/cgi-bin/mapserv.exe?map=MYMAP
service=WMS&version=1.1.0&request=GetFeatureInfo&layers=ecoles&query_layers=ecoles&styles=&bbox=-8820221.560815%2C5721770.182129%2C-7587445.168853%2C6361395.234705&srs=EPSG%3A900913&feature_count=3000&x=272&y=457&height=523&width=1008&info_format=text%2Fhtml
*&**SEMCDC=<value>&**RSS=**<value>&**ORDRE**<value>*

MapServer will then replace the value before returning the result.

hope's this help....

MartinO

2009/11/23 <Steve.Toutant at inspq.qc.ca>

>
> Hi,
> I already posted this problem on openlayers list, but it might be a
> mapserver issue.
>
> OpenLayers.Control.WMSGetFeatureInfo doesn't use the FILTER key in my
> mapfile. This filter is define with variables like this:
> FILTER "semcdc in (%SEMCDC%) and rss in (%RSS%) and ordre in (%ORDRE%)" .
>
> The getMap request is succesfull but not the GetFeatureInfo request
>
> Here is the request GetFeatureInfo
> /cgi-bin/mapserv.exe?map=MYMAP
> service=WMS&version=1.1.0&request=GetFeatureInfo&layers=ecoles&query_layers=ecoles&styles=&bbox=-8820221.560815%2C5721770.182129%2C-7587445.168853%2C6361395.234705&srs=EPSG%3A900913&feature_count=3000&x=272&y=457&height=523&width=1008&info_format=text%2Fhtml
>
> Here is the response
> <?xml version='1.0' encoding="ISO-8859-1" standalone="no" ?>
> <!DOCTYPE ServiceExceptionReport SYSTEM "
> http://schemas.opengis.net/wms/1.1.0/exception_1_1_0.dtd">
> <ServiceExceptionReport version="1.1.0">
> <ServiceException>
> prepare_database(): Query error. Error declaring cursor: ERROR:  syntax
> error at or near "%"
> LINE 1: ...:text from ecoles WHERE (semcdc in (%SEMCDC%) ...
>                                                             ^
> With query string: DECLARE mycursor BINARY CURSOR FOR SELECT
> "taux_abs"::text,"nouv"::text,asbinary(force_collection(force_2d(geom900913)),'NDR'),id::text
> from ecoles WHERE (semcdc in (%SEMCDC%) and rss in (%RSS%) and ordre in
> (%ORDRE%)) and (geom900913 && setSRID( 'BOX3D(-8493071.07981319
> 5795761.22549582,-8480841.15528974 5807991.15001926)'::BOX3D,900913) )
>
> </ServiceException>
> </ServiceExceptionReport>
>
> In OL, I have a WMS layer define like this:
> new OpenLayers.Layer.WMS('ecoles',
> '.../cgi-bin/mapserv.exe?map=MYMAP',{layers: 'ecoles', transparent: "true",
> format:"image/gif", SEMCDC:thisCDC, RSS: thisRSS, ORDRE:
> thisOrdre},{isBaseLayer: false, visibility:
> false,singleTile:true,transitionEffect: 'resize'});
>
> How should I query the layer?
> Thanks
> Steve
> *
> Steve Toutant, M. Sc.*
> Analyste en géomatique
> Secteur environnement
> Direction de la santé environnementale et de la toxicologie
> Institut national de santé publique du Québec
> 945, avenue Wolfe
> Québec, Qc G1V 5B3
>
> Tél.: (418) 650-5115 #5281
> Fax.: (418) 654-3144*
> **steve.toutant at inspq.qc.ca* <steve.toutant at inspq.qc.ca>*
> **http://www.inspq.qc.ca* <http://www.inspq.qc.ca/>
>
>
> _______________________________________________
> mapserver-users mailing list
> mapserver-users at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapserver-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/mapserver-users/attachments/20091123/53823b42/attachment.htm>


More information about the MapServer-users mailing list