Les formats disponibles pour les tuiles avec GeoWebCache (GWC) dans GeoServer
GeoServer, en tant que serveur de cartographie open source conforme aux normes OGC (Open Geospatial Consortium), propose plusieurs types de services web pour la diffusion de données géospatiales. L’un des composants essentiels de cet écosystème est GeoWebCache (GWC), qui permet d’améliorer les performances d’affichage en mettant en cache les tuiles cartographiques avec une palette de choix de formats d’image.

Les options classiques:jpeg ou png?
Les formats cochés par défaut sont les deux formats les plus utilisés: jpeg et png.
Utilisez le format JPEG (ou JPG) quand :
- Les données sont de type « image » ou « photo » :
- Orthophotos, images satellites, photographies aériennes…
- Le JPEG est très bien adapté aux images avec beaucoup de couleurs et de détails continus.
- Vous n’avez pas besoin de transparence :
- JPEG ne gère pas la transparence, donc à éviter si vos couches ont des zones transparentes (comme des polygones sur fond vide).
- Vous cherchez à optimiser les performances (rapidité et taille) :
- Les fichiers JPEG sont plus petits que les PNG, donc ils se chargent plus vite.
- Idéal si la carte doit être rapide, par exemple pour un fond de plan.
- Vous voulez limiter la charge serveur et la bande passante :
- Les tuiles JPEG consomment moins de bande passante que les tuiles PNG.
Il ne faut pas utiliser JPEG quand :
- Vous avez des données vectorielles avec transparence, comme des couches de limites administratives, des routes, des points ou des polygones colorés sans fond.
- Vous avez besoin de précision graphique, par exemple avec des étiquettes, des bordures nettes, ou des contrastes marqués.
- Vous devez superposer la couche à d’autres couches : sans transparence, le fond blanc du JPEG va cacher ce qu’il y a en dessous.
Le format est donc particulièrement conseillé quand vous avez, par exemple,un fond de carte avec des orthophotos IGN ou une vue satellite Google-like ou bien une couche raster de type scan géoréférencé.
Dans GeoServer / GeoWebCache, vous pouvez proposer plusieurs formats de tuiles pour une même couche (JPEG, PNG8, PNG32…), et laisser le client (par exemple Leaflet, OpenLayers…) choisir selon les besoins.
Utiliser le format PNG(ou PNG8) quand :
Il ne faut pas utiliser le format jpeg!
- Vous avez des données vectorielles avec transparence, comme des couches de limites administratives, des routes, des points ou des polygones colorés sans fond.
- Vous avez besoin de précision graphique, par exemple avec des étiquettes, des bordures nettes, ou des contrastes marqués.
- Vous devez superposer la couche à d’autres couches : sans transparence, le fond blanc du JPEG va cacher ce qu’il y a en dessous.
Comparatif des formats de tuiles – GeoWebCache
Critère | JPEG | PNG (8/24/32) |
---|---|---|
Transparence | ❌ Non | ✅ Oui |
Taille des fichiers | Plus petite (compressé, avec pertes) | Plus grande (sans pertes) |
Qualité des couleurs | Bonne pour les photos | Excellente pour les vecteurs, aplats |
Netteté des traits/textes | Peut être floue | Très nette |
Type de données conseillé | Orthophotos, images raster | Données vectorielles (limites, routes, points) |
Performance (chargement) | Rapide | Plus lent (mais précis) |
Usage en fond de carte | Oui | Oui si PNG8 (optimisé) |
Utilisez JPEG pour les fonds photos ou raster sans besoin de transparence.
Utilisez PNG pour les couches vectorielles avec transparence ou forte précision visuelle.
Quand et pourquoi utiliser PNG8 à la place de PNG (24 ou 32 bits)
Utiliser PNG8 quand :
- Vous avez besoin de transparence, mais pas de dégradés complexes :
- PNG8 gère la transparence binaire (un pixel est soit opaque, soit transparent).
- Suffisant pour les couches vectorielles comme :
- Routes
- Polygones de zones
- Limites administratives
- Symboles simples
- Le nombre de couleurs dans la couche est limité (≤ 256 couleurs) :
- PNG8 utilise une palette de 256 couleurs maximum.
- Idéal si la symbologie est simple (peu de classes ou de couleurs différentes).
- Vous souhaitez une bonne compression sans perte de qualité visuelle perceptible :
- Les tuiles sont plus légères que PNG24/32, donc elles se chargent plus vite.
- On gagne souvent 50 % de poids ou plus.
- Vous souhaitez une transparence légère sans les artefacts du JPEG :
- Contrairement au JPEG, le PNG8 ne génère pas de bavures ou d’effets flous.
Il ne faut pas utiliser PNG8 quand :
- Vous avez des dégradés de couleurs ou effets visuels complexes (ex. : ombrages, chaleur, fonds floutés).
- Vous avez besoin d’une transparence alpha partielle (ex. : semi-transparence, ombres douces).
- La couche contient beaucoup de couleurs différentes, comme :
- Cartes thématiques avec dégradés
- Raster stylisé
Dans la configuration de tes formats de tuiles dans GeoWebCache, vous pouvez activer le PNG8 en tant que format de sortie, et même le définir comme format par défaut pour les couches simples.
Comparatif PNG8 vs PNG24/32
Critère | PNG8 | PNG24/32 |
---|---|---|
Couleurs | 256 max (palette) | Millions de couleurs |
Transparence | Binaire (0% ou 100%) | Alpha (0% à 100%) |
Taille des fichiers | Petite | Plus grande |
Performance | Très bonne | Moins bonne |
Qualité des dégradés | Mauvaise | Excellente |
Cas d’usage typique | Vecteurs simples, symboles | Dégradés, semi-transparence, images |
Les tuiles vectorielles
Le format MVT (pour Mapbox Vector Tiles) est une alternative très puissante aux tuiles raster classiques (PNG, JPEG). Voici pourquoi on peut vouloir l’utiliser dans GeoWebCache / GeoServer :
Pourquoi utiliser le format MVT (Mapbox Vector Tiles)?
1. Les tuiles sont vectorielles, pas raster
- Contrairement aux tuiles PNG ou JPEG, le MVT encode les géométries et attributs, pas une image.
- Résultat : qualité visuelle optimale à toutes les échelles (pas de flou ou pixelisation en zoomant).
2. Performances réseau et client
- Les fichiers MVT sont très légers (généralement plus petits que les PNG).
- Moins de bande passante = chargements plus rapides, surtout sur mobile ou en 4G.
- Le style est appliqué côté client, ce qui permet :
- Des interactions dynamiques (changement de couleur, de style, de popup…)
- Un rendu ultra-rapide (pas de nouvelle requête serveur pour chaque style)
3. Zooms fluides et multi-échelles
- Les données étant vectorielles, le client (Leaflet, MapLibre, OpenLayers…) peut :
- Adapter dynamiquement le style selon le niveau de zoom
- Afficher plus ou moins de détails selon les besoins
4. Réutilisation côté client
- Une fois les tuiles vectorielles reçues, le client peut :
- Appliquer plusieurs styles sans redemander les données
- Afficher ou masquer dynamiquement des couches
- Offrir des interactions riches (popups, survols, filtres dynamiques)
Quand éviter MVT ?
- Si vous travaillez avec un client qui ne supporte que le raster
- Si vous souhaitez un rendu exact contrôlé côté serveur
- Si vous n’avez pas le contrôle du style côté client (ex. : un fond de carte figé pour impression)
Les cas d’usage typiques de MVT peuvent se résumer à:
- Cartes interactives sur le web (OpenLayers, MapLibre, Leaflet avec plugin)
- Affichage multi-thèmes avec changement de style à la volée
- Navigation fluide à plusieurs échelles
- Visualisation de grands volumes de données vectorielles
Configurer MVT dans geoserver
GeoServer 2.26 supporte nativement MVT via une extension. Pour que le format soit disponible dans la page de configuration de GeoWebCache et sur l’onglet Tuilage des couches il faut impérativement activer le support des tuiles vectorielles (MVT).
Si dans la liste des couches vecteurs de Paramètres de Geowebcache vous avez application/vnd.mapbox-vector-tile, l’extension est bien installée et activée.
Si non, il faudra télécharger l’extension. Au moment de l’écriture de cet article, le moins qu’on puisse dire c’est qu’il est compliqué de trouver la bonne version de l’extension pour la version que vous avez installé de Geoserver.
Si vous avez la version 2.26 de Geoserver, utilisez ce lien https://sourceforge.net/projects/geoserver/files/GeoServer/2.26.2/extensions/ et recherchez geoserver-2.26.x.vectortiles-plugin.zip.
Téléchargez ce fichier, dézippez-le et copiez les fichiers .jar dans le dossier WEB-INF/lib de votre installation Geoserver.
Vérifiez que application/vnd.mapbox-vector-tile est maintenant disponible dans la liste des formats vecteur.
N’oubliez pas que:
•Le style des couches MVT ne se fait pas dans GeoServer, mais dans le client web (ex : style.json dans MapLibre).
•Les MVT ne gèrent que les vecteurs (pas d’images ou de rasters).