Suite

La taille du fichier de sortie gdaldem explose

La taille du fichier de sortie gdaldem explose


Je veux créer un relief de couleur et un ombrage avec gdaldem et les utiliser avec mapnik. Système : Ubuntu 14.04 LTS Server, gdal-bin 1.10.

Voici mes étapes :

  • Téléchargez toutes les tuiles SRTM des panoramas du viseur :

    wget -r -np -l 1 -A zip http://viewfinderpanoramas.org/Coverage%20map%20viewfinderpanoramas_org3.htm

  • Décompressez tous les fichiers zip

  • Remplir tous les vides restants (crée à partir de chaque fichier .hgt un fichier .hgt.tif)

    pour hgtfile dans *.hgt;do gdal_fillnodata.py $hgtfile $hgtfile.tif; terminé

  • Fusionnez tous les .tifs en un seul énorme tif. Ce fichier sera le DEM brut en pleine résolution et le début de toutes les étapes suivantes :

    gdal_merge.py -n 32767 -co BIGTIFF=YES -co TILED=YES -co COMPRESS=LZW -co PREDICTOR=2 -o… /raw.tif *.hgt.tif

  • Convertissez le fichier brut en projection Mercator, interpolez et réduisez, par ex. à 1 km/pixel :

    gdalwarp -co BIGTIFF=YES -co TILED=YES -co COMPRESS=LZW -co PREDICTOR=2 -t_srs "+proj=merc +ellps=sphere +R=6378137 +a=6378137 +units=m" -r bilinear -tr 1000 1000 raw.tif warp-1000.tif

  • Créez des couleurs en relief avec transparence (canal alpha) et compression lzw :

    gdaldem couleur-relief -co COMPRESS=LZW -co PREDICTOR=2 -alpha warp-1000.tif relief.txt relief-1000.tif

  • Créer un ombrage

    gdaldem hillshade -z 7 -compute_edges -co TILED=YES -co COMPRESS=JPEG warp-1000.tif hillshade-1000.tif

J'obtiens ces tailles de fichiers de sortie :

warp-5000.tif : 113 Mo warp-1000.tif : 606 Mo warp-500.tif : 1,7 Go

relief-5000.tif : 17 Mo relief-1000.tif : 19 Mo relief-500.tif : >60 Go(le disque dur était plein !)

hillshade-5000.tif : 2,7 Mo hillshade-1000.tif : 75 Mo hillshade-500.tif : >70 Go(le disque dur était plein !)

Pourquoi la taille du fichier explose-t-elle soudainement ?


La compression ne fonctionne pas bien dans le processus de génération d'un nouveau fichier avec "tiled=yes" ou au-dessus d'une certaine taille de fichier. J'ai résolu ce problème comme supposé par Michael:

Créez votre ombrage en le compressant avec LZW sans perte. Dans mon exemple, la planète entière déformée avec une résolution de 500 mètres, le hillshade-500.tif consomme 131 Go.

gdaldem hillshade -z 4 -compute_edges -co TILED=YES -co BIGTIFF=YES -co COMPRESS=LZW -co PREDICTOR=2 warp-500.tif hillshade-500.tif

Ensuite, compressez-le avec un JPEG avec perte :

gdal_translate -co COMPRESS=JPEG -co TILED=OUI ombrage-500.tif ombrage-500-comp.tif

La taille du fichier résultant est tout à fait comme prévu :

hillshade-500.tif : 131 Go

hillshade-500-comp.tif : 249 Mo(= 1,9%)

Vous avez donc d'abord besoin de suffisamment d'espace disque, mais vous pouvez ensuite compresser davantage le fichier.

Remarque : ajouter-co bigtiff=ouiuniquement si la taille de votre fichier dépasse 4 Go.


Voir la vidéo: GDAL Tutorial #2: Converting, Resampling, Reprojecting, Clipping