TransWikia.com

Merging rasters with alpha channel using GDAL

Geographic Information Systems Asked by Agata on July 12, 2021

I need to merge 13 GeoTIFFs with (RGB+alpha channel) into one, some of them touch each other. For tests I used only two of them. I was trying to use gdalbuildvrt tool and gdal_translate afterwards, but all I get is one raster with "white" space overlapping the other raster.

gdalbuildvrt mosaic.vrt c:data....*.tif
gdal_translate -of GTiff -co "COMPRESS=LZW" -co "PREDICTOR=2" -co "BIGTIFF=YES" -co "TILED=YES" mosaic.vrt mosaic.tif

gdalbuildvrt failed raster merging

Then I figured out, that gdalbuildvrt doesn’t support alpha-channel merging.
It also seems that gdal_merge.py consumes too much memory to handle it (I have 64GB RAM).
My last idea was to use gdal_translate. The processing stops with "-done" status, the output is 9,54 GB, but when opening in QGIS – it’s empty.

gdalwarp -co COMPRESS=LZW -co PREDICTOR=2 -co BIGTIFF=YES c:data....*.tif warped.tif

Is there any way to merge those overlapping rasters with alpha channels?

One Answer

I figured out how to make it:

  1. The best way is to use gdalbuildvrt with '-srcnodata 0' parameter. It solves the problem with overlapping "white" NoData raster parts. Next use gdal_translate to create GeoTIFF.

enter code here

gdalbuildvrt -srcnodata 0 mosaic.vrt c:data*.tif
gdal_translate -co COMPRESS=LZW -co PREDICTOR=2 -co BIGTIFF=YES -co TILED=YES mosaic.vrt merged.tif
  1. By using gdalwarp. This method creates bigger file (107 GB, first method gave me 96 GB raster) and longer processing.

    gdalwarp -co COMPRESS=LZW -co PREDICTOR=2 -co BIGTIFF=YES -co TILED=YES c:data*.tif warped.tif

I was using GDAL 3.1.4 by OSGeo4W Shell

Answered by Agata on July 12, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP