1

I want to retile large GeoTIFFs with 4 bands: R = Red, G = Green, B = Blue, NIR = Near Infra Read; in short "RGBI" if I understand correctly.

gdalinfo on the input file prints as band information:

Band 1 Block=512x512 Type=Byte, ColorInterp=Red
Band 2 Block=512x512 Type=Byte, ColorInterp=Green
Band 3 Block=512x512 Type=Byte, ColorInterp=Blue
Band 4 Block=512x512 Type=Byte, ColorInterp=Undefined

After running gdal_retile.py, the fourth (NIR) channel is converted to an Alpha-Channel. gdalinfo on the output file prints as band information:

Band 1 Block=1024x2 Type=Byte, ColorInterp=Red
  Overviews: 512x512, 256x256, 128x128
  Mask Flags: PER_DATASET ALPHA
  Overviews of mask band: 512x512, 256x256, 128x128
Band 2 Block=1024x2 Type=Byte, ColorInterp=Green
  Overviews: 512x512, 256x256, 128x128
  Mask Flags: PER_DATASET ALPHA
  Overviews of mask band: 512x512, 256x256, 128x128
Band 3 Block=1024x2 Type=Byte, ColorInterp=Blue
  Overviews: 512x512, 256x256, 128x128
  Mask Flags: PER_DATASET ALPHA
  Overviews of mask band: 512x512, 256x256, 128x128
Band 4 Block=1024x2 Type=Byte, ColorInterp=Alpha
  Overviews: 512x512, 256x256, 128x128

The conversion of the Infrared-band into an Alpha mask is causing me troubles. Can I prevent this behavior (of gdal_retile.py)? Or alternatively: Can I reverse the effect by changing the Alpha band back to an "Undefined" band?

The gdal_retile.py parameters I ran with (on GDAL version 1.11) are:

gdal_retile.py 
-s_srs EPSG:31464 [georeference]
-ps 1024 1024 [pixel width/height)
-tileIndex "tileIndex.shp" 
-csv "tileGeoRef.csv" 
-targetDir "...\outputfolder" 
"...\inputfile.tif"

Purpose of the operation is to cut the large GeoTIFF into small 1024x1024 images.

2

I found an answer for exactly this problem in the [gdal-dev] Mailing list: To avoid the fourth band being interpreted as ALPHA channel, the corresponding option ALPHA=NO can be specified for the GeoTIFF driver. To preserve the RGB order, apparently there is the option PHOTOMETRIC=RGB - for more read the mailing list. In my case the ALPHA=NO option was enough.

When calling the script via command-line, use the -co "OPTION-NAME=VALUE" parameter (see doc) to specify options.

My full command was:

gdal_retile.py 

-co "ALPHA=NO"

-s_srs EPSG:31464 [georeference]
-ps 1024 1024 [pixel width/height)
-tileIndex "tileIndex.shp" 
-csv "tileGeoRef.csv" 
-targetDir "...\outputfolder" 
"...\inputfile.tif"

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.