ST_AsMVT() ou serveur de tuiles?

Bonjour à tous.tes,

J’ai utilisé la fonction de POSTGIS : ST_AsMVT() depuis 1 ans en récupérant directement les données en base en appliquant des filtres à la requête puis j’affiche tout sur une carte via DeckGL.

Je sais que je peux faire un serveur de tuiles mais je perds la customisation des requêtes entre bases de données (enfin du moins de ce que j’ai compris).

Quel est l’avantage d’utiliser un serveur de tuile au lieu de la fonction ST_AsMVT() (performance, filtres sur les données possible, efficacité d’intégration/mise à jour des données) ?

J’ai compris que le serveur de tuiles a utilisé ST_AsMVT() pour générer une couche de données (par niveaux de zoom) et qu’il n’y a pas besoin de faire de nouveau des calculs en base de données.

Bonjour, un serveur de tuiles peut servir des tuiles vectorielles ou sous forme d’images. Dans le premier cas il ne fait en gros que « renvoyer » le résultat de ST_AsMVT() via une API dédiée et le rendu (ie l’affichage selon une symbologie donnée) reste à faire côté client. Ce qui nécessite des ressources parfois importantes pour un affichage fluide de gros volumes de données (c’est pourquoi typiquement certaines librairies comme DeckGL vont faire appel à WebGL pour exploiter le processeur graphique) mais cela laisse de la liberté pour par exemple personnaliser le rendu ou reprojeter en temps-réel. Dans le second cas le rendu est réalisé côté serveur et stockée dans un cache sous forme d’images. Cela ne nécessite donc des ressources importantes que lors de la génération du cache, ensuite il s’agit simplement de récupérer puis d’afficher une image déjà « prête ». Ceci est donc en général plus efficace mais ne permet pas de changer la symbologie à la demande.

En espérant avoir un peu éclairci votre lanterne.

2 « J'aime »

Merci pour les précisions, j’alimenterai ce post au fur et à mesure de mes tests avec des statistiques si possible