Hi,

As Even already answered, using vrt files over the BGRN originals will work. We 
had a need to use both grayscale originals and vrt-falsified RGB versions (the 
only band pointing to red, green, and blue in .vrt) in the same service. We 
have only one tileindex in PostGIS, made from the tiff images, but it can be 
modified on-the-fly in the tileindex layer

DATA "the_geom from (SELECT the_geom, fid, CASE WHEN filepath like '%_mv_%' 
THEN replace(filepath,'TIFF','vrt') ELSE filepath END AS location,…

-Jukka Rahkonen-

Lähettäjä: mapserver-users <mapserver-users-boun...@lists.osgeo.org> Puolesta 
Peter Schmitt
Lähetetty: maanantai 29. huhtikuuta 2019 19.41
Vastaanottaja: mapserver-users@lists.osgeo.org
Aihe: [mapserver-users] Conditional BANDS directive based on underlying data

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

_______________________________________________
mapserver-users mailing list
mapserver-users@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/mapserver-users

Reply via email to