MTES-MCT / monitorenv

🛥️🏝️🌊 Suivi et appui au contrôle de l'environnement marin 🛥️🏝️🌊
https://beta.gouv.fr/startups/monitorfish.html
MIT License
6 stars 1 forks source link

Les géométries de type MULTIPOLYGON saisies sont parfois invalides #549

Open VincentAntoine opened 1 year ago

VincentAntoine commented 1 year ago

Concerne les missions et les env_actions de type SURVEILLANCE.

Un export en kepler.gl des géométries invalides (SELECT ST_AsText(geom) FROM missions WHERE NOT ST_IsValid(geom)) donne :

image

On trouve notamment des polygones à seulement deux points :

image

qui apparaissent ainsi dans l'app :

image

Et des polygones croisés :

image

qui apparaissent dans l'appli comme ceci :

image

VincentAntoine commented 1 year ago

@thoomasbro

thoomasbro commented 1 year ago

Je ne vois pas de méthode permettant de valider les géométries dans OL. Par contre la lib https://github.com/bjornharrtell/jsts permettrait de tester si les géométries saisies sont valides ou non. A voir comment on veut implémenter ça. Ce que je vois, c'est que quand on commence à créer une zone, la géométrie est de fait non valide (il faut au moins 3 points), et ensuite, suivant comment on crée la zone, on peut passer par des états non valides. Je pense que l'on peut gérer la validation de la géométrie en mettant en diabled le bouton "Valider la zone de mission / de surveillance" que quand la géométrie est valide.

VincentAntoine commented 1 year ago

Cool déjà s'il y a des choses qui existent pour faire le max en front. Si tu arrives à faire qqch avec ça on peut commencer avec ça et voir à l'usage si ça suffit ou s'il y a des cas qui passent à travers, auquel cas il faudra peut-être en plus mettre une contrainte en base et faire remonter l'erreur.