Blog & actualités

Gestion des services cartographiquesLes services cartographiques sont un enjeu important au sein d’Isogeo, les services permettant en effet de donner accès directement à des données en ligne. Ils sont aujourd’hui le seul moyen d'accéder aux données dans les outils Web Isogeo.  

Isogeo se charge de les exploiter quelles que soient leurs variétés et leurs particularités spécifiques. 

Pour faciliter ce travail, nous avons décidé de mettre en place notre propre API REST de traitements géomatiques, notamment de traitements de services cartographiques. Cette API est désormais intégrée à nos outils Web de visualisation et de téléchargement.

Pourquoi cette API a-t-elle été créée ? 

Jusqu’à présent, les différents outils Web Isogeo avaient chacun leur propre gestion de la visualisation et du téléchargement. Les comportements et les prérequis de chacun de ces outils étaient donc différents. Les évolutions de ces produits devaient également être réalisées séparément, ce qui pouvait retarder la disponibilité de ces améliorations. 

La mise en place de cette API permet notamment de normaliser les comportements et les prérequis quant aux services affichables/téléchargeables sur tous les produits Web Isogeo de visualisation. Elle permet également des corrections et des mises à jour plus rapides.

 

Que fait cette API ?

L’API a plusieurs fonctionnalités, entre autres :

  • Elle facilite l’affichage et le téléchargement des données issues de services géographiques.
  • Elle parcourt les fichiers de GetCapabilities (ou équivalents Esri) afin de récupérer les informations nécessaires à l’affichage et au téléchargement de la donnée, notamment les informations de formats, de projections, de matrices de pyramidage pour les services tuilés. 
  • Elle reprojette la donnée avant de l’envoyer au site Web concerné. 
  • Elle transforme les données en des formats appropriés à leur utilisation dans la solution Isogeo.

Elle peut être utilisée avec différents modes. En effet, elle peut directement requêter le service en utilisant le proxy intégré, ou dans le cas du mode no-proxy, traiter directement les données envoyées par le site Web. Cela permet de toujours réaliser l’intégralité des traitements géomatiques côté serveur.

 

Qu’apporte cette API aux produits ?

L’intégration de cette API aux différents sites a notamment permis des améliorations de traitements des services : 

  • Il est désormais possible d’afficher des services n’acceptant pas le geojson en format de sortie (ancien pré-requis de visualisation des services), comme c’est souvent le cas pour les services d’un serveur business-geografic
  • Il est possible de télécharger au format geojson des couches de services n’acceptant que le json en format de sortie. Les fichiers seront normalisés de façon à correspondre à la norme du geojson et pourront être interprétés directement tels quels par un programme SIG. 
  • Il est également possible de visualiser et télécharger les couches intégrales de Esri Feature Service même si elles dépassent le nombre d’entités maximales fixé par le serveur. L’API contourne cette limitation et retourne entièrement la donnée.

EFS Département

Dans quels produits cette API va-t-elle être utilisée ?

Cette API a été développée de telle sorte qu’elle reste la plus générique possible, tout en prenant en compte les besoins spécifiques de l’affichage de la donnée avec l’API cartographique OpenLayers (API utilisée dans les applications Web Isogeo). 

Notre API de traitements est aujourd’hui utilisée dans le géocatalogue et bientôt dans le portail, mais elle pourrait dès demain être utilisée dans d’autres produits Isogeo…

 

Comment cette API fonctionne ?

Lors du développement de l’API, nous avons tenu à garder une structure simple pour faciliter la maintenance et les évolutions. 

L’API a été développée avec un serveur ExpressJs définissant les différentes routes d’API disponibles. Ce serveur utilise les différentes classes développées correspondant à chacun des types des services pris en compte par Isogeo (les services OGC WFS, WMS, WMTS et les services Esri Feature, Map et tuilés) en utilisant un patron de conception Factory pour gérer les différentes particularités des service.

Les traitements cartographiques des Feature Services sont basés sur la librairie de traitement gdal qui répond aux différents besoins de traitements de vecteurs. 

Un parseur spécifique à l'API pour les GetCapabilities a été développé.

 

Comment les évolutions seront-elle intégrées à l'API ?

Comme la majorité des outils Isogeo, l’API bénéficie d’une pipeline CI-CD Azure DevOps permettant de faciliter les mises à jour fréquentes pour un outil optimal. 

La mise en place de cette pipeline s’inscrit dans l’objectif d’Isogeo d’avoir des pipelines d’intégration continues pour l’intégralité de ses outils d’ici l’été 2022.

Julie Grosmaire
Récemment diplômée de l'ENSG, je suis ingénieur développement à Isogeo, spécialisée en géomatique.