Depois de usar gdalwarp
para projetar e alinhar à grade (via -tap
) um número de rasters, notei que os rasters de saída eram significativamente maiores que os rasters originais. Uma pesquisa na Web bastante completa mostrou esse problema do Trac :
Frank Warmerdam explicou o motivo:
"Em uma revisão cuidadosa, a diferença no arquivo em questão é que o gdal_translate usa a interface TIFFWriteScanline () para gravar o arquivo de saída em GTiffDataset :: CreateCopy? (), E isso apenas grava a maior parte da 'faixa' final do necessário para completar a área da imagem. Mas o gdalwarp passa pela interface de bloqueio que grava a faixa final completa, mesmo a parte que cai no final do arquivo. "
No entanto, esse problema do Trac tem aproximadamente 7 anos e sei que algumas alterações nos utilitários GDAL, incluindo gdalwarp
foram feitas desde então. Gostaria de saber se o raciocínio acima ainda se mantém e se a inflação do tamanho do arquivo que estou vendo é "normal". A palavra "normal" aqui pode ser considerada não surpreendente ou esperada , mas, mais importante: existe algo que pode ser feito para mitigar os efeitos, ou seja, reduzir o tamanho do arquivo raster de saída? Abaixo está uma tabela da inflação do tamanho do arquivo que estou enfrentando.
Input File Size (bytes) Output File Size (bytes) Inflation
1437380431 1698334217 18%
1428001178 1698334433 19%
41683165 137036637 228%
Os arquivos TIFF de entrada foram criados no ArcGIS e, portanto, possuem arquivos Worldfiles, XML e DBF externos, mas eles não fazem a diferença no tamanho do arquivo. Aqui está um exemplo de gdalwarp
chamada, como eu a usei em todos esses casos; a execução real foi tratada por um Python subprocess
( subprocess.Popen
):
$ gdalwarp -tap -tr 30 30 -t_srs "+proj=aea +lat_1=20 +lat_2=60 +lat_0=40 +lon_0=-96 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs" -co "COMPRESS=LZW" input_file.tif output_file.tif
Entendo que, em casos raros, a compactação cria um arquivo maior, mas o efeito é o mesmo sem a compactação LZW. As proporções na tabela estão com compactação LZW.