banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Tue 12 October 2021 12:21

Archipole Urba
Participant occasionnel
Lieu: Rennes
Date d'inscription: 30 Jan 2014
Messages: 31
Site web

[GPu] Géométrie non valide

Bonjour

J'ai un problème de géométrie sur un élément (un EBC pour être précis) et je ne sais pas comment résoudre ce problème.
Je vous mets une copié d'écran en pièce jointe
J'ai deux sommets sur un même point du même objet, mais mon vérificateur de topologie m'indique une erreur.

C'est la seule erreur mais je ne peux pas du coup téléverser sur le GPU.

Comment faire ?
Merci pour vos lumières

Dernière modification par Bruno (Thu 21 October 2021 09:34)


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Cordialement
Guillaume

Hors ligne

 

#2 Tue 12 October 2021 12:53

Joseph Jacquet
Participant actif
Date d'inscription: 19 Feb 2020
Messages: 92

Re: [GPu] Géométrie non valide

Bonjour,

Je pense qu'il y a deux solutions à première vue :

- Diviser votre EBC en deux entités distinctes
- Créer un deuxième sommet légèrement décalé de sorte que à l'œil nu, ce ne soit pas visible et que la géométrie n'est pas deux nœuds sur la même coordonnée

Bon courage,

JJ

Dernière modification par Joseph Jacquet (Tue 12 October 2021 14:17)

Hors ligne

 

#3 Tue 12 October 2021 14:24

Archipole Urba
Participant occasionnel
Lieu: Rennes
Date d'inscription: 30 Jan 2014
Messages: 31
Site web

Re: [GPu] Géométrie non valide

Super ça marche, merci, j'y avais pas pensé à séparer en deux l'entité.

L'autre solution est impossible car je dois impérativement suivre le cadastre point par point et ne pas avoir de décalage (même minime).

Merci beaucoup


Cordialement
Guillaume

Hors ligne

 

#4 Tue 12 October 2021 15:08

Elise
Participant assidu
Lieu: Argentat (19)
Date d'inscription: 16 Oct 2005
Messages: 528
Site web

Re: [GPu] Géométrie non valide

Bonjour,

Ce sujet permet de voir un problème avec le validateur du GPU. En saisissant correctement un polygone, celui-ci peut impliquer ce type d'erreur (polygone en papillon), alors qu'en réalité ce n'est pas du tout une erreur et qu'il n'est pas toujours possible de séparer le polygone en deux (cf. exemple joint) : c'est un cas de figure qu'il faudrait pouvoir faire remonter aux techniciens de l'IGN qui gèrent le GPU. Je vais essayer d'y penser lors de la prochaine réunion de travail du CNIG à ce sujet :-)

Sur l'exemple joint, aujourd'hui on est obligé de tricher en décalant de façon non visible à une échelle d'impression le sommet du polygone Ac pour qu'il ne touche pas le polygone Na, alors qu'en réalité il le touche.

Bonne journée
Elise

Dernière modification par Elise (Tue 12 October 2021 15:23)


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Géoscope
  11 rue de l'Hospice - 19400 Argentat
  Tél. : 09 60 47 51 16

Hors ligne

 

#5 Tue 12 October 2021 15:25

Elise
Participant assidu
Lieu: Argentat (19)
Date d'inscription: 16 Oct 2005
Messages: 528
Site web

Re: [GPu] Géométrie non valide

Elise a écrit:

Je vais essayer d'y penser lors de la prochaine réunion de travail du CNIG à ce sujet :-)
Elise


En fait, cela relève du GPU et non pas du CNIG, du coup, j'ai informé du problème via le formulaire de contact (cf pj).


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Géoscope
  11 rue de l'Hospice - 19400 Argentat
  Tél. : 09 60 47 51 16

Hors ligne

 

#6 Tue 12 October 2021 17:59

Bruno
Membre du bureau
Lieu: Toulouse
Date d'inscription: 22 Jun 2005
Messages: 11953
Site web

Re: [GPu] Géométrie non valide

Bonsoir Elise,

En espérant que la maitrise d'œuvre (IGN) ne se substitue pas à la maitrise d'ouvrage (Ministère de la Cohésion des Territoires) quand il s'agit de collecter et répondre aux besoins des utilisateurs.

Bonne soirée!

Hors ligne

 

#7 Tue 12 October 2021 18:34

Elise
Participant assidu
Lieu: Argentat (19)
Date d'inscription: 16 Oct 2005
Messages: 528
Site web

Re: [GPu] Géométrie non valide

Bonsoir,

Bruno a écrit:

En espérant que la maitrise d'œuvre (IGN) ne se substitue pas à la maitrise d'ouvrage (Ministère de la Cohésion des Territoires) quand il s'agit de collecter et répondre aux besoins des utilisateurs.


Tu veux dire que ce serait quand même pertinent de faire remonter l'info au CNIG ?

Bonne soirée.
Elise


Géoscope
  11 rue de l'Hospice - 19400 Argentat
  Tél. : 09 60 47 51 16

Hors ligne

 

#8 Wed 13 October 2021 08:19

Archipole Urba
Participant occasionnel
Lieu: Rennes
Date d'inscription: 30 Jan 2014
Messages: 31
Site web

Re: [GPu] Géométrie non valide

Elise a écrit:

Bonjour,

Ce sujet permet de voir un problème avec le validateur du GPU. En saisissant correctement un polygone, celui-ci peut impliquer ce type d'erreur (polygone en papillon), alors qu'en réalité ce n'est pas du tout une erreur et qu'il n'est pas toujours possible de séparer le polygone en deux (cf. exemple joint) : c'est un cas de figure qu'il faudrait pouvoir faire remonter aux techniciens de l'IGN qui gèrent le GPU. Je vais essayer d'y penser lors de la prochaine réunion de travail du CNIG à ce sujet :-)

Sur l'exemple joint, aujourd'hui on est obligé de tricher en décalant de façon non visible à une échelle d'impression le sommet du polygone Ac pour qu'il ne touche pas le polygone Na, alors qu'en réalité il le touche.

Bonne journée
Elise


Bonjour Elise, en effet je suis quelques fois confronté à ce genre de situation.
Mais le fait de décaler le sommet ne créer t'il pas non plus une erreur de validation du GPU ?
Ce n'est pas visible en impression mais dans la réalité ça peut poser un problème puisque cela génère un trou ?!

Bonne journée

Dernière modification par Archipole Urba (Wed 13 October 2021 08:26)


Cordialement
Guillaume

Hors ligne

 

#9 Wed 13 October 2021 09:11

Joseph Jacquet
Participant actif
Date d'inscription: 19 Feb 2020
Messages: 92

Re: [GPu] Géométrie non valide

Bonjour,

Je pense que dans l'exemple la zone Ac devient, soit une enclave en sens technique bien qu'invisible à l'oeil ou bien il y a un mini-pont entre Ac et la zone Na encore une fois invisible à l'oeil mais existante en sens de la donnée.
Les autres zones sont modifiées en fonction pour compenser.

JJ

Dernière modification par Joseph Jacquet (Wed 13 October 2021 09:11)

Hors ligne

 

#10 Wed 13 October 2021 10:59

ChristopheV
Membre
Lieu: Ajaccio
Date d'inscription: 7 Sep 2005
Messages: 3197
Site web

Re: [GPu] Géométrie non valide

Bonjour

En urba et zonage je comprends rien, mais en modélisation de l'information un peu plus.
Si votre entité (celle de la PJ du premier message) est un multypoligon avec un st_dump(geom) vous obtiendrez des polygon distincts non ?

Comment est-ce possible que votre appli voie un polygon papillon alors qu'il y a deux polygon ?

La structure finale attendue est ? (un multy ou un polygon ?) Si votre appli détecte deux polygons adjacents alors elle n'en fait qu'un ? Dans ce cas la notion d'"adjacent" est mal construite. Il faut au moins deux sommets communs pour que deux polygons soient adjacents.


Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close

Hors ligne

 

#11 Wed 13 October 2021 11:26

Elise
Participant assidu
Lieu: Argentat (19)
Date d'inscription: 16 Oct 2005
Messages: 528
Site web

Re: [GPu] Géométrie non valide

Bonjour

Archipole Urba a écrit:

Ce n'est pas visible en impression mais dans la réalité ça peut poser un problème puisque cela génère un trou ?!


Non, il n'y a pas de trou, dans l'exemple que je montre la zone Ac devient une enclave dans la zone Ap.


Géoscope
  11 rue de l'Hospice - 19400 Argentat
  Tél. : 09 60 47 51 16

Hors ligne

 

#12 Wed 13 October 2021 11:29

Elise
Participant assidu
Lieu: Argentat (19)
Date d'inscription: 16 Oct 2005
Messages: 528
Site web

Re: [GPu] Géométrie non valide

Bonjour

ChristopheV a écrit:

En urba et zonage je comprends rien, mais en modélisation de l'information un peu plus.
Si votre entité (celle de la PJ du premier message) est un multypoligon avec un st_dump(geom) vous obtiendrez des polygon distincts non ?

Comment est-ce possible que votre appli voie un polygon papillon alors qu'il y a deux polygon ?


Dans le premier exemple (l'EBC), il a été possible de créer 2 polygones, le problème est résolu ; dans le deuxième exemple (zone Ac et Ap) il n'est pas possible de créer 2 polygones, et si on est rigoureux on se retrouve avec la fameuse erreur papillon.


Géoscope
  11 rue de l'Hospice - 19400 Argentat
  Tél. : 09 60 47 51 16

Hors ligne

 

#13 Wed 13 October 2021 11:41

Joseph Jacquet
Participant actif
Date d'inscription: 19 Feb 2020
Messages: 92

Re: [GPu] Géométrie non valide

Edit : Idem que la réponse d'Elise ci-dessus

À la base, il n'y a justement qu'un seul polygone "papillon" mais le validateur du Géoportail de l'Urbanisme considère cela comme une erreur d'où l'idée de le diviser pour faire deux polygones distincts.

La problématique des polygones papillons avec le GPU est plus difficile à contourner dans l'exemple d'Élise. C'est possible pour une vision plan (invisible) mais en terme de donnée pure, cela pose plus de soucis.

JJ

Dernière modification par Joseph Jacquet (Wed 13 October 2021 11:43)

Hors ligne

 

#14 Wed 13 October 2021 12:48

ChristopheV
Membre
Lieu: Ajaccio
Date d'inscription: 7 Sep 2005
Messages: 3197
Site web

Re: [GPu] Géométrie non valide

Bonjour

Elise a écrit:

dans le deuxième exemple (zone Ac et Ap) il n'est pas possible de créer 2 polygones


Pourquoi ?

ça fait juste trois polygones Na Ac Ap ... topologiquement et mathématiquement je vois pas le problème.


Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close

Hors ligne

 

#15 Wed 13 October 2021 13:02

Joseph Jacquet
Participant actif
Date d'inscription: 19 Feb 2020
Messages: 92

Re: [GPu] Géométrie non valide

ChristopheV a écrit:

Bonjour

Elise a écrit:

dans le deuxième exemple (zone Ac et Ap) il n'est pas possible de créer 2 polygones


Pourquoi ?

ça fait juste trois polygones Na Ac Ap ... topologiquement et mathématiquement je vois pas le problème.


Effectivement mais il faudrait diviser la zone Ap ailleurs car dans ce cas, elle "embrasse" la zone Ac et deux noeuds de la zone Ap se partage la même coordonnée entre Ac et la zone N à droite

Hors ligne

 

#16 Wed 13 October 2021 13:11

Elise
Participant assidu
Lieu: Argentat (19)
Date d'inscription: 16 Oct 2005
Messages: 528
Site web

Re: [GPu] Géométrie non valide

Bonjour

ChristopheV a écrit:

ça fait juste trois polygones Na Ac Ap ... topologiquement et mathématiquement je vois pas le problème.


Moi non plus je n'y vois aucun problème, ça m'irait très bien si le GPU ne me disait pas "retourne à la chasse aux papillons" :-)

Elise


Géoscope
  11 rue de l'Hospice - 19400 Argentat
  Tél. : 09 60 47 51 16

Hors ligne

 

#17 Wed 13 October 2021 13:31

nicolas david
Participant occasionnel
Date d'inscription: 24 Feb 2014
Messages: 28

Re: [GPu] Géométrie non valide

Bonjour

Je ne connais pas les particularités du GPU mais j'ai déjà rencontré ce type de polygones et problèmes sur des données de type occupation du sol. Les erreurs qui semblent être remontées sont celles d'une validité de la géométrie au sens des normes OGC (SimpleFeature).

Le premier cas "papillon" est effectivement résolu en passant de un polygone à 2 polygone. Dans le deuxième cas il devrait être résolu en passant d'un polygone à un polygone avec trou (i.e un seul contours exterieurs -> un contours exterieur + un contour intérieurs). Ce qui n'est pas autorisé dans les géométries valides au sens OGC c'est d'avoir deux fois le même point (sommet) dans un contour.

Ces deux types de problèmes et leurs solutions sont assez bien expliqués sur cette petite doc postgis : https://postgis.net/workshops/postgis-i … idity.html

Hors ligne

 

#18 Wed 13 October 2021 13:49

Elise
Participant assidu
Lieu: Argentat (19)
Date d'inscription: 16 Oct 2005
Messages: 528
Site web

Re: [GPu] Géométrie non valide

Bonjour

nicolas david a écrit:

Ces deux types de problèmes et leurs solutions sont assez bien expliqués sur cette petite doc postgis : https://postgis.net/workshops/postgis-i … idity.html


Exactement cela, merci :-)
Bon, pour les franchouillards comme moi qui ne captent pas l'anglais, la finesse dans la compréhension des explications sera pour un autre jours, mais avec un logiciel comme Qgis, l’outil de correction des géométrie ferait de façon automatique cette transformation ? On bascule la suite du sujet sur le forum Qgis ?

Elise


Géoscope
  11 rue de l'Hospice - 19400 Argentat
  Tél. : 09 60 47 51 16

Hors ligne

 

#19 Wed 13 October 2021 14:49

ChristopheV
Membre
Lieu: Ajaccio
Date d'inscription: 7 Sep 2005
Messages: 3197
Site web

Re: [GPu] Géométrie non valide

Merci à Nicolas pour le lien c'est ce que je cherchais sans trouver immédiatement tout à l'heure.

En fait dans l'exemple d'Elise, il y a trois polygones.
Ap est un polygone avec trou, dont l'enveloppe extérieure (Exterior_ring) comporte un sommet commun avec Na.
Et un trou qui lui aussi est une polyligne fermée qui possède un sommet commun avec son enveloppe extérieure. (et donc Na).
Et un autre polygon Ac qui est égale topologiquement au trou de Ap.

Ensuite si vous voulez vraiment faire de la topologie, faite le avec l'extension topology de Postgis insérez vos polygons dans la couche topo vous verrez s'il y a des erreurs et si les faces crées sont correctes ...

Dernière modification par ChristopheV (Wed 13 October 2021 14:54)


Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close

Hors ligne

 

#20 Thu 21 October 2021 09:39

Bruno
Membre du bureau
Lieu: Toulouse
Date d'inscription: 22 Jun 2005
Messages: 11953
Site web

Re: [GPu] Géométrie non valide

Bonjour,

En résumé, nous ne savons pas quels sont les contrôles topologiques effectués par le GPu.
Peut-être ai-je mal regardé dans cette documentation:
https://github.com/IGNF/validator
Ou bien il existe un autre document (public?).

Bonne journée!

Hors ligne

 

#21 Fri 22 October 2021 12:14

ChristopheV
Membre
Lieu: Ajaccio
Date d'inscription: 7 Sep 2005
Messages: 3197
Site web

Re: [GPu] Géométrie non valide

Bonjour,

Bruno, c'est pas du fromage ou du saucisson ... y'a comme un standard, une norme quoi ... le standard OGC ... après si les gens du GPu inventent leur propre règles ...


Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close

Hors ligne

 

#22 Fri 22 October 2021 15:16

cquest
Participant assidu
Date d'inscription: 6 Jan 2013
Messages: 875

Re: [GPu] Géométrie non valide

Bruno a écrit:

Bonjour,

En résumé, nous ne savons pas quels sont les contrôles topologiques effectués par le GPu.
Peut-être ai-je mal regardé dans cette documentation:
https://github.com/IGNF/validator
Ou bien il existe un autre document (public?).

Bonne journée!


C'est le code utilisé par le GPU ?

Dernière modification par cquest (Fri 22 October 2021 15:17)


Christian Quest - https://amicale.net/@cquest sur Mastodon (terminé twitter/X)
Membre fondateur et porte parole d'OpenStreetMap France
Initiateur de opendatArchives, OpenEventDatabase, Panoramax

Hors ligne

 

#23 Mon 15 November 2021 22:33

FabriceC
Juste Inscrit !
Date d'inscription: 15 Nov 2021
Messages: 1

Re: [GPu] Géométrie non valide

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.f … es_1-0.pdf).

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/ … va#L32-L52
- isValid de JTS : https://github.com/locationtech/jts/blo … #L428-L431

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


IGN - Support GPU

Hors ligne

 

#24 Tue 16 November 2021 10:42

ChristopheV
Membre
Lieu: Ajaccio
Date d'inscription: 7 Sep 2005
Messages: 3197
Site web

Re: [GPu] Géométrie non valide

Bonjour,

Le soucis à mon humble avis ne vient pas du code mais de la conception de la chose.
Dans le cas évoqué au début de ce fil, le fait de vouloir créer un polygone avec deux polygones qui se touchent en un seul point, c'est ça l'erreur.
Et aucun algo ne peut y remédier. C'est une question de modélisation ou conception du problème.
La seule solution pour cet exemple est deux polygones ou un multi.


Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close

Hors ligne

 

#25 Tue 16 November 2021 21:54

ChristopheV
Membre
Lieu: Ajaccio
Date d'inscription: 7 Sep 2005
Messages: 3197
Site web

Re: [GPu] Géométrie non valide

Bonsoir,

FabriceC a écrit:

(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).


En premier lieu, merci d'afficher la couleur. Pour des anciens, la chose n'était pas si facile il y a quelques années smile et comme géoretraité, content de voir la qualité et la visibilité pérenne de cette association smile

Tout vient à point à qui sait ...

Reste en matière de précision un truc simple, c'est quoi qu'on représente ? Une réalité de terrain à l'échelle communal. Cela s'appelle un plan (non une carte ) et la précision de ce référentiel est centimétrique. Ce référentiel de base, qui se nomme le plan cadastral ( déformé ou non smile ) est en effet centimétrique. Un éditeur de texte pour visualiser un .Vec d'un fichier Edigéo le démontre aisément.

Suffit de conserver cette précision quand on intègre les données et de s'en servir de référentiel pour toutes les couches qui viennent s'y superposer.
Problème trouver un format d'échange qui permet d'échanger la donnée sans altérer sa précision. C'est pas le shp qui va le faire smile
Bon Edigéo ça le fait, le WKB aussi alors ... smile

[Edit] Une précision pour conserver la précision smile

Il est évident que l'intersection de la droite formée par deux sommets d'un polygone et une autre droite est un point dont les coordonnées sont deux nombres réels, pas forcément des décimaux à deux chiffres, au sens de la géométrie dans R² oui. Pour garantir cette précision entre référentiels géométrique il ne faut pas raisonner en termes de géométrie "euclidienne" mais en topologie.
L'intersection du vecteur formé par deux sommets d'un arc avec un autre arc est un Noeud est les deux arcs précédents deviennent 4.
Ce Noeud a une précision géométrique au centimètre. (Les sommets des arcs aussi smile )

Dernière modification par ChristopheV (Wed 17 November 2021 13:39)


Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close

Hors ligne

 

Pied de page des forums

Powered by FluxBB