69 votos

Debe GDAL ser ajustados para producir GeoTIFF archivos con compresión? El algoritmo que se debe usar?

Tengo una carpeta de datos de SIG que se compone principalmente de los archivos GeoTIFF. Todo el conjunto pesa sobre 1.2 GB. Me di cuenta de que si yo pack el contenido en un archivo tar, que rompe abajo a cerca de 82 MB. Me gustaría ver el conjunto en un sistema de control de revisiones sot puede ser trabajado por otras personas y parece que hay algún espacio que puede ser exprimida.

El GDAL GeoTIFF controlador de la página de listas de un montón de opciones que se pueden utilizar para crear comprimido archivos GeoTIFF. También hay un montón de opciones que afectan a la forma en que cada algoritmo funciona.

La página de ayuda hace un buen trabajo en el que describe las opciones pero no los detalles sobre cómo seleccionar un algoritmo o desventajas que se asocian con los diferentes niveles de compresión. Esto lleva a las siguientes preguntas:

  • Las ventajas de utilizar la compresión son un gran ahorro de espacio. ¿Cuáles son las desventajas? Es información perdida cuando la imagen está comprimida?

  • ¿Cómo ir sobre la elección de un algoritmo y nivel de compresión. Hacer algunos tipos de imágenes se prestan a un determinado algoritmo?

103voto

Sam McAfee Puntos 4615

Para seleccionar el método de compresión que necesita para utilizar un comando como:

gdal_translate -co "COMPRESS=method" src_dataset dst_dataset

Cuando se utiliza la compresión mayor trade-off es el procesamiento adicional de tiempo que es necesario para descomprimir la imagen, y después de descomprimir la imagen les siguen consumiendo la misma cantidad de memoria. Acerca de la pérdida de información existen dos tipos básicos de compresión:

  • sin pérdidas - que preservar los valores de los datos originales
  • con pérdida - que degradan los datos para ahorrar aún más espacio

Usted sería sin pérdida de algoritmos cuando los valores de los datos originales deben ser conservados, como los DEMs, o raster características. Algoritmos como PACKBITS, DESINFLAR y LZW tienen pérdidas y pueden ser ordenadas según relación de compresión:

  1. LZW - la más alta relación de compresión, mayor potencia de procesamiento
  2. DESINFLAR
  3. PACKBITS - la más baja relación de compresión, menor potencia de procesamiento

Relación de compresión depende todavía de los datos, si los datos tienen una gran cantidad de valores similares PACKBITS dará buenos resultados.

Contrario a lossless podría utilizar algoritmos con pérdida como JPEG para comprimir los rásteres que no tienen que devolver los valores exactos. Por ejemplo, las ortofotos o imágenes de satélite pueden ser comprimidos usando algoritmos con pérdida.

41voto

Greg Puntos 1756

Con lzw y deflate de compresión usando -co predictor=2 puede ayudar con las imágenes que varían suavemente como lo comprime las diferencias de píxel a píxel en lugar de los valores absolutos, y estos tienden a ser pequeñas y tener más patrones (ref). Predictor sólo es útil con lzw y deflate de compresión, la opción no tiene efecto con otros métodos.

gdal_translate -co compress=lzw -co predictor=2 ...

El predictor de ahorro puede ser dramático. Acabo de volver a comprimir un directorio de 16bit geotiff modelos de elevación utilizando hasta 17GB con el valor predeterminado de compresión LZW configuración en sólo 5 GB con predictor=2.

Es contradictoria la información sobre las diferencias entre los predictores 2 y 3 y cuando cada uno se aplica mejor (ref1, ref2). Quizás combustible para otra pregunta.

Otra opción fácil para los ahorros es -co tiled=yes. Hay algún software que no puede leer mosaico de imágenes, pero son cada vez más raras y en su mayoría fuera de los SIG (no sé de ninguna corriente principal de software de GIS ahora que no los lea).

Para construir en @alfonx la respuesta de comprimir las descripciones: Esto permite que la base de la imagen para ser almacenado sin pérdidas, para la integridad de los datos, y las pirámides a tener pérdidas, por la velocidad y algunos ahorro de espacio. Es casi lo mejor de ambos mundos. Para los más pequeños posible resúmenes con gdaladdo en imágenes RGB: utilizar la compresión jpeg, promedio o remuestreo gaussiano en lugar de la predeterminada del " vecino más cercano (hace los panoramas más suave), y YCBCR fotométrico visión de conjunto. Ver el gdaladdo página de referencia para obtener más información sobre estas opciones (aunque no dice mucho acerca de lo que fotométrica es todo acerca de).

Esto es parte de un archivo por lotes de windows que uso para aplicar jpeg externo panoramas para todos los tiff en un directorio:

set _opts= -r gauss --config PHOTOMETRIC_OVERVIEW YCBCR ^
--config COMPRESS_OVERVIEW JPEG --config JPEG_QUALITY_OVERVIEW 85

for %%a in (*.tif) do gdaladdo -ro %_opts% %%a 2 4 8 16 32 64

Notas

GDAL 1.6.0 introdujo gauss de remuestreo que puede conducir a mejores resultados average en el caso de los bordes afilados con alto contraste o ruidoso patrones. Potencias de 2 niveles (2 4 8 ...) debería ser utilizado para un 3x3 de remuestreo núcleo Gaussiano es seleccionado.

JPEG_QUALITY_OVERVIEW 85 - si no se especifica, el valor predeterminado de 75%, es el rendimiento de archivo más pequeño, pero me parece que el 85% el mejor compromiso en el tamaño vs calidad de comercio.

Actualización 2015: GDAL 1.8 y 2.0 ha introducido una gran cantidad de nuevas opciones que no están cubiertos aquí y que no he tenido tiempo para digerir. Leer el oficial gtiff formato de la página, estoy seguro de que hay adicional de utilidad de configuración detallada.

12voto

Denys S. Puntos 189

Para las grandes rásteres GeoTiff ofrece la posibilidad de guardar (pre-)reducción de escala de visiones, como imágenes adicionales para el archivo GeoTiff. Esto se puede hacer con gdaladdo (= GDAL AGREGAR en general). Cuando la creación de estos resúmenes, puede indicar manualmente gdal para comress ellos también:

gdaladdo --config COMPRESS_OVERVIEW JPEG 

Acelera la visualización de los datos sin la adición de demasiado tamaño. Nota: Geotools aplicaciones como Geoserver, uDig, AtlasStyler, Geopublisher puede usar esta función y beneficio de resúmenes.

4voto

Jorge Castro Puntos 184

En última instancia, usted probablemente tendrá que experimentar con las distintas opciones y ver lo que se adapte a sus necesidades.

He estado haciendo un mayor uso de JPEG comprimidas GeoTIFFs más basado en wavelets formatos. Mis resultados han sido bastante buenos. El uso de GDAL para ello ha dado ratios de compresión comparable a basado en wavelets formatos sin demasiada pérdida de datos. El impacto en el rendimiento que viene con la descompresión ha sido aceptable.

Lo que más me gusta de este enfoque es que GeoTIFF apoyo es casi universal, mientras que el apoyo a basado en wavelets formatos no siempre es seguro y, a veces está sujeta a los espinosos problemas de licencias.

3voto

dariapra Puntos 1976

Mi experiencia comparar GeoTIFF vs Tierra de Asignación de Recursos de la ECW (Mejorada Comprimido Wavelet) compresión es que ECW es órdenes de magnitud mejor que la compresión de alta resolución de fotos aéreas. Otra ventaja importante de la wavelet basado de la compresión es que, a diferencia de los formatos anteriores, como GeoTIFF, JPEG - no se JPEG 2000 -, sólo una porción de la imagen puede ser descomprimido [ref. 1]. La importancia de esta ventaja no debe ser subestimada, especialmente cuando se trabaja con "mayor que alrededor de la mitad de la computadora del tamaño de la memoria.".

- Parece que nunca he tenido la oportunidad de probarlo - que MrSID, otro propietario, wavelet formato de archivo basado, también exhibe las mayores relaciones de compresión que la "edad" de los formatos y selectivo de la descompresión.

ref. 1: http://www.ifp.uni-stuttgart.de/publications/phowo01/Ueffing.pdf

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X