gdalmerge produz arquivos muito grandes

12

Estou tentando mesclar 60 arquivos geotiff em um arquivo enorme para poder produzir blocos desse enorme arquivo geotiff resultante usando gdal2tiles.

O processo de mesclagem funcionou, mas, por algum motivo, produz um arquivo com um tamanho de 78 GB em vez dos 19 GB esperados. Não tenho certeza do que deu errado lá.

A razão para tentar isso é porque colocar os 60 geotiffs um a um lado a lado me dá espaços em branco na borda do mapa.

user851
fonte

Respostas:

16

Geralmente, os GeoTIFFs são compactados para armazenamento. Executar gdal_merge nas configurações padrão não compactará o arquivo. Adicione a opção

-co COMPRESS=DEFLATE

(ou qualquer uma das outras opções listadas na documentação ) ao seu comando para obter arquivos de saída menores.

underdark
fonte
1
Para referência futura - a minha, se mais ninguém - gdal.org/frmt_gtiff.html possui o conjunto de opções específicas do GeoTiff que você deve poder usar para qualquer um dos comandos gdal. Dependendo do tipo de imagem que você possui, convém COMPRESS = LZQ ou até JPEG; valeria a pena verificar o tipo de compactação usada nas imagens de origem.
Herb
Obrigado Herb, atualizei a resposta para conter o seu link.
Underdark
5

Como sublinhado, a melhor solução é compactar suas imagens para impedir que o grande volume de espaço vazio seja armazenado diretamente (a imagem TIFF nativa é como um bitmap: todo valor ocupa a mesma quantidade de espaço). Outra opção de compactação prática é:

-co COMPRESS=LZW

Raramente tem a mesma taxa de compactação DEFLATE, mas tem a vantagem de trabalhar com a maioria dos softwares, onde DEFLATEnão é suportado em muitos ambientes, como o ArcGIS 9.x.

Você pode tentar uma compactação sem perdas ainda mais agressiva usando uma das transformações da wavelet, como ECW , MrSID ou uma das várias implementações JPEG2000. Lembre-se de que você precisará de ferramentas usando o GDAL ou de outra forma implementará as bibliotecas para acessar os dados nesses formatos.

scw
fonte
3

Você pode evitar mesclar seus arquivos geotiff escrevendo um arquivo vrt que os mescla "virtualmente".

É um arquivo XML que descreve como os arquivos devem ser montados. Todos os utilitários gdal aceitam esse arquivo vrt como um mapa de entrada. O gdal2tiles ou o MapTiler são baseados no gdal, para que eles possam usar um arquivo vrt (ainda não tentei com um arquivo vrt, mas já tentei com um arquivo gdal_wms e funcionou muito bem).

Escrever o arquivo vrt do zero não é fácil. Basta converter um de seu geotiff em vrt para ter um exemplo:

gdal_tranlate -of vrt one_of_your_geotiff.tif one_of_your_geotiff.vrt

Há também uma ferramenta chamada gdalbuildvrt, mas não tentei.

Nome
fonte
1
Matt Perry tem um bom writeup de algumas das vantagens da utilização de VRTS aqui: perrygeo.net/wordpress/?p=141
ACS