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 Wed 30 October 2019 16:57

GéoKiPique34
Juste Inscrit !
Date d'inscription: 2 Dec 2017
Messages: 6

QGIS: Jointure d'attributs de N entites se touchant

Bonjour à tous,

Voici le contexte de mon problème :
J'ai une couche de polygones (qui représentent des bâtiments). Elle contient dans sa table attributaire une information de surface pour chaque entités. Je voudrais joindre cette information de surface à chaque polygone qui se touchent.
Autrement dit, que chaque polygone reçoive les attributs de TOUS les polygones qui le touche et inversement.

L'idée est que chaque bâtiment reçoive l'information de surface des bâtiments qui lui sont contigus (cf schéma). 

J'ai bien essayé de joindre les attributs par localisation, mais l'algorithme crée un seul et unique champ alors que plusieurs champs sont parfois nécessaires.

merci


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

Hors ligne

 

#2 Wed 30 October 2019 23:28

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

Re: QGIS: Jointure d'attributs de N entites se touchant

Bonsoir,
Cela me semble compliqué sans passer par du SQL.
Avez-vous des connaissances en sql ?

Édit : en fait, j'ai réfléchi et cela doit être possible depuis la V3 avec la calculatrice de champs. Je regarde et je reviens vers vous.

Édit 2 : voici plusieurs exemples avec la calculatrice de champs pour récupérer un champs id, ou un champs surface, ou calculer la surface

Code:

aggregate('ma_couche', 'concatenate',  to_string( "id"), intersects($geometry,geometry(@parent)), '-')

Code:

aggregate('ma_couche', 'concatenate',  to_string( "surface"), intersects($geometry,geometry(@parent)), '-')

Code:

aggregate('ma_couche', 'concatenate',  to_string( to_int($area)), intersects($geometry,geometry(@parent)), '-')

Cordialement,

Dernière modification par lejedi76 (Thu 31 October 2019 08:08)

Hors ligne

 

#3 Tue 05 November 2019 13:26

sylvainSIG
Participant assidu
Lieu: Moissac
Date d'inscription: 29 Nov 2018
Messages: 263

Re: QGIS: Jointure d'attributs de N entites se touchant

Bonjour,

Avez vous essayé par créer un buffer sur les parcelles, et rapatrier les données par jointure par localisation ?

Bien à toi

Sylvain

Hors ligne

 

Pied de page des forums

Powered by FluxBB