Présentation du serveur ROK4

Intérêts d’un service WMS/WMTS

Des traitement unifiés

Une même structure logicielle est capable de fournir à la fois un flux de type WMS (fourniture d’images de taille quelconque dans diverses projections et formats) et un flux de type WMTS (fourniture de tuiles, adaptée à la visualisation en ligne), interfacée avec un seul cache de données pour les 2 types de flux.

Une telle structure peut, outre son utilisation pour le web, être exploitée dans des chaînes de production et de diffusion de données géographiques.

Améliorations prévisibles

Architecture du service

Les requêtes sont réceptionnées par un serveur HTTP qui les retransmet à une structure, composée d’un serveur d’images appelé ROK4 et d’un cache de données. Le serveur HTTP et ROK4 sont en liaison via une connexion de type FCGI. Ce type de connexion permet un traitement multi-thread des requêtes, une répartition de charge sur plusieurs serveurs applicatifs avec une tolérance aux pannes de ceux-ci. Le serveur ROK4 est programmé en C++ pour un environnement POSIX et tire parti des instructions SSE pour le traitement d’image.

Fonctionnement de ROK4

ROK 4 traite séparément les requêtes WMS et WMTS. La procédure d’extraction et de transformation des images extraites du cache est ainsi accomplie de façon optimum en fonction du type de la requête.

Format du cache de données

Le format du cache de données est conçu pour optimiser les accès aux images et réduire au maximum les posttraitements à y appliquer :

Accès aux tuiles du cache

Gestion du cache de données

Organisation

Le cache est constitué d’un ensemble de pyramides. Chaque pyramide contient des images du même thème : images aériennes, parcelles cadastrales, cartes scannées. Des pyramides logiques dont chaque niveau pointe le niveau d’une autre pyramide physique peuvent être réalisées. Le serveur doit donc être configuré pour être capable de construire une image à partir de n’importe quelle pyramide.

Mise à jour

Elle se fait de manière incrémentale. Chaque mise à jour du cache occasionne la création d’une nouvelle pyramide. Afin de ne pas augmenter démesurément le volume des pyramides, seules les nouvelles dalles mises à jour sont physiquement rajoutées dans la pyramide. Les autres dalles sont uniquement référencées par des liens symboliques pointant vers les pyramides plus anciennes

Illustration : Les carrés noirs représentent des dalles stockées dans des fichiers, les carrés clairs, des liens symboliques.

Mise à jour d’une dalle : si une dalle en instance de mise à jour n’est pas intégralement recouverte par les nouvelles données, elle est complétée par les pixels les plus récents du cache.

Cette technique permet :