IGN

Géoservices IGN

Utilisation avancée de couches en WMTS

Table des matières

Les WMTS, services d’images tuilées (ou de consultation)

Les services d’images tuilées permettent de mettre à disposition d’utilisateurs distants des images géoréférencées, via une simple requête HTTP.

Ils mettent en oeuvre le protocole WMTS (Web Map Tile Service) qui est un standard défini par l’OGC (Open Geospatial Consortium). On peut consulter le document de référence sur le site de l’OGC.

Principe

Les requêtes WMTS sont des références directes aux images demandées dans un système de cache précalculé. Cela permet d’avoir des temps de réponse nettement plus rapides que pour le WMS qui doit calculer une image côté serveur à chaque requête.

Le cache d’images repose sur un maillage rectangulaire régulier de la zone couverte, une image étant associée à chaque maille (appelée aussi tuile). Pour pouvoir représenter cette zone à différents niveaux d’échelles (ou niveaux de zoom), des maillages de plus en plus fins sont définis pour la zone. Le cache d’images ainsi tuilées apparait donc comme une pyramide dont chaque niveau de zoom représente un étage.

WMTStilematrix

Chaque type de donnée servie (Orthoimagerie, cartes, …) nécessite ainsi le pré-calcul d’une tel cache dans une projection donnée, hébergé sur l’infrastructure Géoportail.

Pour obtenir une image, une requête WMTS comporte donc des paramètres précisant : le type de données (LAYER), la pyramide de tuiles (TILEMATRIXSET) et le maillage (TILEMATRIX) correspondant au niveau de zoom voulu et les coordonnées de la tuile dans ce maillage (TILECOL et TILEROW).

Exemple de requête WMTS :

Requête Résultat
https://wxs.ign.fr/CLEF/geoportail/wmts? SERVICE=WMTS & REQUEST=GetTile & VERSION=1.0.0 & LAYER=ORTHOIMAGERY.ORTHOPHOTOS TILEMATRIXSET=PM & TILEMATRIX=14 & TILECOL=8180 & TILEROW=5905 & STYLE=normal & FORMAT=image/jpeg wms raster

Connexion aux services d’images tuilées du Géoportail

Le Géoportail propose un unique service d’images tuilées implémentant le protocole WMTS et permettant d’accéder aux ressources dans les projections suivantes :

Les ressources en projection mondiale Web Mercator correspondent à des images précalculées nativement dans les caches d’images du Géoportail.
Les ressources en projection Lambert 93 correspondent à des images calculées à la volée à partir des caches d’images du Géoportail.

L’URL d’accès est http(s)://wxs.ign.fr/CLEF/geoportail/wmts
Le paramètre CLEF doit être remplacé par votre clef d’accès à la plateforme Géoportail.

Les ressources disponibles sont listées à cette adresse : https://geoservices.ign.fr/documentation/donnees-ressources-wmts.html

Requêtes possibles

Les serveurs WMTS du Géoportail répondent aux trois types de requêtes WMTS suivantes :

Paramètres disponibles

Les paramètres qui peuvent être utilisés dépendent de la requête soumise (GetCapabilities, GetTile, GetFeatureInfo). Ils peuvent être communs ou spécifiques, obligatoires ou optionnels. Les principaux paramètres utilisés sont les suivants (liste non exhaustive) :

Paramètres communs

Paramètres spécifiques GetTile

Paramètres spécifiques GetFeatureInfo

Une requête GetFeatureInfo reprend les paramètres d’une requête GetTile permettant d’obtenir une image et rajoute les paramètres suivants indiquant un point dans l’image et le format à utiliser pour retourner la réponse.

Données disponibles

Les données disponibles correspondent aux ressources qui ont été demandées lors de la demande d’obtention de la clef. On peut en obtenir la liste à l’aide de d’une requête GetCapabilities sur le service :

http://wxs.ign.fr/CLEF/geoportail/wmts?SERVICE=WMTS&REQUEST=GetCapabilities

La liste des ressources possibles (indépendament des droits relatifs à une clef) pour chaque service peut être consultée ici.

Format d’image utilisé

Le paramètre FORMAT permet de spécifier le type mime des images retournés (exemple : “image/jpeg” ou “image/png”).

La liste des formats disponibles pour une couche est consultable dans le document de réponse à la requête GetCapabilities du service concerné (cf. adresses ci-dessus).

Styles

La plupart des couches WMTS sont disponibles dans un seule style ayant pour nom “normal”. Toutefois, certaines couches peuvent être servies dans différents styles. La liste des styles disponibles est consultable dans le document de réponse à la requête GetCapabilities du service concerné (cf. adresses ci-dessus).

Par exemple, la ressource WMTS-Géoportail - Parcelles cadastrales (nom technique : CADASTRALPARCELS.PARCELS ) est disponible en plusieurs styles :

STYLE=normal Données brutes sans changement de palette
STYLE=bdparcellaire_o Orange sur fond transparent
STYLE=bdparcellaire_b Blanc sur fond transparent
STYLE=bdparcellaire Tracé noir sur fond transparent

Taille des tuiles en pixels

Les tuiles pré-générées par le serveur Géoportail ont une taille de 256 x 256 pixels. Les coordonnées origines pour chaque niveau de zoom sont le (0,0) de la projection utilisée.

Résolutions - Niveaux de zoom

Les pyramides des caches d’images du Géoportail pour le WMTS comportent 21 niveaux de zoom.

Les tableaux ci-dessous indiquent pour chaque niveau de zoom, la correspondance avec son échelle cartographique approximative et sa résolution (taille terrain couverte par un pixel).

NB : L’échelle cartographique approximative est calculée à partir de la résolution en utilisant une dimension arbitraire de pixel de 0.28mm x 0.28mm (définie dans le standard WMTS) selon la formule :

Dénominateur d'échelle = résolution / taille pixel

Résolutions et échelles en WebMercator Sphérique

Le tableau ci-dessous indique les résolutions et échelles définies pour les pyramides calculées en projection Web Mercator Sphérique (EPSG:3857), projection par défaut du Géoportail.

Zoom Résolution (m/px) Résolution géographique (deg/px) Échelle approximative
0 156543.0339280410 1.40625000000000000000 1 : 559082264
1 78271.5169640205 0.70312500000000000000 1 : 279541132
2 39135.7584820102 0.35156250000000000000 1 : 139770566
3 19567.8792410051 0.17578125000000000000 1 : 69885283
4 9783.9396205026 0.08789062500000000000 1 : 34942642
5 4891.9698102513 0.04394531250000000000 1 : 17471321
6 2445.9849051256 0.02197265625000000000 1 : 8735660
7 1222.9924525628 0.01098632812500000000 1 : 4367830
8 611.4962262814 0.00549316406250000000 1 : 2183915
9 305.7481131407 0.00274658203125000000 1 : 1091958
10 152.8740565704 0.00137329101562500000 1 : 545979
11 76.4370282852 0.00068664550781250000 1 : 272989
12 38.2185141426 0.00034332275390625000 1 : 136495
13 19.1092570713 0.00017166137695312500 1 : 68247
14 9.5546285356 0.00008583068847656250 1 : 34124
15 4.7773142678 0.00004291534423828120 1 : 17062
16 2.3886571339 0.00002145767211914060 1 : 8531
17 1.1943285670 0.00001072883605957030 1 : 4265
18 0.5971642835 0.00000536441802978516 1 : 2133
19 0.2985821417 0.00000268220901489258 1 : 1066
20 0.1492910709 0.00000134110450744629 1 : 533
21 0.0746455354 0.00000067055225372315 1 : 267

Les seuils de zoom sont définis pour chacune des ressources dont vous trouverez la description à cette adresse :
https://geoservices.ign.fr/documentation/donnees-ressources-wmts.html

Résolutions et échelles en Lambert 93 (EPSG:2154)

Le tableau ci-dessous indique les résolutions et échelles définies pour les pyramides calculées en projection Lambert 93 (EPSG:2154), servies par le service dédié “WMTS Lambert 93”.

Zoom Résolution (m/px) Échelle approximative
0 104579.2245498940 1 : 373497230
1 52277.5323537905 1 : 186705472
2 26135.4870785954 1 : 93341025
3 13066.8913818000 1 : 46667469
4 6533.2286041135 1 : 23332959
5 3266.5595244627 1 : 11666284
6 1633.2660045974 1 : 5833093
7 816.6295549860 1 : 2916534
8 408.3139146768 1 : 1458263
9 204.1567415109 1 : 729131
10 102.0783167832 1 : 364565
11 51.0391448966 1 : 182283
12 25.5195690743 1 : 91141
13 12.7597836936 1 : 45570
14 6.3798916360 1 : 22785
15 3.1899457653 1 : 11393
16 1.5949728695 1 : 5696
17 0.7974864315 1 : 2848
18 0.3987432149 1 : 1424
19 0.1993716073 1 : 712
20 0.0996858037 1 : 356
21 0.0498429018 1 : 178

Les seuils de zoom sont définis pour chacune des ressources dont vous trouverez la description à cette adresse :
https://geoservices.ign.fr/documentation/donnees-ressources-wmts.html

Composition d’une requête WMTS GetTile

Une requête WMTS GetTile permet de récupérer une image référencée dans une pyramide de tuiles. On explique ici la démarche permettant de trouver les coordonnées d’une tuile recouvrant un point en coordonnées géographiques à une échelle donnée de façon à fabriquer la requête GetTile correspondante.

Exemple :

On veut composer la requête WMTS permettant de charger l’image des photographies aériennes géoréférencée en WebMercator recouvrant les coordonnées géographiques : 2°28’44.1”, 48°48’20.3” à l’échelle 1/2133ième.

La démarche consiste à ramener les coordonnées dans le système de projection du cache WMTS choisi (WebMercator) et de convertir ces coordonnées en coordonnées de tuiles dans le maillage du niveau voulu.

Passage en coordonnées WebMercator

Il faut d’abord convertir les coordonnées dans le système de projection cible: Web Mercator.

Les coordonnées initiales (lon : 2°28’44.1”, lat : 48°48’20.3”) en degrés sexagésimaux, donnent en degrés décimaux : (lon : 2.478917, lat: 48.805639).

La conversion de ces coordonnées géographiques en coordonnées WebMercator peut se faire à l’aide divers outils. Par exemple : Circé en mode intéractif, PROJ.4 ou son portage en javascript (Proj4js) en mode programmation…

On obtient les coordonnées suivantes en WebMercator : (x:275951.78, y:6241946.52)

Passage dans le repère de la grille du niveau de zoom correspondant

Le document de réponse à la requête WMTS GetCapabilities contient les caractéristiques des différentes pyramides servies via les balises XML <TileMatrixSet> qui ont la structure suivante :

wmts_caps

Chaque sous-balise <TileMatrix> permet de décrire un niveau donné de la pyramide. Le niveau de zoom correspondant à l’échelle 1/2133ième est le niveau 18.

Le maillage d’un niveau peut se représenter comme ceci :

tilematrix

Il est à noter qu’en WMTS, les axes du repère de la grille sont orientés de gauche à droite pour les abscisses et de haut en bas pour les ordonnées. Le point origine est en haut à gauche.

L’origine du niveau est à récupérer dans les capabities du service, dans la balise <TopLeftCorner>. Dans notre cas:

X0=-20037508
Y0=20037508

Ramenées à ce point origine, les coordonnées en Web Mercator dans le repère de la grille sont donc :

X-X0 = 275951.78 + 20037508 = 20313459.78
Y0-Y = 20037508 - 6241946.52 = 13795561.48

Il ne reste plus qu’à déterminer le nombre de tuiles en X (TILECOL) et en Y (TILEROW) qu’il faut pour arriver du point origine aux coordonnées voulues.

Une tuile fait 256 pixels sur 256 pixels et au niveau 18, un pixel couvre 0.5971642835 metres x 0.5971642835 (résolution lue dans le tableau précédent) Une tuile du niveau 18, couvre donc 152.874056576 metres x 152.874056576 metres.

256 x 0.5971642835 = 152.874056576
(X - X0) / 152.874056576 = 132877.090037192
(Y0 - Y) / 152.874056576 = 90241.351534632

Les paramètres TILEROW/TILECOL sont donc : (90241, 132877).

Requête résultante

Ainsi, La requête WMTS suivante permet de charger l’image des photographies aériennes géoréférencée en WebMercator recouvrant les coordonnées géographiques : 2°28’44.1”, 48°48’20.3” à l’échelle 1/2133ième :

http://wxs.ign.fr/CLEF/geoportail/wmts?
        SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE=normal&
        LAYER=ORTHOIMAGERY.ORTHOPHOTOS&
        EXCEPTIONS=text/xml&FORMAT=image/jpeg&
        TILEMATRIXSET=PM&
        TILEMATRIX=18&
        TILEROW=90241&
        TILECOL=132877&

Noter que le paramètre TILEMATRIX correspond à l’identifiant du niveau de zoom de la pyramide lu dans le document de réponse à la requête GetCapabilities : <TileMatrix> / <ows:Identifier>.