gdalmerge produit un fichier beaucoup trop volumineux

12

J'essaie de fusionner 60 fichiers géotiff en un seul fichier énorme afin de pouvoir produire des tuiles à partir de ce fichier géotiff énorme résultant en utilisant gdal2tiles.

Le processus de fusion a fonctionné, mais pour une raison quelconque, il produit un fichier d'une taille de 78 Go au lieu des 19 Go attendus. Je ne sais pas trop ce qui s'est mal passé là-bas.

La raison de cela est que le fait de paver les 60 géotiffes un par un me donne des espaces blancs sur la bordure de la carte.

user851
la source

Réponses:

16

Habituellement, les GeoTIFF sont compressés pour le stockage. L'exécution de gdal_merge avec les paramètres par défaut ne compressera pas le fichier. Ajoutez l'option

-co COMPRESS=DEFLATE

(ou l'une des autres options répertoriées dans la documentation ) à votre commande pour obtenir des fichiers de sortie plus petits.

obscur
la source
1
Pour référence future - la mienne, si personne d'autre - gdal.org/frmt_gtiff.html possède l'ensemble d'options spécifiques à GeoTiff que vous devriez pouvoir utiliser pour n'importe laquelle des commandes gdal. Selon le type d'image dont vous disposez, vous souhaiterez peut-être COMPRESS = LZQ ou même JPEG; ce serait bien la peine de vérifier le type de compression utilisé sur les images source.
Herb
Merci Herb, j'ai mis à jour la réponse pour contenir votre lien.
underdark
5

Comme le souligne Underdark, la meilleure solution consiste à compresser vos images pour éviter que le grand volume d'espace vide ne soit stocké directement (l'image TIFF native est comme un bitmap: chaque valeur occupe la même quantité d'espace). Une autre option de compression pratique est:

-co COMPRESS=LZW

Il a rarement le même taux de compression DEFLATE, mais a l'avantage de fonctionner avec la plupart des logiciels, où il DEFLATEn'est pas pris en charge dans de nombreux environnements tels que ArcGIS 9.x.

Vous pouvez essayer une compression sans perte encore plus agressive en utilisant l'une des transformations en ondelettes, telles que ECW , MrSID ou l'une des différentes implémentations JPEG2000. Gardez à l'esprit que vous aurez besoin d'outils utilisant GDAL ou implémentez les bibliothèques pour accéder aux données dans ces formats.

scw
la source
3

Vous pouvez éviter de fusionner vos fichiers géotiff en écrivant un fichier vrt qui les fusionnera "virtuellement".

Il s'agit d'un fichier XML qui décrit comment les fichiers doivent être assemblés. Tous les utilitaires gdal acceptent ce fichier vrt comme une carte d'entrée. gdal2tiles ou MapTiler sont tous deux basés sur gdal afin qu'ils devraient pouvoir utiliser un fichier vrt (je n'ai pas encore essayé avec un fichier vrt mais j'ai déjà essayé avec un fichier gdal_wms et cela a plutôt bien fonctionné).

Il n'est pas facile d'écrire le fichier vrt à partir de zéro. Convertissez simplement l'un de vos géotiff en vrt pour avoir un exemple:

gdal_tranlate -of vrt one_of_your_geotiff.tif one_of_your_geotiff.vrt

Il existe également un outil appelé gdalbuildvrt mais je ne l'ai pas essayé.

Nom
la source
1
Matt Perry a un bon résumé de certains des avantages de l'utilisation des VRT ici: perrygeo.net/wordpress/?p=141
scw