[mapserver-users] Conditional BANDS directive based on underlying data

Peter Schmitt pschmitt at gmail.com
Mon Apr 29 09:40:32 PDT 2019


Hi,

When my data is 4-band (BGRN), I use the BANDS processing directive to
yield RGB tiles, like so:

    PROCESSING    "BANDS=4,3,2"

Is there a way to have a single layer within a Mapfile that will set this
directive to 4,3,2 when the underlying data has four bands and either skip
the directive or set it to 1,2,3 when the underlying data is 3-band?

The only thing I can think of is it to try runtime substitution, where my
request might include the band order like
"REQUEST=WMS&the_band_order=4,3,2&...." and then configure my mapfile
accordingly:

    PROCESSING    "BANDS=%the_band_order%"

Is there another way which doesn't require the client to know about the
underlying data?  FWIW, my ultimate use-case serves mosaics using a tile
index generated from Postgis. The Postgis table could have a column storing
the band information, but I'm not sure how to extract that in my
LAYER/BANDS Processing directive.

Thanks!
Pete
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/mapserver-users/attachments/20190429/283ac9dd/attachment.htm>


More information about the MapServer-users mailing list