O GDAL (Geospatial Data Abstraction Library) é uma poderosa biblioteca de código aberto para processamento e conversão de dados geoespaciais. Mesclar vários arquivos raster em um único mosaico é uma tarefa comum em diversas situações, como quando você exporta pedaços de dados do Google Earth Engine ou quando tem múltiplos tiles de imagens que deseja combinar em uma única imagem para análise. Neste post, vamos mostrar como instalar o GDAL no Linux e utilizar o comando gdalbuildvrt para mesclar vários arquivos TIFF em um único mosaico.
Instalação do GDAL no Ubuntu 22.04
Primeiro, precisamos instalar o GDAL e suas dependências. Siga os passos abaixo para instalar o GDAL no seu sistema Linux:
sudo apt-get update
sudo apt-get install libgdal-dev python3-dev gdal-bin python3-gdal gcc g++
pip3 install GDAL==$(gdal-config --version) --global-option=build_ext --global-option="-I/usr/include/gdal"Estas instruções instalam o GDAL e suas bibliotecas necessárias, além do Python bindings para usar o GDAL com Python.
Mesclando Arquivos TIFF em um Mosaico
Uma vez que o GDAL esteja instalado, você pode usar o comando gdalbuildvrt para criar um arquivo VRT (Virtual Raster) que mescla vários arquivos TIFF. Em seguida, usaremos o gdal_translate para converter o VRT em um único arquivo TIFF.
Aqui está o comando que você pode usar:
gdalbuildvrt tmp.vrt *.tif -hidenodata -srcnodata 0 -vrtnodata 0 && GDAL_CACHEMAX=512 gdal_translate -of GTiff -a_nodata 0 -co COMPRESS=DEFLATE -co NUM_THREADS=ALL_CPUS -co BIGTIFF=YES tmp.vrt merged_raster.tifVamos dividir o comando em partes para entender melhor o que ele faz:
gdalbuildvrt tmp.vrt *.tif -hidenodata -srcnodata 0 -vrtnodata 0:gdalbuildvrtcria um arquivo VRT que referencia os arquivos TIFF especificados.tmp.vrté o nome do arquivo VRT de saída.*.tifespecifica que todos os arquivos com extensão.tifno diretório atual serão incluídos.-hidenodataoculta valores nodata nas bandas dos arquivos de entrada.-srcnodata 0define o valor nodata das imagens de entrada como 0.-vrtnodata 0define o valor nodata no arquivo VRT como 0.
GDAL_CACHEMAX=512 gdal_translate -of GTiff -a_nodata 0 -co COMPRESS=DEFLATE -co NUM_THREADS=ALL_CPUS -co BIGTIFF=YES tmp.vrt merged.tif:GDAL_CACHEMAX=512define o cache de memória máximo do GDAL para 512 MB, o que pode melhorar o desempenho.gdal_translateconverte o VRT em um arquivo TIFF.-of GTiffespecifica que o formato de saída é GeoTIFF.-a_nodata 0define o valor nodata no arquivo de saída como 0.-co COMPRESS=DEFLATEaplica a compressão DEFLATE ao arquivo de saída.-co NUM_THREADS=ALL_CPUSutiliza todos os núcleos da CPU para acelerar o processamento.-co BIGTIFF=YESpermite a criação de arquivos TIFF grandes (>4GB).tmp.vrté o arquivo VRT de entrada.merged_raster.tifé o nome do arquivo TIFF de saída.
Conclusão
Com esses comandos, você pode facilmente mesclar vários arquivos TIFF em um único mosaico usando o GDAL. Esse processo é essencial para quem trabalha com grandes volumes de dados geoespaciais e precisa integrar várias imagens em um único arquivo para análise e visualização. Seja para combinar tiles exportados do Google Earth Engine ou para unir múltiplos rasters, o GDAL oferece uma solução robusta e eficiente.
Experimente seguir esses passos e compartilhe suas experiências e resultados! Se tiver alguma dúvida, deixe nos comentários abaixo.

