[mapserver-users] How to Turn off a Layer when other specific Layer is ON in a map file ?

Jeff McKenna jmckenna at gatewaygeomatics.com
Wed Nov 24 11:18:19 PST 2021


Ah!  Boy this was tricky to get working.  In my tests, it is the logical 
operators AND and OR that are not working, with MapServer 8.0-dev (I 
tested mode=map, map2img/shp2img, WMS GetMap, and PHP MapScript).  But 
the great news is that something like the following works well, in all 
modes :

      LAYER
        ..
        REQUIRES "![yourlayername]"
      END


    not working: REQUIRES "![yourlayername] OR ![someotherlayername]"

I'll add these notes to the docs today...   Thanks for the nudge on this 
Carlos!

-jeff




On 2021-11-23 6:07 p.m., Jeff McKenna wrote:
> Indeed I think my testing was wrong, as mode=map and layers= was 
> overriding the REQUIRES parameter, as I see that in msautotest things 
> are working with shp2img.  So, maybe I should not have sent these 
> messages ha.
> 
> -jeff
> 
> 
> 
> On 2021-11-23 5:42 p.m., Rahkonen Jukka (MML) wrote:
>> Hi Jeff,
>>
>> I know REQUIRES has worked in a positive way (show copyright when a 
>> layer is on) because I have used that feature but I do not admin that 
>> service any more and I can't check the details. Probably I used 
>> version 6.x then.
>>
>> -Jukka Rahkonen-
>>
>> -----Alkuperäinen viesti-----
>> Lähettäjä: MapServer-users <mapserver-users-bounces at lists.osgeo.org> 
>> Puolesta Jeff McKenna
>> Lähetetty: tiistai 23. marraskuuta 2021 23.35
>> Vastaanottaja: mapserver-users at lists.osgeo.org
>> Aihe: Re: [mapserver-users] How to Turn off a Layer when other 
>> specific Layer is ON in a map file ?
>>
>> To give a more detailed example of what *should* work:
>>
>>     LAYER
>>       ..
>>       REQUIRES "![modis] OR ![someotherlayername]"
>>     END
>>
>> I'll continue my 8.0-dev testing...
>>
>>
>> -jeff
>>
>>
>>
>> -- 
>> Jeff McKenna
>> GatewayGeo: Developers of MS4W, MapServer Consulting and Training 
>> co-founder of FOSS4G http://gatewaygeo.com/
>>
>>
>> On 2021-11-23 5:29 p.m., Jeff McKenna wrote:
>>> Hi Carlos,
>>>
>>> I had a great answer drafted for you, tooting my own horn on the recent
>>> MapServer tutorial updates for MapServer 8.x, and the demo server
>>> updates...as by chance the tutorial mentions that the parameter
>>> "REQUIRES" at the LAYER level should do exactly what you need, super :
>>> but sadly my tests now fail with MapServer 8.0-dev, I cannot get
>>> REQUIRES to work, such as:
>>>
>>>     LAYER
>>>      ..
>>>      REQUIRES "![modis]"
>>>     END
>>>
>>>    where modis is another layer name.
>>>
>>> Since I hadn't been testing this feature, and it is only briefly
>>> mentioned in the tutorial (and not part of the live demo), I have no way
>>> of saying when this should have worked, for what MapServer version.  It
>>> is part of the tutorial mapfiles, but the functionality is not working,
>>> for my local tests.
>>>
>>> But your question has made me see more room for improvement in the
>>> tutorial, and its mapfiles, so your question has helped.
>>>
>>> Sorry for my non-news, ha.
>>>
>>> I'll do more testing on this feature and report back.
>>>
>>> -jeff
>>>
>>>
>>>
>>
>> _______________________________________________
>> MapServer-users mailing list
>> MapServer-users at lists.osgeo.org
>> https://lists.osgeo.org/mailman/listinfo/mapserver-users
>>
> 
> 


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


More information about the MapServer-users mailing list