Séparation carte et données
Situation actuelle
Dans le tableau, un champ caché contient le geojson de la géométrie. Du JS lit cette valeur et l’affiche dans sur la carte.
Si un row est supprimé, modifié, ajouté on modifie directement la carte.
Il y a donc une synchronicité parfaite entre tableau et carte. La collaboration est triviale puisqu’on observe que le tableau qui est broadcasté avec turbo.
Problème
Le html c’est lent. On voudrait l’alléger au max, le trier, le filtrer, le paginer…
On arrivera donc à une situation où on veut sur la carte des données qui ne sont pas dans le tableau.
But
- on sert les données cartographiques sous forme de tuile MVT
- le tableau est simplifié
- les deux sont mis à jour indépendamment
Todo
-
tuiles mvt -
les générer par postgis -
écrire du sql sûr (attendre les CTE de rails 7.1 ?) -
mise en cache
-
-
style -
exposer un style complet de la carte sur un endpoint -
cacher le style maptile pour éviter des temps de chargement trop longs -
l’url de la couche de base doit être un paramètre (ne pas laisser trainer de clef d’API) -
reproduire dans le détail le style existant -
gérer les styles spécifiques au row (-> #320 (closed))
-
-
interactions base/carte : mise à jour automatique du fond lors des interactions -
pouvoir ajouter une nouvelle géométrie -
supprimer une géométrie -
modifier une géométrie -
mise à jour sans flicker -
décider du bon moyen de notifier le front de changement (channel dédié ?)
-
-
interactions plus subtiles -
highlight du row quand on sélectionne une géométrie -
highlight de la géométrie quand un row a un focus (et en hover ?)-> #326 (closed)
-
-
nouveautés (probablement plus tard, lorsqu’on aura dépassé l’iso-fonctionnel) -
~~mettre les données attributaires dans le mvt pour pouvoir faire un rendu « pop-up » dans une carte vue uniquement∞∞ -> On va probablement faire autrement, par exemple via rows#show
en geojson.
-
Edited by Nicolas Bouilleaud