[GIS] How Does QGIS Read ‘nodata’ in 3 Band Raster Data

gdalgdalbuildvrtnodataqgistransparency

I have 3 band GeoTiffs of aerial imagery. The imagery is byte data with values of 0-255 on each band. A 'nodata' value has not been assigned on any band. I am assembling these images using a VRT, with no additional arguments, and displaying them in QGIS.


gdalbuildvrt out.vrt *.tif

Is it possible to tell QGIS or gdalbuildvrt to ONLY render transparency in those instances where:

b1 = 0
b2 = 0
b3 = 0

Currently, if you set transparency to zero in QGIS or use:


gdalbuildvrt -srcnodata "0 0 0" out.vrt *.tif

many instances outside of these conditions are rendered transparent. For example, if:

b1 = 0
b2 = 0
b3 = 15

Am I missing something in defining transparent/nodata values in QGIS or with gdal?

Best Answer

QGIS can handle this under the Layer Properties/Transparency.

Layer Properties / Transparency