Message posté par : FabriceC (fab_ibox(a)hotmail.com)
----------------------------------------
Bonjour,
Quelques éléments de réponse côté IGN :
La validation géométrique se résume à :
- Est-il possible de lire la géométrie (chose qui bloque par exemple avec des contours de
polygones à 3 points) ?
- La géométrie est-elle valide, au sens "ST_IsValid" de PostGIS du terme ?
Quelques précisions concernant le validateur GpU :
- Le contrôle de la géométrie a été introduit pour que les algorithmes des bibliothèques
de calcul géométrique (qui ne sont pas conçus pour travailler avec des géométries non
valides au sens de l'OGC) puissent répondre à la question "Quelles sont les zones
qui intersectent la parcelle ?" (avec une réponse autre que "GEOS intersects()
threw an error"!).
- La possibilité avait été étudiée de tenter des corrections automatiques de topologie
(l'équivalent de ST_MakeValid) pour la diffusion (c-à-d. sans toucher aux archives),
avec un simple avertissement dans le rapport de validation en cas de réussite de la
correction automatique.
Cependant l'intégrité de la donnée producteur prime pour le moment et cette piste a
donc été écartée.
- L’IGN a proposé avec sa MOA des fiches d'aide pour accompagner les utilisateurs sur
chaque code d'erreur de validation, et il y a un document pointé par ces fiches
d'aide qui explique ce qu'est une géométrie valide au sens de l'OGC
(
https://www.geoportail-urbanisme.gouv.fr/image/FicheAide_InvaliditeGeometri…).
Nous nous efforçons de rester sur des contrôles standards qui puissent être effectués
facilement avec des outils tels QuantumGIS, PostGIS,...
Il reste principalement deux difficultés sur les contrôles géométriques :
- Nous sommes en train d'ajouter des contrôles de complexité géométrique car on peut
avoir parfois des cas exotiques avec de nombreux points et contours difficilement
exploitables pour de la diffusion (avec 2.8 millions de points sur une seule géométrie, il
y a peu d'outils assurant des traitements fluides).
Le GpU peut difficilement assumer la fonction de simplification des géométries obtenues
par des processus de vectorisation automatique et c’est pourquoi le rapprochement avec nos
utilisateurs est un souci permanent.
- "Tricher" en décalant de façon non visible à une échelle d'impression le
sommet du polygone amène potentiellement à des géométries valides dans la projection
utilisée pour la production des données mais non valides dans la projection utilisée pour
la diffusion.
Le problème de fond réside dans le fait qu'un contrôle topologique sans notion de
précision sur la donnée n'a pas vraiment de sens (sans notion de précision, la réponse
à la question "De quel côté de la droite se trouve le point ?" va dépendre de la
précision des calculs dans l'ordinateur).
Enfin, le dépôt
https://github.com/IGNF/validator correspond bien au code du validateur.
On retrouvera la même méthode que la bibliothèque java JTS (portée en C++ sous le nom GEOS
pour PostGIS, QuantumGIS,...) pour répondre à la question "est-ce que la géométrie
est valide" :
- Validateur IGN :
https://github.com/IGNF/validator/blob/v4.2.3/validator-core/src/main/java/…
- isValid de JTS :
https://github.com/locationtech/jts/blob/jts-1.18.2/modules/core/src/main/j…
La différence tient au fait que nous récupérons la localisation de l'erreur
géométrique. L'idée étant, dans la prochaine version du GpU, de permettre le
téléchargement du rapport de validation au format GeoJSON pour localiser plus facilement
les erreurs de validation géométrique.
Cordialement, L’équipe GPU
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=347819#p347819
Pour y répondre : donnees(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net