Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
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

Printemps des cartes 2024

#1 Mon 14 January 2013 11:30

morgane88
Participant occasionnel
Date d'inscription: 14 Jan 2013
Messages: 10

QGIS / Grass (Module v.clean): corrections des erreurs de géométrie

Bonjour,

Je précise tout d'abord que j'ai posté le même message sur un autre forum, juste ici: http://www.forumsig.org/showthread.php?t=35830

J'espère ne pas faire de doublon avec un autre sujet mais je n'ai pas trouvé de réponse à ma question en fouillant dans divers forum.

Je dispose d'une couche vecteur de polygones (shape) qui me pose quelques problèmes: après vérification de la validité des géométrie sous QGIS, il se trouve que ma couche comporte 3427 erreurs, toutes décrites comme ceci:
"les segments ... et ... de la ligne ... s'entrecroisent".

J'ai tenté de simplifier les géométries sous QGIS avec l'outil du même nom, mais j'ai toujours des problèmes pour effectuer des traitements par la suite (entités qui disparaissent, surfaces négatives, etc.)

Je souhaiterais corriger les erreurs de géométrie via le module v.clean de Grass mais j'avoue ne pas vraiment comprendre les différentes possibilités proposées: snap, dangle, prune...
(L'aide du module est disponible ici:
http://grass.osgeo.org/grass63/manuals/v.clean.html)

Donc, ma question est la suivante:
Avec quelle(s) option(s) du module v.clean de Grass peut-on corriger automatiquement les erreurs du type "segments qui s'entrecroisent" identifiées par QGIS?

Par avance, merci de vos réponses!

Hors ligne

 

#2 Mon 14 January 2013 11:47

christophe_hardy
Participant actif
Lieu: Arras
Date d'inscription: 24 Oct 2011
Messages: 101

Re: QGIS / Grass (Module v.clean): corrections des erreurs de géométrie

Bonjour,

Si vous êtes sous PostGIS, avez-vous essayé la fonction "Clean geometry" ?

--> http://www.kappasys.ch/pgtools/cleangeo … ometry.sql

Christophe

Hors ligne

 

#3 Mon 14 January 2013 12:06

morgane88
Participant occasionnel
Date d'inscription: 14 Jan 2013
Messages: 10

Re: QGIS / Grass (Module v.clean): corrections des erreurs de géométrie

Bonjour et merci de votre réponse,

Je ne travaille malheureusement pas sous PostGIS. Dans l'immédiat, j'aimerais trouver une solution avec GRASS ou QGIS.
Si vraiment je n'y arrive pas, je devrais surement me plonger dans le monde inconnu (pour moi) de PostGIS, mais je suppose que cela prend un peu de temps ^^

En fait, je cherche à savoir à quoi servent les différents outils proposés par le module v.clean de GRASS et lequel ou lesquels utiliser pour m'aider à corriger les erreurs de géométrie identifiés par QGIS.

Hors ligne

 

#4 Mon 14 January 2013 14:19

nawak
Participant assidu
Date d'inscription: 11 Sep 2007
Messages: 216

Re: QGIS / Grass (Module v.clean): corrections des erreurs de géométrie

Bonjour,

Peut être en lisant le manuel : http://grass.osgeo.org/grass64/manuals/v.clean.html

Hors ligne

 

#5 Mon 14 January 2013 14:59

morgane88
Participant occasionnel
Date d'inscription: 14 Jan 2013
Messages: 10

Re: QGIS / Grass (Module v.clean): corrections des erreurs de géométrie

Merci de votre réponse,

J'ai déjà lu le manuel, comme écrit dans mon message.
Le problème c'est que je n'arrive pas à savoir quel est l'outil qui correspond à cette erreur de géométrie "les segments x et y de la ligne z s'entrecroisent" et comment le paramétrer.
Bien sur, je sais que certains outils ne feront pas l'affaire mais je ne vois pas le ou lesquels peuvent corriger cette erreur de géométrie.
J'ai déjà tester un peu (complètement) au hasard quelques paramètres pour voir ce que ça donnait mais je n'ai pas vu d'amélioration... Mais je dois sans doute mal paramétrer le module v.clean.
Je ne suis pas familière des notions de topologie alors le manuel du module v.clean c'est un peu du chinois.

Je vais continuer à tester différents paramètres.

Hors ligne

 

#6 Mon 14 January 2013 16:27

Miniopterine
Participant assidu
Date d'inscription: 29 Nov 2005
Messages: 277

Re: QGIS / Grass (Module v.clean): corrections des erreurs de géométrie

Bonjour,

J'ai pas mal travaillé sur cette question ces derniers temps. L'utilisation de postgis n'a pas été concluante car une donnée valide dans postgis ne l'est pas forcement dans QGIS qui est bien plus pointilleux.
Au final:
- je simplifie la géométrie de mes données dans QGIS avec comme paramètre 0.1 m
- j'importe mes données dans Grass avec v.in.ogr.qgis, options avancées: snap entre 1 et 10 m et minimum size area à 10 m²
- j'utilise un v.dissolve pour fusionner tous les polygones adjacents, je crée au besoin un champ avec une valeur unique pour le faire
- je réexporte le fichier en shape avec la commande v.out
- je re-simplifie la géométrie dans QGIs
- s'il reste des erreurs, je sélectionne les polygones erronés, je les exporte dans une couche, je les supprime de la couche de départ et je leur applique un tampon de 0m puis je fais un copier-coller de ces polygones dans la couche de départ

En général ca marche plutôt bien et ce n'est pas si fastidieux que ca en à l'air smile

En espérant que cela vous aide

Hors ligne

 

#7 Mon 14 January 2013 17:01

morgane88
Participant occasionnel
Date d'inscription: 14 Jan 2013
Messages: 10

Re: QGIS / Grass (Module v.clean): corrections des erreurs de géométrie

Merci pour tous ces conseils,

J'avais essayé le buffer de 0m mais à partir de la couche initiale et sur tous les polygones, ça ne donnait rien. Je n'avais pas pensé le faire après une première passe.
Je me lance dans les manips et je vous tiens au courant du résultat!

Merci!

Hors ligne

 

#8 Tue 15 January 2013 12:18

morgane88
Participant occasionnel
Date d'inscription: 14 Jan 2013
Messages: 10

Re: QGIS / Grass (Module v.clean): corrections des erreurs de géométrie

Bonjour,

Après avoir réalisé les différents traitements proposés par Miniopterine, la couche pose toujours problème.
Tout d'abord, lors de l'export de la couche vers QGIS, Grass me créer des nouveaux polygones là où il y avait initialement des "trous". Bon ce n'est pas un gros problème en soit, car il est possible de les supprimer.
Ensuite, la couche a surement des erreurs de géométrie car j'ai toujours ce même polygone qui se retrouve avec une surface négative. J'ai lancé la vérification de la validité des géométrie dans QGIS, mais étant donné le poids de la couche, cela prend beaucoup de temps.

Ces erreurs de géométrie sont d'autant plus bizarres que cette couche provient de la vectorisation d'un raster sous QGIS, qui apparemment créer lui même des erreurs.
J'ai tenté de vectoriser le raster via GRASS mais c'est idem.

J'aimerais faire le tour de toutes les possibilités en ce qui concerne les corrections d'erreurs mais sans résultats probants, je continuerai à creuser du côté de la vectorisation.

Hors ligne

 

#9 Tue 15 January 2013 12:47

Miniopterine
Participant assidu
Date d'inscription: 29 Nov 2005
Messages: 277

Re: QGIS / Grass (Module v.clean): corrections des erreurs de géométrie

Merci pour le retour.

Si vous trouvez de nouvelles pistes, n'hésitesz pas à mettre à jour ce poste car ce sujet m’intéresse énormément. J'ai testé les outils v.clean de GRASS sans résultats, la fonction ST_Valid et la solution du buffer 0 sous postgis (mais ca comble les trous des polygones aussi) sans résultat.

Hors ligne

 

#10 Wed 24 April 2013 12:58

Samy-DT
Participant assidu
Date d'inscription: 5 Apr 2011
Messages: 211

Re: QGIS / Grass (Module v.clean): corrections des erreurs de géométrie

Bonjour,

Je suis confronté aux mêmes problèmes que vous.
Cela fait maintenant plusieurs jours que je bataille pour trouver un moyen de simplifier les contours bathy issus d'une donnée Lidar.

La majorité de mes erreurs sont des "poignées", ou handles en anglais. J'utilise d'abords le break pour les séparer de la ligne principale, puis je calcul les longeurs, et je supprime les plus petits.
mais arrivé à 5 m, on supprime plus de bouts de contours que d'artefacts...

Après quelques snap et break successifs, plus aucune des fonctions de v.clean ne marche. j'ai un message d'erreur qui dit : "Could not load layer : C\: chemin du shape.

Savez-vous d'où ça vient ?

Avez-vous des méthodes plus robustes pour simplifier vos contours issus de raster haute résolution ?

A+

Dernière modification par Samy-DT (Thu 25 April 2013 08:51)


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

Hors ligne

 

#11 Thu 01 June 2017 22:20

pmathoux
Juste Inscrit !
Date d'inscription: 15 Jun 2014
Messages: 5

Re: QGIS / Grass (Module v.clean): corrections des erreurs de géométrie

Bonjour

J'ai exactement le même problème que Morgane88 mai apparemment aucune solution viable n'avait été trouvée jusque la. Est ce que quelqu'un a trouve une proposition de solution entre temps?

Merci, Pierre

Hors ligne

 

#12 Fri 02 June 2017 07:31

JD
Moderateur
Date d'inscription: 8 Aug 2013
Messages: 725

Re: QGIS / Grass (Module v.clean): corrections des erreurs de géométrie

Bonjour, quelle version de qgis ?
Je vais vous mettre un script qui corrige les erreurs géométrique automatiquement disponible via la boîte à outils de traitement.
Je reviendrai éditer ce message.

EDIT
Mon message de 14h sur ce post https://georezo.net/forum/viewtopic.php?id=106148 explique comment installer le script et permet de le télécharger.

Cordialement,

Dernière modification par lejedi76 (Sat 03 June 2017 14:42)

Hors ligne

 

#13 Fri 02 June 2017 10:14

fnixou
Participant actif
Date d'inscription: 22 Feb 2017
Messages: 82

Re: QGIS / Grass (Module v.clean): corrections des erreurs de géométrie

tu peux également passer par postgis et utiliser ceci :

Update matable
       set geom = ST_MakeValid(st_Snaptogrid(geom,0.001));

Bien sur tes zones sera légèrement modifié et tu peux faire varier le paramètre de Snaptogrid à ta convenance pour un résultat plus ou moins fin.

Dernière modification par fnixou (Fri 02 June 2017 10:16)

Hors ligne

 

#14 Wed 07 June 2017 21:53

pmathoux
Juste Inscrit !
Date d'inscription: 15 Jun 2014
Messages: 5

Re: QGIS / Grass (Module v.clean): corrections des erreurs de géométrie

Un tout grand MERCI Lejedi76, ça a marche!

J'utilise la version 2.18 (Las Palmas).

Cordialement,

Pierre

Hors ligne

 

Pied de page des forums

Powered by FluxBB