[mapserver-users] SLD parameter in GetMap and GetLegendGraphic requests

myOpenLayersUName joanne.mcgraw at SYMPATICO.CA
Wed Mar 9 16:46:35 EST 2011


The MapServer documentation says the value of an SLD parameter must point to
a "remote SLD (SLD=http://URL_TO_SLD)." Okay, I understand, but I still have
to ask this question...

Is there any way the path can be provided to a directory that exists on the
MapServer host itself? 

One of our processes generates a shapefile and the SLD to symbolize it
dynamically. We then use a blank MAP file (acting as a WMS Server) to load
up the data with the SLD for display (using a GetMap request). All the
generated files are stored in the same directory on the same system as
MapServer. MapServer can get at the shapefile because the blank MAP file has
a SHAPEPATH in it and we just pass along the rest of the path to the files
through the GetMap request's DATA parameter. For example:

http:///ogc/printVecWms_en?map.layer[LineString]=DATA
'6543c79b-8c56-4dd1-8a89-ef8dde819e02/LineString'
END&VERSION=1.1.1&SLD=http:///printVecData/SLD/6543c79b-8c56-4dd1-8a89-ef8dde819e02/LineString.sld&TRANSPARENT=true&LAYER=LineString&SERVICE=WMS&REQUEST=GetLegendGraphic&STYLES=&EXCEPTIONS=application/vnd.ogc.se_inimage&FORMAT=image/jpeg&SRS=EPSG:42304&BBOX=-397165.01997824,-789911,2108966.9600435,1716220.9800218&WIDTH=256&HEIGHT=256


Unfortunately, the area where these files are created is not accessible
externally, nor do we want them to be (particularly the shapefiles). This
means we have to move the location of the SLDs to a place where we do not
forbid access in order to use the syntax above. And that works fine.


However, we'd really, really like to keep the SLDs closely associated
(physically) with the Shapefiles they were built for. So, if anyone knows
some syntax or a way that we can pass a value through the SLD parameter that
is not publically accessible via http, I'd love to here it!!

Is there some way of specifying the SLD to use within the MAP file itself
and consequently a way that I can set it in the map.layer[LineString]= value
instead? I've never heard of such a thing nor have I found anything that
suggests I can, I'm just throwing it out there to see if anything jumps in
to anyone's mind.

Cheers,
jtm

--
View this message in context: http://osgeo-org.1803224.n2.nabble.com/SLD-parameter-in-GetMap-and-GetLegendGraphic-requests-tp6155608p6155608.html
Sent from the Mapserver - User mailing list archive at Nabble.com.


More information about the mapserver-users mailing list