# Exploiter les données de Centipède en webmapping

# Les bases du webmapping

Définition Webmapping

Correspond à la diffusion de données cartographiques par le biais d'un site web. Les informations affichées sont la réponse de requêtes clientes : on parle d'affichage dynamique.

# L'architecture d'une solution webmapping

Une solution webmapping s'articule atour de 3 piliers :

  • Les requêtes ;
  • Le traitement ;
  • L'affichage.

# Les requêtes

Une requête est une demande effectuée par un utilisateur. Elle suit le protocole de communication HTTP, et permet à un utilisateur d'accéder à des ressources (docs HTML ou programmes) stockées dans des bases de données grâce à leur URL.

Une requête HTTP est composée d'un en-tête HEAD et d'un corps BODY dans lesquels est encapsulée la requête selon une méthode choisie (GET ou POST majoritairement).

Un requête HTTP contient donc :

  • L'URL du fichier ou du programme recherché ;
  • La méthode de requête (GET, POST, etc.) ;
  • Les paramètres que la ressource recherchée devra appliquer (taille, etc.).

Dans la majorité des sites web dynamiques modernes, les requêtes sont traitées par des controls. Ils permettent de définir au sein d'une page HTML des objets Javascript, capables de répondre localement aux requêtes client en arrière plan, sans recharger toute la page web. On parle de site web AJAX.

Ces sites AJAX sont agrémentés de composants pré-programmés nommés widgets. Ils facilitent le développement de sites web interactifs.

Finalement, un site de webmapping est un assemblage sur-mesure de composants préprogrammés, capables de répondre à plusieurs types de requêtes clientes. On parle de Mashup.

# Le traitement

Une fois la requête client émise, les logiciels de traitement localisent la ressource recherchée, l'exécutent si besoin, et retournent le résultat au client.

# L'affichage et stockage

Selon le format de la réponse reçue, l'affichage peut être direct (page HTML), ou indirect en faisant appel à des logiciels d'interprétation (Javascript, Flash, etc.). C'est notamment le cas des données vectorielles, qui nécessitent un traitement sur l'appareil client.

Selon la nature de la requête, la ressource peut aussi être stockée dans une base de données, pour un affichage ultérieur.

# Interopérabilité et normes OGC

Les solutions webmapping font appel à de multiples serveurs géographiques. Pour garantir l'interopérabilité des données et services géographiques, l'Open Geospatial Consortium (OGC) a déceloppé des standarts de communicaction, de formatage et d'échange.

WMS

Les services WMS (Web Map Service) permettent de mettre à disposition d’utilisateurs des images géoréférencées, via une simple requête HTTP, à partir de données sources raster (image) ou vecteur.

Les services WMS calculent les images demandées selon divers paramètres fournis dans la requête.

Les services WMS se composent de 3 requêtes :

  • GetCapabilities : renvoie les paramètres du service et les couches (une couche WMS correspond à une ressource) disponibles avec les informations permettant de paramétrer les requêtes suivantes ;
  • GetMap : renvoie une image de la carte ;
  • GetFeatureInfo : renvoie des informations sur les objets ayant servi à générer la carte (optionnelle).
WMTS

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 œuvre le protocole WMTS (Web Map Tile Service).

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 apparaît donc comme une pyramide dont chaque niveau de zoom représente un étage. Chaque type de donnée servie (Orthoimagerie, cartes, …) nécessite ainsi le pré-calcul d’une telle cache dans une projection donnée, hébergée 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). (IGN, 2023 (opens new window))

WCS

Le Web Coverage Service (WCS) est un service d'échanges de données raster complexes. Les données WCS sont souvent utilisées dans le cadre de modélisations, qui font appel à des données raster plus complètes que celles transportées grâce aux services WMS.

WFS

Le service WFS permet aux utilisateurs de télécharger des données vectorielles géoréférencées.

CSW

Le service CSW du Géoportail permet d’interroger des catalogues de données.

# Le fonctionnement de Kano

L'architecture de la solution webmapping Kano est articulée autour de 2 systèmes de requêtes imbriqués l'un dans l'autre, avec un point de croisement : le gestionnaire de bases de données MongoDB.

D'un coté, le JOB lance des requête régulières au serveur Centipède pour en récupérer la liste des bases disponibles et la stocker sur MongoDB. De l'autre, l'utilisateur interroge MongoDB (via Kano) pour en extraire la liste des bases précédemment collectée grâce au travail du JOB.

Ce schéma récapitule ce système à double requêtes :

Impossible de visualiser le contenu

Réponse à une requête utilisateur sur Kano