Un Cloud-Optimized GeoTIFF (COG) est un raster GeoTIFF ordinaire organisé en interne de manière à ce que les clients puissent lire uniquement la portion dont ils ont besoin via HTTP, à l'aide de requêtes par plages d'octets, au lieu de télécharger le fichier entier. C'est un GeoTIFF valide — tout outil basé sur GDAL le lit — mais son agencement interne est optimisé pour le stockage cloud et la diffusion en flux.

Ce qui rend un GeoTIFF « cloud-optimized »

Deux caractéristiques structurelles : le tuilage interne (l'image est stockée sous forme de grille de blocs, généralement 512×512, plutôt qu'en bandes de lignes) et les aperçus internes (pyramides de résolution réduite précalculées). Un agencement d'IFD clair et ordonné permet à un lecteur de récupérer l'en-tête une seule fois, puis de demander uniquement les tuiles et le niveau d'aperçu couvrant la vue cartographique et le zoom courants.

Pourquoi c'est important

Les COG vous permettent d'héberger des imageries et des MNT à l'échelle du téraoctet sur du simple stockage objet (S3, GCS, Azure Blob) et de les servir directement à des cartes web, à QGIS ou à des pipelines d'analyse, sans serveur de tuiles ni base de données. C'est l'épine dorsale des catalogues STAC modernes et des flux d'observation de la Terre à la demande — vous lisez les pixels où et quand vous en avez besoin.

Exemple concret

Créez-en un avec le pilote dédié de GDAL : gdal_translate in.tif out_cog.tif -of COG -co COMPRESS=DEFLATE -co BLOCKSIZE=512 Validez la structure avec l'outil rio cogeo validate (rio-cogeo) ou gdalinfo, qui devrait signaler une taille de bloc et la présence d'aperçus. La mise à disposition est aussi simple que aws s3 cp out_cog.tif s3://bucket/.

Piège courant

Renommer un .tif pour laisser croire qu'il s'agit d'un COG ne change rien — l'optimisation réside dans l'agencement des octets. Un GeoTIFF non tuilé et dépourvu d'aperçus sur S3 oblige les clients à télécharger le fichier entier. Régénérez-le toujours avec le pilote COG et validez-le. Assurez-vous aussi que votre serveur et votre CDN honorent les requêtes HTTP par plages, sinon la diffusion en flux se dégrade silencieusement en téléchargements complets.

Pour aller plus loin