gdalmerge produce un archivo que es demasiado grande

12

Estoy tratando de fusionar 60 archivos geotiff en un archivo enorme para poder crear mosaicos a partir de ese enorme archivo geotiff resultante usando gdal2tiles.

El proceso de fusión funcionó, pero por alguna razón produce un archivo que tiene un tamaño de 78 GB en lugar de los esperados 19 GB. No estoy seguro de qué salió mal allí.

La razón para intentarlo es porque el mosaico de los 60 geotiffs uno por uno me da espacios en blanco en el borde del mapa.

user851
fuente

Respuestas:

16

Por lo general, GeoTIFF se comprime para su almacenamiento. Ejecutar gdal_merge en la configuración predeterminada no comprimirá el archivo. Agrega la opción

-co COMPRESS=DEFLATE

(o cualquiera de las otras opciones enumeradas en la documentación ) a su comando para obtener archivos de salida más pequeños.

bajo oscuro
fuente
1
Para referencia futura, la mía, si no hay nadie más, gdal.org/frmt_gtiff.html tiene el conjunto de opciones específicas de GeoTiff que debería poder usar para cualquiera de los comandos de gdal. Dependiendo del tipo de imágenes que tenga, es posible que desee COMPRESS = LZQ o incluso JPEG; valdría la pena el tiempo para verificar el tipo de compresión utilizada en las imágenes de origen.
Hierba
Gracias Herb, he actualizado la respuesta para contener su enlace.
oscuro
5

Como señala Underdark, la mejor solución es comprimir sus imágenes para evitar que el gran volumen de espacio vacío se almacene directamente (la imagen TIFF nativa es como un mapa de bits: cada valor ocupa la misma cantidad de espacio). Otra práctica opción de compresión es:

-co COMPRESS=LZW

Raramente tiene la misma relación de compresión DEFLATE, pero tiene la ventaja de trabajar con la mayoría del software, donde DEFLATEno es compatible con muchos entornos como ArcGIS 9.x.

Puede intentar una compresión sin pérdidas aún más agresiva utilizando una de las transformaciones wavelet, como ECW , MrSID o una de las diversas implementaciones de JPEG2000. Tenga en cuenta que necesitará herramientas que utilicen GDAL o implemente las bibliotecas para acceder a los datos en estos formatos.

scw
fuente
3

Puede evitar fusionar sus archivos geotiff escribiendo un archivo vrt que los combine "virtualmente".

Es un archivo XML que describe cómo deben ensamblarse los archivos. Todas las utilidades de gdal aceptan este archivo vrt como un mapa de entrada. gdal2tiles o MapTiler están basados ​​en gdal, por lo que deberían poder usar un archivo vrt (no lo he probado aún con un archivo vrt pero ya lo he intentado con un archivo gdal_wms y funcionó bastante bien).

Escribir el archivo vrt desde cero no es fácil. Simplemente convierta uno de sus geotiff a vrt para tener un ejemplo:

gdal_tranlate -of vrt one_of_your_geotiff.tif one_of_your_geotiff.vrt

También hay una herramienta llamada gdalbuildvrt pero no la probé.

Nombre
fuente
1
Matt Perry tiene una buena reseña de algunas de las ventajas de usar VRT aquí: perrygeo.net/wordpress/?p=141
scw