I believe the variable substitution is working since you see the
coordinate values in the exception message received from the server.
The error message says that it cannot find layer "select" in the OGR
data source, so it may very well be that it ends up being called
something else for some reason.
I'd suggest hardcoding the coordinate values in your VRT and starting by
making the VRT works with hardcoded values. Once it works, put the
variables back in.
Just a guess, but ogrinfo on that VRT may help figure out the source of
the problem.
Daniel
On 2015-03-25 4:47 PM, Fawcett, David (MNIT) wrote:
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:*[email protected]
[mailto:[email protected]] *On Behalf Of *Martin
Ouellet
*Sent:* Wednesday, March 25, 2015 3:38 PM
*To:* [email protected]
*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%&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
'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
_______________________________________________
mapserver-users mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/mapserver-users
--
Daniel Morissette
T: +1 418-696-5056 #201
http://www.mapgears.com/
Provider of Professional MapServer Support since 2000
_______________________________________________
mapserver-users mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/mapserver-users