[mapserver-users] passing parameter to a OGRVRTDataSource layer
Fawcett, David (MNIT)
David.Fawcett at state.mn.us
Wed Mar 25 13:47:07 PDT 2015
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-bounces at lists.osgeo.org [mailto:mapserver-users-bounces at lists.osgeo.org] On Behalf Of Martin Ouellet
Sent: Wednesday, March 25, 2015 3:38 PM
To: mapserver-users at 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%¶m2=%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 'photo_ownedby_all'.
msOGRFileNextShape(): OGR error. Failed to find layer 'select' on datasource 'CSV:/vsicurl/http://<my server>/geophoto/select.php?PARAM1=40.886913500823205%2C-84.41259765625011&PARAM2=63.97980162961738%2C-43.587402343750284'.
</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&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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/mapserver-users/attachments/20150325/2cbf2592/attachment.htm>
More information about the MapServer-users
mailing list