Open VincentAntoine opened 1 year ago
@thoomasbro
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.
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.
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 :On trouve notamment des polygones à seulement deux points :
qui apparaissent ainsi dans l'app :
Et des polygones croisés :
qui apparaissent dans l'appli comme ceci :