[MapServer-users] Changing opacity of one layer in a multilayer WMS request URL with MapServer 8

Seth G sethg at geographika.co.uk
Wed Feb 22 08:26:25 PST 2023


Hi,

I think OPACITY should still work at the STYLE level: https://mapserver.org/mapfile/style.html#mapfile-style-opacity
If you are using WMS then you could setup different styles with different OPACITY values, and then use named styles to select the appropriate style (with the STYLES= added to the WMS request). 

Seth


--
web:https://geographika.net
twitter: @geographika

On Wed, Feb 22, 2023, at 4:46 PM, Steve Lime wrote:
> Hi Matthew: That functionality was indeed removed as part of 8.0. I kind of expect that we might build back something for more limited use cases if necessary, Does SLD support opacity/transparency? 
> 
> --Steve
> 
> 
> On Tue, Feb 21, 2023 at 10:52 AM Matthew Graber <grabermtw at gmail.com> wrote:
>> Hello all!
>> 
>> With MapServer 8, I'm wondering what the proper way to change the opacity of a single layer in a multilayer WMS request is.
>> 
>> For example, the following URL excerpt shows the old way of accomplishing this that worked while using MapServer 7:
>> 
>> SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&FORMAT=image%2Fpng&LAYERS=test_a,test_b&map.layer[test_b]=OPACITY+50
>> 
>> My understanding is that this would have the same effect as adding "OPACITY 50" to the test_b layer in the mapfile. The mapfile containing test_a and test_b did not have OPACITY included when they were written. Obviously, this no longer works with MapServer 8, and now that request has the same results as omitting the "&map.layer[test_b]=OPACITY+50" portion entirely.
>> 
>> Based on https://mapserver.org/fr/MIGRATION_GUIDE.html, I see that OPACITY now belongs inside a COMPOSITE object. I tried the following modifications to the request URL:
>> 
>> SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&FORMAT=image%2Fpng&LAYERS=test_a,test_b&map.layer[test_b].composite=OPACITY+50
>> SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&FORMAT=image%2Fpng&LAYERS=test_a,test_b&map.layer[test_b].composite[0]=OPACITY+50
>> 
>> I also tried this both with the mapfile left as-is, and with an empty COMPOSITE object being included in each layer object, and each time I got the same unsuccessful result as before.
>> 
>> Is there a way to accomplish this in MapServer 8?
>> 
>> Also, does this map.layer[layername]=... syntax still work in MapServer 8? The documentation at https://mapserver.org/cgi/controls.html#using-mapserver-version-8 suggests it might no longer work for MapServer 8 (based on the heading "Using MapServer version < 8"), but the documentation at https://mapserver.org/pdf/MapServer.pdf shows the same examples with the heading "Using MapServer version <= 8" on page 1065 of the PDF, so I'm unsure if this is still intended to work in MapServer 8.
>> 
>> Thank you,
>> Matt
>> _______________________________________________
>> MapServer-users mailing list
>> MapServer-users at lists.osgeo.org
>> https://lists.osgeo.org/mailman/listinfo/mapserver-users
> _______________________________________________
> MapServer-users mailing list
> MapServer-users at lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/mapserver-users
> 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/mapserver-users/attachments/20230222/bf74df5f/attachment.htm>


More information about the MapServer-users mailing list