IGN

Géoservices IGN

Mise en place du paramètre DPI sur les WMS raster à compter d'avril 2017

17 Mai 2017

Le besoin identifié

La norme WMS, utilisée pour les services de consultation, n’impose pas de paramètre de requête permettant de préciser la densité d’affichage du support d’affichage, exprimée en “points par pouce” (“dots per inch” ou dpi en anglais) : il est supposé d’emblée que la requête est de 90,7 DPI alors que le souhait de l’utilisateur peut varier, par exemple s’il veut faire de l’impression haute qualité sans dégradation de l’image.

Plusieurs serveurs cartographiques, comme Geoserver ou Mapserver, ont proposé d’eux-mêmes de compléter la norme WMS en acceptant de prendre en compte un paramètre supplémentaire. QGIS et d’autres SIG utilisent ce paramètre “dpi” supplémentaire. Dans QGIS, on peut observer les valeurs suivantes pour le paramètre dpi:

  • Visualisation standard : 98 dpi
  • Compositeur d’impression : 50 dpi
  • Impression de la carte : 300 dpi

Or jusqu’à présent, le serveur WMS raster du Géoportail, basé sur ROK4, n’assurait pas le support d’un tel paramètre, ce qui posait en particulier un problème de changement inopiné de données pour l’impression.

Le mode de stockage des données et de composition des pyramides sur le Géoportail

Le stockage des données dans l’infrastructure Géoportail se fait sous forme de pyramides multi-résolutions (nommées niveaux 0 à 21) servant à la fois pour la diffusion en WMTS et en WMS.

Chaque produit IGN a une pyramide “complète” du niveau de résolution du produit au niveau de résolution mondiale.

Lors de la création d’une couche multi-échelles telles que la couche “Carte” ou “Photographies aériennes”, l’IGN utilise les pyramides des différents produits pour proposer la donnée la plus adaptée à la résolution de visualisation demandée.

sources couche carte

Changement d’échelle et changement de source

Si une pyramide ainsi constituée est consultée dans QGIS au niveau de sa couche 18 de la pyramide, son impression, par défaut à 300 ppp, va demander un peu plus de 3 fois plus de pixels pour la zone géographique consultée. Ces pixels seront trouvés sur la couche 20 de la pyramide, qui contient 4 fois plus de pixels pour la même zone géographique que la couche 18. Les images précalculées de la couche 20 seront celles qui serviront à produire l’image demandée par sous-échantillonnage.

Or les données servant à constituer la couche 20 de la pyramide ne sont pas forcément les mêmes que la couche 18. En l’absence de gestion de ce paramètre, le résultat retourné à l’impression ne correspond donc pas forcément au résultat attendu et vu à l’écran (ex : fond SCAN 25 au lieu d’un fond SCAN 100).

Le solution mise en place

Un développement a été fait pour interpréter et utiliser le paramètre dpi : au lieu d’utiliser la résolution calculée pour choisir le produit, on utilise une résolution de 90,7 dpi.

La valeur de cette formule permet d’obtenir de façon stable le produit attendu sauf dans certains cas limites.

Déploiement et mise en place côté utilisateur

Le développement a été validé auprès d’utilisateurs SIG et mis en production mi-avril 2017.

Il est applicable à tous : l’utilisateur des géoservices WMS dans QGIS n’a donc aucun changement à faire pour bénéficier de cette amélioration. Il constatera que l’impression depuis un flux WMS correspond désormais systématiquement à ce qu’il voit à l’écran.

Le changement est transparent pour les autres applications ayant recours aux géoservices (applications web, etc) et pour les utilisateurs de telles applications. Mais ils pourront désormais aussi se prévaloir de ce nouveau paramètre pour proposer de nouvelles fonctions d’impression plus avancées.