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

State Of The Map 2024

#1 Tue 20 May 2014 09:47

jybarnagaud
Juste Inscrit !
Date d'inscription: 20 May 2014
Messages: 6

QGIS 2.2.0 : fonction "regrouper" et tampons

Bonjour

Cette question est probablement assez triviale et résulte d'une mauvaise compréhension de ma part de ce que fait Qgis, désolé donc si c'est vraiment trop simple et/ou si le vocabulaire n'est pas approprié (je suis utilisateur très occasionnel de sig) et n'hésitez pas à répondre en privé pour ne pas encombrer le forum si c'est nécessaire. Je n'ai en tout cas pas trouvé la réponse ici, ou pas su la trouver.

J'ai une couche vectorielle de polygones (des types de peuplements forestiers, environ 700 000 polygones en 350 classes) et une couche de points (environ 1500); je veux

[1] reclassifier les polygones selon une variable (une classification simplifiée de peuplements en 7 classes) et

[2] extraire les valeurs reclassifiées dans des buffers de 2km autour des points.

Vu le nombre de polygones  je fais d'abord une intersection entre ma couche de polygones et mes buffers afin de diminuer la masse de polygones à regrouper, puis, à partir de cette couche intersectée, j'utilise la fonction "regrouper" pour reclassifier les polygones dans chaque buffer. Ca ne doit pas être la bonne procédure puisque la table attributaire du shape reclassifié ne me sort que 7 lignes (une par nouveau type de peuplement) au lieu d'une ligne par polygone dans chaque buffer.

Questions

- qu'est ce que je n'ai pas pigé?
- comment m'en sortir?

Merci

JYB

Hors ligne

 

#2 Tue 20 May 2014 13:10

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

Re: QGIS 2.2.0 : fonction "regrouper" et tampons

Bonjour,

En effet la fonction "regrouper" permet de fusionner des polygones par rapport aux attributs communs d'un champ. Donc ce n'est pas indiqué dans votre cas.

Il vous faut créer un nouveau champ, et avec la calculatrice lui affecté une valeur de classe de 1 à 7 selon la valeur du champ à reclassifier. Puis utiliser la fonction "regrouper" sur ce nouveau champ.

Il doit etre possible d'utiliser pour ce nouveau champ un CASE WHEN champ1 > x et champ1< y THEN valeur nouvelle classe dans la calculatrice

Hors ligne

 

#3 Tue 20 May 2014 13:12

jybarnagaud
Juste Inscrit !
Date d'inscription: 20 May 2014
Messages: 6

Re: QGIS 2.2.0 : fonction "regrouper" et tampons

Merci pour cette réponse.

Je ne suis pas sûr de très bien comprendre: mon champ pour la reclassification existe déjà dans la table attributaire de ma couche de polygones. Pourquoi faut-il le recréer?

Hors ligne

 

#4 Tue 20 May 2014 13:19

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

Re: QGIS 2.2.0 : fonction "regrouper" et tampons

ok désolée j'avais mal compris.

Vous obtenez donc au final les polygones se situant à moins de 2 km de vos points et dans votre table vous avez bien le champ de reclassification issu de votre couche de départ.

Le fait de  "regrouper" vous sort autant de lignes qu'il y a de valeurs différentes dans votre champ, donc dans votre cas 7. Vous obtenez en fait un shape de multi-polygones.

Je ne suis pas sure de comprendre le résultat que vous désirez?

Hors ligne

 

#5 Tue 20 May 2014 13:23

jybarnagaud
Juste Inscrit !
Date d'inscription: 20 May 2014
Messages: 6

Re: QGIS 2.2.0 : fonction "regrouper" et tampons

Je cherche à regrouper, dans chaque buffer, les polygones contigus ayant la même valeur dans le champ reclassifié. Dit trivialement, au lieu d'avoir dans un buffer de 2km, 4 polygones contigus disons, de sapin (qui avaient des valeurs différentes dans la classif initiale), je n'en veux qu'un seul.

Hors ligne

 

#6 Tue 20 May 2014 13:28

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

Re: QGIS 2.2.0 : fonction "regrouper" et tampons

Ok donc à l'issu de votre "regrouper" vous obtenez un shape avec des multi-geometries. Pour obtenir uniquement un regroupement des polygones contigus tentez un "scinder une entité multigeometrique" de la boite d'outil Vecteur / outil de géométrie.

Hors ligne

 

#7 Tue 20 May 2014 17:08

jybarnagaud
Juste Inscrit !
Date d'inscription: 20 May 2014
Messages: 6

Re: QGIS 2.2.0 : fonction "regrouper" et tampons

Bon, je ne dois toujours pas y être - ou alors je ne comprends pas vos suggestions.

Résumons:
1/ j'intersecte mes buffers et ma couche de polygones
2/ je regroupe mes polygones selon ma nouvelle classif
3/ je scinde pour que les patches contigus soient regroupés (je ne comprends pas très bien comment ça fonctionne pour regrouper en utilisant une fonction qui scinde, mais je mets ça sur le compte de mon incompréhension du vocabulaire sig)

Une fois le "scinder" effectué, je me retrouve avec quelque chose qui pourrait ressembler à ce que je veux, mais aucun autre de mes champs (et en particulier les champs qui identifient mes buffers et les latitudes/longitudes) sont aberrants: il ne reste plus que 7 labels différents et paires de coordonnées pour mes buffers (au lieu de ~1500). Sur le principe je suppose que ça peut se résoudre en bricolant une intersection entre ma couche scindée et ma couche de buffer, mais ça n'a pas l'air très sérieux comme manière de procéder. Qu'est ce que j'ai loupé?

Désolé pour ces problèmes de débutant, je n'ai absolument pas le temps de me plonger de manière approfondie dans la doc de Qgis... En tout cas merci encore

Hors ligne

 

#8 Tue 20 May 2014 18:08

SANTANNA
Moderateur
Lieu: Angers
Date d'inscription: 18 Jan 2008
Messages: 3824

Re: QGIS 2.2.0 : fonction "regrouper" et tampons

Bonjour,
La solution de Miniopterine est bonne sauf que vous n'aviez pas précisé que vous souhaitiez conserver des champs. Et dans ce cas, il faudrait peut-être inverser la lecture pour ne fusionner qu'en dernière instance (mais sachez que de toute manière;, vous ne pourrez pas non plus conserver tous les champs). Dès lors que vous fusionnez les entités, vous acceptez de perdre un certain nombre d'infos personnalisées donc en regroupant les géométries à la phase 2 sur un champ qui ne vient pas du buffer, vous regroupez des entités qui ne sont pas sur le même buffer et là, une valeur (venue des entités en entrée) leur est attribuée dans les champs du buffer et cette valeur n'est pas toujours la bonne pour toutes les parties du multipolygone. Ensuite, en scindant les géométries, vous obtenez bien des géométries individualisées mais avec les valeurs erronées de la géométrie mère. Le mieux est donc, à mon avis, de ne faire intervenir la seconde couche qu'assez tard dans la procédure.

Je suppose que les latitudes/longitudes comme les champs du buffer sont finalement les champs issus de la couche de points. Je pars aussi de l'hypothèse que sur la couche "peuplement", la seule info qui vous intéresse est la classe en 7. Dans ce cas, pourquoi ne pas:
- créer une nouvelle couche de polygones en fusionnant vos entités de la couche "peuplements" sur la base des 7 classes : ça peut ramer selon la config mais bon ==> à la fin, on a 7 objets multi-polygones. On peut aussi juste sélectionner les entités qui intersectent le buffer, créer leur couche et regrouper sur les sept classes.
- scinder les géométries de cette couche ==> on aura donc de nombreux polygones uniques mais sur sept classes et chaque polygone correspondra à l'ensemble des sous-classes qui étaient contigus.
- croiser cette couche avec le buffer pour récupérer sur chaque polygone les valeurs du buffer
Vous avez alors, sur chaque polygone, la classe à laquelle elle correspond, les infos venant du buffer et tous les voisins de ce polygone sont d'une autre classe.

Par contre, au sein d'un même buffer, vous pouvez avoir deux polygones distincts ayant une même classe. Si vous tenez à n'avoir pour chaque classe au max qu'un objet (multipolygone, le cas échéant) par buffer, il vous faudra alors regrouper à nouveau mais sur un champ identifiant le buffer ET la classe. Je ne suis pas sûr que QGIS propose ça par défaut mais une concaténation des deux champs dans un autre au préalable devrait suffire pour gérer la situation...

Hors ligne

 

#9 Tue 20 May 2014 18:12

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

Re: QGIS 2.2.0 : fonction "regrouper" et tampons

C'est normal que les autres colonnes de la table attributaire soit aberrantes apres le regrouper ... vous avez fait un regroupement des geometries ... qui n'ont pas forcement les mêmes attributs, QGIS  a du prendre les attributs de la 1ere entité qu'il a fusionné... Si vous avez regroupé votre shape par rapport a un champ avec 7 labels, il ne ressort forcement que 7 labels...

Vous pouvez tenter de récupérer vos attributs par une jointure spatiale mais je ne suis pas sure que ce soit cohérent .. par exemple la lat/long de vos buffers, vue qu'ils sont fusionnés par label est forcement différente ....

Bref c'est comme en SQL quand vous faites un group by sur un champ d'une table , vous perdez tous les attributs de la table exceptés ceux du champ utilisé pour le group by.

Hors ligne

 

#10 Tue 20 May 2014 18:19

jybarnagaud
Juste Inscrit !
Date d'inscription: 20 May 2014
Messages: 6

Re: QGIS 2.2.0 : fonction "regrouper" et tampons

La jointure est pertinente dans la mesure où ce qui m'intéresse, c'est de garder les labels des buffers et les coordonnées de leurs centroïdes - les coordonnées des polygones ne m'intéressent pas.

Merci pour votre aide en tout cas

Hors ligne

 

#11 Wed 18 June 2014 16:24

jybarnagaud
Juste Inscrit !
Date d'inscription: 20 May 2014
Messages: 6

Re: QGIS 2.2.0 : fonction "regrouper" et tampons

Bonjour

Je reviens sur ce sujet car j'ai à nouveau des problèmes de regroupement de polygones. Comme précédemment, je cherche à regrouper des polygones adjacents qui partagent un même attribut (en l'occurrence, un type de peuplement forestier parmi 7 possibles). Suivant vos instructions, j'ai donc opéré de la manière suivante:

1: Vecteur / Outils de Géotraitement / Regrouper

2: Vecteur / Outils de Géométrie / Scinder

La couche résultant de la première étape est vide (table attributaire de 0 lignes). L'étape 2 ne se fait donc pas... Toutes les couches sont en L93, je n'ai pas l'impression qu'il y ait quoi que ce soit de différent par rapport aux données sur lesquelles vous m'aviez expliqué la procédure en mai...

Qu'est-ce que j'oublie / n'ai pas pigé dans l'affaire?

En vous remerciant

Hors ligne

 

#12 Tue 19 August 2014 09:22

paule362
Juste Inscrit !
Date d'inscription: 3 Jan 2014
Messages: 1

Re: QGIS 2.2.0 : fonction "regrouper" et tampons

Bonjour,

je rencontre le même soucis que jybarnagaud, je fais la fonction regrouper pour assembler mes différents polygones ayant le même attributs mais la couche résultant présente une table attributaire vide. Si quelqu'un a la réponse ce serait génial!

Merci

Paule

Hors ligne

 

Pied de page des forums

Powered by FluxBB