[mapserver-users] WMS GetMap request - incorrect layer ordering
John Cartwright
john.c.cartwright at comcast.net
Tue Oct 18 20:12:20 PDT 2011
Thank you both for your suggestions, but I can't seem to get this to work either w/ shp2img or a WMS request. I've configured the layers as:
LAYER
NAME countries
TYPE POLYGON
STATUS on
...
END
LAYER
NAME mask
TYPE POLYGON
STATUS on
REQUIRES "[countries]"
...
END
Then requesting
http://localhost/cgi-bin/basicworld?request=getmap&service=wms&width=500&height=250&bbox=-180,-90,180,90&srs=EPSG:4326&version=1.1.1&layers=countries&format=png
shows the countries layer unmasked. Explicitly adding the mask to the request as below displays the countries layer masked, but is not a solution for me as I have to enforce the mask.
http://localhost/cgi-bin/basicworld?request=getmap&service=wms&width=500&height=250&bbox=-180,-90,180,90&srs=EPSG:4326&version=1.1.1&layers=countries,mask&format=png
The debugging log suggests that only the countries layer is being requested:
[Tue Oct 18 21:00:20 2011].525713 msDrawMap(): rendering using outputformat named png (AGG/PNG).
[Tue Oct 18 21:00:20 2011].525903 msDrawMap(): WMS/WFS set-up and query, 0.000s
[Tue Oct 18 21:00:20 2011].537968 msDrawMap(): Layer 1 (countries), 0.012s
[Tue Oct 18 21:00:20 2011].537982 msDrawMap(): Drawing Label Cache, 0.000s
[Tue Oct 18 21:00:20 2011].537989 msDrawMap() total time: 0.013s
[Tue Oct 18 21:00:20 2011].555843 msSaveImage(stdout) total time: 0.018s
[Tue Oct 18 21:00:20 2011].555881 mapserv request processing time (msLoadMap not incl.): 0.031s
[Tue Oct 18 21:00:20 2011].555888 msFreeMap(): freeing map at 0x100832600.
Did I misunderstand what you intended?
Thanks again!
--john
On Oct 18, 2011, at 8:06 AM, Daniel Morissette wrote:
> On 11-10-18 04:36 AM, Rahkonen Jukka wrote:
>> Hi,
>> It is also possible to create a mask layer with REQUIRES keywork. The
>> snippet below will make the "mask" layer to draw always when the
>> "countries" layer is drawn. However, it is not automatically drawn if
>> you ask for any other layer. One minory drawback is that the mask layer
>> is also listed in the GetCapabilities as a normal WMS layer.
>> LAYER
>> NAME "mask"
>> ....
>> REQUIRES "[countries]"
>> ...
>> END
>
> Great suggestion. And with MapServer 6.x you can hide the mask layer from the GetCapabilities using the "ows_enable_request" metadata:
>
> LAYER
> NAME "mask"
> ....
> REQUIRES "[countries]"
> METADATA
> "ows_enable_request" "!GetCapabilities"
> ...
> END
> ...
> END
>
> --
> Daniel Morissette
> http://www.mapgears.com/
> Provider of Professional MapServer Support since 2000
>
> _______________________________________________
> mapserver-users mailing list
> mapserver-users at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapserver-users
More information about the MapServer-users
mailing list