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

Jeff McKenna jmckenna at gatewaygeomatics.com
Tue Feb 21 10:03:14 PST 2023


Wonderful to hear that you are using the MapServer.pdf!  (I actually put 
much effort into maintaining that PDF output, that but I never hear 
feedback...until someone reports a problem, like you did now, ha). 
Sometimes my updates differ from website rebuilds, will be sure to 
update the PDF for the upcoming 8.0.1 release.

Again, thanks for this report!

(also, don't be afraid to report doc issues like this at 
https://github.com/MapServer/MapServer-documentation/issues )

thanks again for the report!

-jeff




-- 
Jeff McKenna
GatewayGeo: Developers of MS4W, MapServer Consulting and Training
co-founder of FOSS4G
http://gatewaygeo.com/



On 2023-02-21 12:52 p.m., Matthew Graber 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 
> <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 
> <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 
> <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



More information about the MapServer-users mailing list