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 Wed 09 December 2015 11:53

Sylvain C.
Participant occasionnel
Date d'inscription: 6 Jan 2014
Messages: 35

QGIS 2.10 : Attribuer valeur de 2 polygones superposés

Bonjour à tous,

je dispose de 2 couches différentes contenant des polygones, qu'on va appeler couche_A et couche_B, disposant d'informations dans la table attributaire.

Je souhaiterais insérer une nouvelle colonne dans ma couche_A prenant l'attribut d'une certaine colonne de ma couche_B correspondant au recouvrement dominant.

Compliqué à expliquer, voici un schéma pour plus de clarté :

[img]http://img11.hostingpics.net/pics/333647Clipboard01.jpg[/img]

En gros je voudrais que ma couche_A prenne la valeur d'une colonne du polygone bleu de ma couche_B.

Ca doit être tout basique mais je bloque..

Merci d'avance pour vos éclaircissements !

Hors ligne

 

#2 Wed 09 December 2015 12:22

luciole
Participant occasionnel
Date d'inscription: 28 Oct 2015
Messages: 19

Re: QGIS 2.10 : Attribuer valeur de 2 polygones superposés

Bonjour,

Une jointure par localisation pourrait résoudre le problème.

Vecteur > Outils de gestion de données > Joindre les attributs par localisation ...

Hors ligne

 

#3 Wed 09 December 2015 12:29

Sylvain C.
Participant occasionnel
Date d'inscription: 6 Jan 2014
Messages: 35

Re: QGIS 2.10 : Attribuer valeur de 2 polygones superposés

J'ai bien essayé mais ça ne permet pas de prendre la valeur du polygone dominant. Soit ça me prend la première entité localisée (aléatoire) soit c'est moyenne, min, max, somme, médiane et ça me renvoie des valeur aberrantes.

Hors ligne

 

#4 Wed 09 December 2015 14:17

dominique.lys
Participant assidu
Date d'inscription: 5 Oct 2006
Messages: 473
Site web

Re: QGIS 2.10 : Attribuer valeur de 2 polygones superposés

Bonjour,

Peut être une piste: en calculant l'intersection on découpe les polygones de la couche A avec ceux de la couche B et on récupère tous les attributs de A et B. Ensuite on peut calculer un champs avec la superficie des polygones obtenus ce qui permet d'identifier celui qui a le plus grand recouvrement.

Après ça se complique, il faut faire une fusion des polygones pour retrouver la couche A initiale, tout en conservant les attributs de B concernant le polygone ayant le + fort recouvrement.  C'est possible via SQL et les clauses GROUP BY et HAVING. Sans passer par une base de données, l'outil OGR dissolve de la toolbox QGIS passe en arrière plan par du SQL, on peut donc s'en servir pour construire une commande ogr2ogr à lancer depuis un terminal.

Cela donne par exemple :

Code:

ogr2ogr groupby.shp intersection.shp -dialect sqlite -sql "SELECT ST_Union(geometry),* FROM intersection GROUP BY attribut HAVING superficie = max(supercifie)"

Hors ligne

 

Pied de page des forums

Powered by FluxBB