We use GDAL_TIFF_INTERNAL_MASK=YES while creating COGs.. this leads to the creation of separate images inside the COG for the mask.
This saves space because it is 1 bit encoded( though some forms of compression might do a good job at reducing the size without this optimisation ).
But when you are retrieving from a remote endpoint.. you will be making extra calls to retrieve the tiles for the mask as well. These can be made parallel to the other calls but still feels like overhead.
Apart from that.. some of the common libraries to deal with COGs on the cloud have problems dealing with these mask layers as can be seen here.
Need to decide on this.. for now the libraries can be hacked around to make it work.. but this doesn't sound ideal.
We use
GDAL_TIFF_INTERNAL_MASK=YESwhile creating COGs.. this leads to the creation of separate images inside the COG for the mask.This saves space because it is 1 bit encoded( though some forms of compression might do a good job at reducing the size without this optimisation ).
But when you are retrieving from a remote endpoint.. you will be making extra calls to retrieve the tiles for the mask as well. These can be made parallel to the other calls but still feels like overhead.
Apart from that.. some of the common libraries to deal with COGs on the cloud have problems dealing with these mask layers as can be seen here.
Need to decide on this.. for now the libraries can be hacked around to make it work.. but this doesn't sound ideal.