#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
Hors ligne
#2 Wed 30 October 2019 23:28
- JD
- Moderateur
- Date d'inscription: 8 Aug 2013
- Messages: 726
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: 265
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