2025-04-04
Objet : Création d’un COG à partir d’images d’observation de la Terre
Outil : GDAL, QGIS, GeoServer
COG = Cloud Optimized GeoTIFF
… pour permettre un accès optimisé via des requêtes HTTP.
Avantages :
Principales caractéristiques auxquelles faire attention :
En général, chaque pixel est codé sur 3 canaux : Rouge, Vert et Bleu.
Ce sont les mêmes canaux utilisés par la plupart des écrans.
Quelques exceptions :
La gestion de la transparence peut être nécessaire lorsque l’on veut superposer des images en évitant que les zones sans données masquent ce qui est affiché en-dessous.
Trois solutions sont possibles :
Comment retravailler une zone sans données ?
3 solutions sont possibles :
La compression consiste à encoder les valeurs des pixels d’une manière à économiser de la place à l’aide de fonctions mathématiques.
Deux grandes familles de compressions :
Les compressions sans perte sont plus efficaces lorsque des séquences sont reproduites de nombreuses fois dans les images.
Très efficace lorsque les valeurs des pixels sont peu nombreuses et bien organisées visuellement (pour des rasters dérivés de données vecteurs par exemple).
Exemples :
Les compressions avec perte sont plus économes en espace disque que les compressions sans perte.
Exemples :
Cas particuliers peuvant faire varier ce processus ou nécessiter une attention particulière
Sous Windows dans le terminal :
gdal_translate -of GTiff -co TILED=YES -co BLOCKXSIZE=512 -co BLOCKYSIZE=512
-co NUM_THREADS=12 -co COMPRESS=ZSTD -co PREDICTOR=2
.\input\mon-image.jp2 .\output\mon-image.tif
Paramètres utilisés
-of GTiff : format du fichier en sortie
-co BLOCKXSIZE=512 -co BLOCKYSIZE=512 : dimensions des tuiles internes
-co NUM_THREADS=12 : nombre de processus système utilisés pour le traitement
-co COMPRESS=ZSTD -co PREDICTOR=2 : comrpession utilisée et paramètre associé
Sous Windows dans le terminal :
FOR %F IN (C:\ortho\jp2\*.jp2) DO
gdal_translate.exe -of GTiff -co TILED=YES -co BLOCKXSIZE=512 -co BLOCKYSIZE=512
-co NUM_THREADS=12 -co COMPRESS=ZSTD -co PREDICTOR=2
%F C:\ortho\tif\%~nxF.tif
Sous Windows dans un script .bat :
FOR %%F IN (C:\ortho\jp2\*.jp2) DO
gdal_translate.exe -of GTiff -co TILED=YES -co BLOCKXSIZE=512 -co BLOCKYSIZE=512
-co NUM_THREADS=12 -co COMPRESS=ZSTD -co PREDICTOR=2
%%F C:\ortho\tif\%%~nxF.tif
Attention à la syntaxe des scripts .bat
Le signe % doit être doublé dans les scripts .bat.
Sous Windows dans le terminal :
Paramètres utilisés
-addalpha : ajout de la transparence
-hidenodata : masque les zones en-dehors des images sources
Sous Windows dans le terminal :
gdal_translate.exe C:\ortho\ortho.vrt C:\ortho\cog.tif
-of COG -co BIGTIFF=YES -co BLOCKSIZE=512 -co OVERVIEW_RESAMPLING=BILINEAR
-co COMPRESS=JPEG -co QUALITY=90 -co NUM_THREADS=12
Paramètres utilisés
-of COG : format du fichier en sortie
-co BIGTIFF=YES : permet de gérer les images dont le poids est supérieur à 4 Go
-co BLOCKSIZE=512 : dimensions des tuiles internes
-co NUM_THREADS=12 : nombre de processus système utilisés pour le traitement
-co COMPRESS=JPEG -co QUALITY=90 : compression utilisée et paramètre associé -co OVERVIEW_RESAMPLING=BILINEAR : méthode d’échantillonnage pour les résolutions dégradées
Pour des photographies aériennes : la compression JPEG introduit des dégradations peu visibles.
Pour les cartes qui utilisent de grandes plages de couleurs uniformes : utiliser une compression sans perte (LZW, ZSTD).
Pour les images contenant un canal alpha, ne pas utiliser la compression JPEG.
Pour les plus affutés…
Avec le format COG, il est possible d’utiliser une compression différente pour la résolution nominale et une autre pour les aperçus aux résolutions dégradées (voir paramètre OVERVIEW_COMPRESS).
Ainsi, on peut :
Dans QGIS :
Dans GeoServer :
GDAL COG
Comment trouver ces informations ?
Menu Raster > Divers > Information raster…