Cache MVT
Les tuiles vectorielles sont un format de données vectorielles très efficace pour la cartographie web. Le principe consiste en diviser l'ensemble des données vectorielles d'un projet en tuiles, de manière analogue aux tuiles des données matricielles (WMTS).
Il existe plusieurs standards pour produire des tuiles vectorielles. Mapbox a proposé un standard basé sur l'encodage Protocol buffers (" Protobuf ") créé par Google (https://developers.google.com/protocol-buffers). Le tuiles vectorielles de Mapbox (mvt) sont supportées par un grand éventail de produits cartographiques parmi lesquels JMap Cloud, JMap Server et JMap NG.
Une grille qui définit le tuilage est appliquée aux données vectorielles qui sont alors découpées en tuiles. Chaque tuile peut contenir les données vectorielles de plusieurs couches.
Un ensemble de tuiles est produit pour chaque niveau d'échelle. Dans la cartographie web en général se considèrent 23 niveaux d'échelle, le niveau 0 correspondant à la Terre et le niveau 22 correspondant à la rue. Les vecteurs des niveaux inférieurs sont simplifiés (généralisés) pour optimiser l'affichage des données tout en gardant des tuiles d'un volume performant.
Les vecteurs (lignes, polygones) de chaque couche sont coupés aux frontières des tuiles. Lorsque les géométries traversent la frontière entre les tuiles, celles-ci sont coupées et chaque tuile contient une partie de la géométrie. C'est l'application cartographique qui réunifie les vecteurs pour obtenir la géométrie complète.
Les attributs des éléments cartographiques sont inclus dans les tuiles. Ceci rend les données plus dynamiques et interactives possibilitant, par exemple, l'affichage de thématiques créées à la volée ou l'affichage des données en fonction de l'application de filtres basés sur leurs attributs.
Les tuiles vectorielles contiennent donc les géométries et leurs attributs, les styles ne sont pas inclus dans les tuiles. Les informations définissant les styles sont stockées et gérées dans un fichier JSON séparé. Cette caractéristique permet aux utilisateurs des applications de définir des styles de manière dynamique car ce sont les applications qui gèrent les styles. De plus, lorsque le style des données change il n'est pas nécéssaire de générer de nouvelles tuiles.
Les tuiles peuvent être créées à l'avance et mises en cache, la réponse du serveur étant beaucoup plus rapide face aux requêtes de l'application cartographique web ce qui donne un rendu très fluide et performant.
Production de tuiles vectorielles par JMap Cloud
Un projet JMap Cloud génère trois ensembles de données qui sont utilisées par les applications :
Un fichier JSON de style. Ce fichier accompagne les tuiles vectorielles. Il contient la définition de chaque couche contenue dans les tuiles vectorielles, leurs paramètres de style, les thématiques, etc.
Un ensemble de tuiles vectorielles qui contiennent les géométries et les attributs des couches non éditables. JMap produit un fichier de format mvt par tuile. Ces tuiles peuvent être créées à la demande lorsque les utilisateurs naviguent dans les applications JMap NG. Elles peuvent aussi être crées à l'avance et mises en cache.
Données vectorielles en GeoJSON qui correspondent aux géométries et attributs des couches éditables. Ces données sont envoyées aux applications à la demande par région.
Facteurs qui affectent la performance des tuiles vectorielles
En général les tuiles vectorielles sont plus légères que les tuiles matricielles mais certains facteurs peuvent affecter la taille des tuiles et avoir un impact sur la performance des applications JMap NG. La taille des tuiles est associée au temps de leur production, au volume de stockage, au volume des données échangées avec les applications et à la mémoire dédiée des applications.
Parmi les facteurs à considérer nous pouvons citer :
Nombre d'attributs liés aux couches : les données des attributs influencent la taille des tuiles, qui augmente avec le nombre d'attributs.
Échelles de visibilité des couches : établir des seuils de visibilité pour l'affichage des couches est indiqué lorsque les couches ont des données très denses. Limiter l'affichage de ces couches à des échelles plus grandes est une bonne stratégie car les tuiles des petites échelles ne contiendront pas les données de ces couches et le temps de production des tuiles sera réduit.
Mise en cache : la production à l'avance et mise en cache des tuiles améliore grandement la performance des applications.
Gérer le cache MVT du projet
Pour gérer le cache de tuiles vectorielles du projet :
Indiquez la tâche que vous souhaitez effectuer.
Appuyez sur Lancer la tâche. La section Tâche en cours affiche l'avancement de la tâche de manière graphique et en pourcentage.