Martin,

Have you looked at the CGI runtime substitution docs?: 
http://mapserver.org/cgi/runsub.html

Make sure that you look at the validation section near the bottom.  If the 
substitution works with CGI WMS, you will need validation.

David.

From: mapserver-users-boun...@lists.osgeo.org 
[mailto:mapserver-users-boun...@lists.osgeo.org] On Behalf Of Martin Ouellet
Sent: Wednesday, March 25, 2015 3:38 PM
To: mapserver-users@lists.osgeo.org
Subject: [mapserver-users] passing parameter to a OGRVRTDataSource layer

Hi all,
I'm using the virtual plugin of OGR to consume a web service who return CSV 
coordinates and mapserver is able to draw the points without any problems.

The connection definition in my mapfile is something like this.
CONNECTION "<OGRVRTDataSource><OGRVRTLayer 
name='select'><SrcDataSource>CSV:/vsicurl/http://<my 
server>/service.php</SrcDataSource><GeometryType>wkbPoint</GeometryType><SrcLayer>select</SrcLayer><LayerSRS>WGS84</LayerSRS><GeometryField
 encoding='PointFromColumns' x='PHOTO_LONGITUDE' 
y='PHOTO_LATITUDE'/></OGRVRTLayer></OGRVRTDataSource>"

I would like to pass arguments to that CONNETION string so I could build 
dynamic request.  something like this
CONNECTION "<OGRVRTDataSource><OGRVRTLayer 
name='select'><SrcDataSource>CSV:/vsicurl/http://<my 
server>/service.php?param1=%PARAM1%&amp;param2=%PARAM2%</SrcDataSource><GeometryType>wkbPoint</GeometryType><SrcLayer>select</SrcLayer><LayerSRS>WGS84</LayerSRS><GeometryField
 encoding='PointFromColumns' x='PHOTO_LONGITUDE' 
y='PHOTO_LATITUDE'/></OGRVRTLayer></OGRVRTDataSource>"

I know the argument values (in my example PARAM1 and PARAM2) are OK because I'm 
seeing them in the error message thrown by mapserver (see below).  But 
mapserver refuse to render the points:

<?xml version='1.0' encoding="UTF-8" standalone="no" ?>
<!DOCTYPE ServiceExceptionReport SYSTEM 
"http://schemas.opengis.net/wms/1.1.1/exception_1_1_1.dtd";>
<ServiceExceptionReport version="1.1.1">
<ServiceException>
msDrawMap(): Image handling error. Failed to draw layer named 
&#39;photo_ownedby_all&#39;.
msOGRFileNextShape(): OGR error. Failed to find layer &#39;select&#39; on 
datasource &#39;CSV:/vsicurl/http://<my 
server>/geophoto/select.php?PARAM1=40.886913500823205%2C-84.41259765625011&amp;PARAM2=63.97980162961738%2C-43.587402343750284&#39;.
</ServiceException>
</ServiceExceptionReport>

Strangely, if I copy paste this url in the browser, the web service is 
returning valid csv data:
http://<my<http://%3cmy> 
server>/geophoto/select.php?ll=40.886913500823205%2C-84.41259765625011&amp;ur=63.97980162961738%2C-43.587402343750284
returned

PHOTO_LATITUDE,PHOTO_LONGITUDE

48.8099315451953,-77.0906915758454

48.8119226339273,-77.123176861499

48.8139039864207,-77.1556648776822

48.8158756013937,-77.1881556113468

48.8178374775437,-77.2206490494331

48.8171607148511,-77.2546364217682

48.8164732928131,-77.2886228129866

48.8157752119077,-77.3226082078249

48.815066472652,-77.356592590973

any thoughts?

MartinO
_______________________________________________
mapserver-users mailing list
mapserver-users@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/mapserver-users

Reply via email to