Re: Conditional BANDS directive based on underlying data

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: Conditional BANDS directive based on underlying data

jratike80

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 <[hidden email]> Puolesta Peter Schmitt
Lähetetty: maanantai 29. huhtikuuta 2019 19.41
Vastaanottaja: [hidden email]
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
[hidden email]
https://lists.osgeo.org/mailman/listinfo/mapserver-users
Reply | Threaded
Open this post in threaded view
|

Re: Conditional BANDS directive based on underlying data

Peter Schmitt
On Tue, Apr 30, 2019 at 4:41 AM Rahkonen Jukka (MML) <[hidden email]> wrote:


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,…

 


Thanks Jukka & Even! A tile index of VRTs should work quite well for my use case.

Cheers,
Pete

_______________________________________________
mapserver-users mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/mapserver-users