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

GEODATA DAYS 2024

#1 Thu 18 February 2010 11:09

Paul
Participant assidu
Lieu: Paris
Date d'inscription: 31 Jul 2008
Messages: 157

[GRASS] Import de shape

Bonjour ami(e)s géomaticien(ne)s !

J'ai un gros problème avec l'import de shape surfaciques dans Grass. Lors d'un précédent sujet sur ce thème, on m'avait répondu que le shape est "spaghetti" et que Grass n'aime pas trop les spaghettis.
Pour info j'interface Grass par QGIS sous XP.
En important mon shape j'ai plusieurs problèmes :
- Pour la couche "mon_shape", il me créé 3 sous couches : Polygon_0, Polygon_1, Polygon_2. Or seul le Polygon 1 semble être ce que je souhaite. 1ère question, comment effacer les 2 sous couches qui ne m'intéressent pas ?
- Mais principal souci, Grass me dédouble des lignes (donc des entités je suppose). J'ai l'impression qu'il créé des micro polygones qui gardent les caractéristiques d'un autre polygone. Comment obtenir une couche vecteur propre ???

Si une solution a déjà été présentée, je vous présente mes excuses d'avance d'avoir pollué le forum d'un sujet redondant.

Bonne journée !

Paul


Paul

Hors ligne

 

#2 Thu 18 February 2010 11:59

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9855
Site web

Re: [GRASS] Import de shape

Bonjour Paul,

Tu as bien saisis le problème. Quand un shape contient deux polygones qui se superposent (même très peu), GRASS va créer trois objets : les deux polygones chacun coupé par la partie qui se superpose. La 3e est la surface commune.

Je ne me souviens plus des détails mais les trois couches Polygon_0, Polygon_1, Polygon_2 correspondent aux couches créées en fonctions des erreurs, par exemple :

v.in.ogr writes the number of overlapping input areas as category of field 2,
usually errors in input data.


Je suppose que c'est pareil pour le champ 1.

Donc pour avoir une couche propre, il faut :
1. avoir un shape propre (pas de superposition de polygone)
2. utiliser v.clean après l'import et jouer sur ses paramètres

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

 

#3 Thu 18 February 2010 14:34

yopyop25
Participant actif
Lieu: besançon
Date d'inscription: 2 Jun 2008
Messages: 144

Re: [GRASS] Import de shape

Bonjour,

De mémoire, et on me corrigera si erreur, GRASS importe la géométrie sans corrections dans le layer_1 (on a donc des polygones se superposant), dans le layer_0 il créé les polygones correspondant aux chevauchements et dans le layer_2, il créé les polygones remplissant les vides. Je ne suis pas certains de l'ordre des layer mais l'idée est là.
Ceci permet de mettre en évidence les erreurs de topologie d'un shape mal dessiné.

Cordialement

Yohan

Hors ligne

 

#4 Thu 18 February 2010 14:59

Paul
Participant assidu
Lieu: Paris
Date d'inscription: 31 Jul 2008
Messages: 157

Re: [GRASS] Import de shape

Merci Yves pour ces explications.

Cependant le v.clean n'a pas l'air d'être satisfaisant dans mon cas.
J'ai testé la méthode (un peu tordue ?) suivante qui semble fonctionner, peux-tu me donner ton avis ?
- Import de mon shp dans grass, j'obtiens mon "vecteur_grass_crado"
- Sauvegarde de mon "vecteur_grass_grado" en shp par la fonction "sauvegarder en shapefile" de QGIS, j'obtiens un "shp_crado"
- Dans la table de mon "shp_crado", j'ajoute une colonne superficie que je calcule
- Je sélectionne les polygones présentant une superficie inférieure à un certain seuil (0.001 m2 dans mon cas). En effet les polygon d'overlap ont l'air d'être tous extrêmement petits.
- Je supprime ces polygones, j'obtiens un "shp_propre"
- Enfin j'importe mon "shp_propre" dans Grass et j'obtiens un "vecteur_grass_propre"
Du moins il a visuellement l'air propre, est-ce que selon toi il l'est vraiment ???

Bon après midi !

Paul


Paul

Hors ligne

 

#5 Thu 18 February 2010 15:03

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9855
Site web

Re: [GRASS] Import de shape

Bonjour,

v.clean n'est pas censé supprimer les polygones dont la superficie est inférieur à un certain seuil ?

[edit] l'option rmarea : remove small areas, the longest boundary with adjacent area is removed

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

 

#6 Thu 18 February 2010 15:32

Paul
Participant assidu
Lieu: Paris
Date d'inscription: 31 Jul 2008
Messages: 157

Re: [GRASS] Import de shape

Mais si tu as raison, c'est moi, je dois avoir de la farine dans les yeux !
C'est en effet beaucoup moins tordu que ce que j'ai proposé.

Merci beaucoup Yves !

Bonne fin de journée


Paul

Hors ligne

 

Pied de page des forums

Powered by FluxBB