#1 Tue 16 April 2013 12:59
- Samy-DT
- Participant assidu
- Date d'inscription: 5 Apr 2011
- Messages: 211
QGIS / Grass / Postgis : Réparer les géométries
Salut à tous,
Débutant avec du libre (QGIS/GRASS et PostGIS), je peine à comprendre comment se sortir des problèmes de géométrie.
Après avoir lu la documentation ici : http://grass.osgeo.org/grass64/manuals/v.clean.html, j'ai tenté de réparer ma couche où il y a surtout des erreurs d'entrecroisements.
J'ai essayé plusieurs fonctions comme le break ou le bpol, mais rien n'y fait, j'ai toujours autant d'erreurs de géométries.
Ce qui est contrariant, c'est que la même couche analysée dans PostGIS avec un St_IsValid ne renvoie pas d'erreur...Un MakeValid pour être sûr, toujours pas...
Auriez-vous des éléments supplémentaires à m'apporter ?
Merci
Dernière modification par Samy-DT (Tue 16 April 2013 13:12)
Hors ligne
#2 Tue 16 April 2013 13:56
- Paul
- Participant assidu
- Lieu: Paris
- Date d'inscription: 31 Jul 2008
- Messages: 158
Re: QGIS / Grass / Postgis : Réparer les géométries
Bonjour,
Dans QGIS, as-tu testé : Vecteur -> Outils de géométrie -> Vérifier la validité de la géométrie ?
Bonne journée
Paul
Paul
Hors ligne
#3 Tue 16 April 2013 14:24
- Samy-DT
- Participant assidu
- Date d'inscription: 5 Apr 2011
- Messages: 211
Re: QGIS / Grass / Postgis : Réparer les géométries
Oui oui bien sur,
C'est "vérifier la géométrie" qui m'indique d'ailleurs le nombre d'erreurs d'entrecroisements.
mais en aucuns cas cet outil ne corrige quoi que ce soit !
Hors ligne
#4 Tue 16 April 2013 15:01
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3945
Re: QGIS / Grass / Postgis : Réparer les géométries
Bonjour,
effectivement, il ne les corrige pas mais indique les coordonnées de chaque erreur (et même les affiche dans le navigateur si sélectionnée dans la liste des résultats; croix rouge, je crois). Donc, à moins d'en avoir plusieurs dizaines, vous pouvez manuellement essayer de les corriger, si aucun traitement automatisé ne satisfait....
Hors ligne
#5 Tue 16 April 2013 15:42
- Samy-DT
- Participant assidu
- Date d'inscription: 5 Apr 2011
- Messages: 211
Re: QGIS / Grass / Postgis : Réparer les géométries
plus de 250 erreurs...ce qui est courant sur des couches vecteurs à l'échelle régionale.
Je suis tout de même étonné qu'une telle batterie d'outils (v.clean + postgis) ne viennent à bout d'une seule de ces erreurs...ou alors ils servent à rien.
Hors ligne
#7 Tue 16 April 2013 16:30
- Samy-DT
- Participant assidu
- Date d'inscription: 5 Apr 2011
- Messages: 211
Re: QGIS / Grass / Postgis : Réparer les géométries
Malheureusement non mais je vais fouiller demain dans mes données, j'avais eu ce même problème pour une autre couche à moi.
Bonne après-midi (ici à La Réunion, on quitte le travail)
Hors ligne
#9 Wed 17 April 2013 15:42
- Samy-DT
- Participant assidu
- Date d'inscription: 5 Apr 2011
- Messages: 211
Re: QGIS / Grass / Postgis : Réparer les géométries
Malheureusement je suis sous Windows...
Mais si vous avez l'habitude d'utiliser le v.clean, pensez-vous que cela vienne plutôt de ma couche ou bien pour vous aussi, le v.clean ne marche pas toujours ?
Hors ligne
#10 Sat 20 April 2013 18:56
Re: QGIS / Grass / Postgis : Réparer les géométries
Bonjour,
Généralement un buffer de 0 pour les polygones et une simplification de 0 pour les lignes permettent de corriger pas mal de ces erreurs, voire leur totalité.
Concernant la remarque sur v.clean et les modules d'imports dans GRASS, ceux-ci prennent des paramètres qui influencent grandement leur fonctionnement.
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#11 Sun 21 April 2013 15:08
- Samy-DT
- Participant assidu
- Date d'inscription: 5 Apr 2011
- Messages: 211
Re: QGIS / Grass / Postgis : Réparer les géométries
Bonjour,
Merci à tous pour vos réponses, mais malheureusement, je deviens très sceptique sur ces outils là.
La simplification à zéro ne donne rien : même nombre d'erreurs avant et après.
Impossible de réparer quoi que ce soit à ce jour...
Hors ligne
#12 Wed 03 July 2013 07:53
- Samy-DT
- Participant assidu
- Date d'inscription: 5 Apr 2011
- Messages: 211
Re: QGIS / Grass / Postgis : Réparer les géométries
Bonjour,
Pour les débutants qui se posaient la même question sur le nettoyage des couches .shp dans QGIS, je poste ici la méthode que j'ai finit par appliquer et qui marche pas mal.
1. utilisez l'algo bpol de l'outil v.clean, accessible dans les outils GRASS de Sextante. Cela vous enlève déjà pas mal d'erreurs.
2. dilatation/érosion à 2 m. (tampon de 2 m, puis tampon de -2 m).
Sur des couches où j'avais des centaines d'erreur, ça a bien fonctionné.
A+
Hors ligne
#13 Wed 03 July 2013 08:27
- christophe_hardy
- Participant actif
- Lieu: Arras
- Date d'inscription: 24 Oct 2011
- Messages: 101
Re: QGIS / Grass / Postgis : Réparer les géométries
Bonjour,
super merci pour l'info !
A bientôt.
Hors ligne
#14 Thu 04 July 2013 12:25
- Benoit91
- Participant assidu
- Date d'inscription: 2 Oct 2008
- Messages: 263
Re: QGIS / Grass / Postgis : Réparer les géométries
Bonjour
Sous postgis il est également possible de pouvoir supprimer les problèmes de géométrie tel que les papillons (autocroisement du polygone).
Il faut utiliser la fonction st_buffer(geom,0.0) afin d'effectuer un buffer de 0 sur les géométries.
ex:
SELECT rowid,st_buffer(geom,0.0) FROM espaces_verts;
Avec QGIS vous pouvez visualiser le résultat de la requête "select" avant de l'éxécuter en "update".
Voir images jointes pour l'avant/après fonction (en vert la couche modifiée)
Désolé pour les couleurs flashy mais c'est pour voir la différence.
Cette fonction marche bien sur des "petits papillons" si le "papillon est plus gros" la fonction créée 2 polygones.
Cordialement.
Hors ligne
#15 Fri 05 July 2013 07:23
- Samy-DT
- Participant assidu
- Date d'inscription: 5 Apr 2011
- Messages: 211
Re: QGIS / Grass / Postgis : Réparer les géométries
Impressionnant, merci Benoit !
C'est une erreur que je rencontre très souvent, je note ça dans mes recettes .
A+
Hors ligne