Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Affichage de l'ensemble des arrêtés publiés, sur une carte ; démo d'avril 2024, avec Martin Tile Server et MapLibre GL JS #734

Closed
wants to merge 16 commits into from

Conversation

jjacquelinet
Copy link
Collaborator

L'idée est d'afficher l'ensemble des arrêtés publiés sur une carte. La carte a pour fond la BD Topo et a en surcouche la localisation des arrêtés et leurs infos (un clic sur un élément de la carte fait apparaître les informations).
La carte est personnalisable par l'utilisateur : il peut afficher les arrêtés permanents et/ou les temporaires par exemple (voir le pad pour plus de détails).

Côté technique, j'ai choisi, pour faire le lien entre l'utilisateur et la base de données PostGIS, le serveur de tuiles vectorielles Martin Tile Server, la visualisation côté utilisateur se faisant avec la bibliothèque Javascript MapLibre GL JS.

Afin que la mise à jour de la carte se fasse quand un arrêté est publié, il faut que la mise en cache soit désactivée côté Martin Tile Server.
L'idéal étant d'avoir une mise en cache, il faudra surveiller les réflexions en cours côté MapLibre pour avoir un point d'entrée POST /reload : voir : maplibre/martin#288 (comment) et maplibre/martin#1179

@florimondmanca
Copy link
Collaborator

florimondmanca commented Apr 17, 2024

Hello,

Juste une question d'emblée en voyant la PR, est-ce qu'on a vraiment besoin d'héberger notre propre tile server ?

Dans #581 j'utilisais l'OpenMapTiles hébergé par DataGouv : https://github.com/MTES-MCT/dialog/pull/581/files#diff-7a81c692767217236e2709ffac837082d3099184d8b17a77bab2e25fc0ac0f6fR30

Celui-là affiche un fond de carte OSM certes, et pas BD TOPO...

Mais n'y a-t-il pas un tile server BD TOPO existant qu'on pourrait utiliser ?

Edit : ici DataGouv parle de "tuiles IGN", ça pointe vers leur service TMS/WMTS et il y a une doc sur les tuiles BD TOPO avec la possibilité de choisir une "thématique", la thématique "routier" pourrait convenir ?

@jjacquelinet
Copy link
Collaborator Author

jjacquelinet commented Apr 17, 2024

Très bonne question, sur laquelle j'ai réfléchi hier. Déjà je propose de mettre de côté le fond de carte dans la réflexion, pour le moment.
Pour afficher les géométries liées aux arrêtés, on pourrait aussi construire en PHP une API simple PostGIS vers GeoJSON, en faisait attention à découper les éventuelles grandes géométries, et à faire du filtrage autour de la "Bounding Box" demandée par l'utilisateur. Mais je me suis dit que ça revient à réinventer un début de serveur de tuiles vectoriel … ?

@florimondmanca
Copy link
Collaborator

florimondmanca commented Apr 17, 2024

OK je ne suis probablement pas à jour sur la terminologie, je confondais fond de carte et tuiles vectorielles (et je ne saurais toujours pas dire à quoi chacun correspond, sans recherches plus approfondies)

Si jamais tu peux faire un petit topo sur les différents éléments ça pourrait être utile pour la future review je pense ?

Voire faire une ADR pour la postérité... "Affichage cartographique public"

@jjacquelinet
Copy link
Collaborator Author

ok ! Pour le topo, je le fais en commentaire de cette PR ou tu pensais à un autre format (diapos …) ?

@florimondmanca
Copy link
Collaborator

florimondmanca commented Apr 17, 2024

Je pensais à quelques éléments de théorie dans une ADR qui décrirait comment on s'y est pris pour le premier affichage carto de l'histoire de DiaLog...

Un peu comme on l'a fait dans l'ADR-004 pour documenter (succinctement et avec des liens pour en savoir +) les concepts de la Clean Architecture / Architecture hexagonale qu'on a adoptée sur DiaLog.

Ces ADR sont utiles car elles restent dans le repo et même si elles peuvent devenir un peu datées, ça sert de base de connaissance en somme, qui aide à la pérenité et à la maintenabilité du projet, en dehors des interfaces GitHub qui elles se perdent vite dans le flot continu de tickets et PRs

@jjacquelinet
Copy link
Collaborator Author

Je dirai que le fond de carte est concept, qui peut être sous format "raster" (exemple : format .png) ou vectoriel.

@codecov-commenter
Copy link

codecov-commenter commented Apr 18, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 99.72%. Comparing base (b09c9a7) to head (53578a8).
Report is 7 commits behind head on main.

Additional details and impacted files
@@             Coverage Diff             @@
##             main     #734       +/-   ##
===========================================
+ Coverage        0   99.72%   +99.72%     
- Complexity      0     1027     +1027     
===========================================
  Files           0      186      +186     
  Lines           0     4406     +4406     
===========================================
+ Hits            0     4394     +4394     
- Misses          0       12       +12     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@jjacquelinet
Copy link
Collaborator Author

La piste Martin Tile Server est abandonnée au profit de l'utilisation de Symfony et du format geojson. Voir la PR #796 #796

@jjacquelinet jjacquelinet deleted the feat/map-explo-april-2024 branch June 4, 2024 09:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants