Pages: 1
- Sujet précédent - QGIS 3.16: Recuperation d'attribut par intersection spatiale - Sujet suivant
#1 Tue 23 March 2021 10:43
- GlaDal
- Participant assidu
- Date d'inscription: 30 Aug 2013
- Messages: 1092
QGIS 3.16: Recuperation d'attribut par intersection spatiale
Bonjour,
Je bute sur un problème qui je pense est assez simple à solutionner.
J'ai deux couches : une linéaire qui comporte deux champs "NOM" et ID et une couche ponctuelle. Chaque valeur du champ "NOM" a un identifiant unique qu'on retrouve dans le champ "ID".
A la création d'une entité ponctuelle, je souhaite :
1) Récupérer la liste des valeurs "NOM" des entités linéaires intersectées dans une rayon de 20m.
J'y arrive en utilisant l'expression
Code:
intersects($geometry, buffer(@current_geometry,20))
que j'ai saisie dans les propriétés de la couche ponctuelle via la rubrique formulaire : dans le champ visé, j'utilise comme type d'outil 'valeur relationnelle' et je saisie les bons paramètres pour faire le lien entre ma couche ponctuelle et ma couche linéaire. cf l'article suivant : https://spatialthoughts.com/2019/04/12/ … tion-qgis/
2) Après avoir choisi la bonne valeur dans la liste proposée, j'aimerais que dans un deuxième champ s'enregistre l'identifiant correspondant à la valeur NOM choisie. Et la je bloque.
D'avance merci pour votre aide !
Hors ligne
#2 Wed 24 March 2021 14:14
- GlaDal
- Participant assidu
- Date d'inscription: 30 Aug 2013
- Messages: 1092
Re: QGIS 3.16: Recuperation d'attribut par intersection spatiale
up !
Merci ! :-)
Hors ligne
#3 Wed 24 March 2021 18:14
- aheurion
- Participant actif
- Lieu: NANTES
- Date d'inscription: 8 Oct 2020
- Messages: 143
Re: QGIS 3.16: Recuperation d'attribut par intersection spatiale
Bonjour,
En utilisant une valeur par défaut dans ce deuxième champ qui dépend de ton premier champ, avec un aggregate du type :
Code:
aggregate( 'id_de_la_couche_ligne', 'concatenate_unique', "ID", "NOM" = attribute(@parent,'champ_nom_de_la_couche_point'), ',' )
Cela devrait marcher ("NOM" c'est le champ "NOM" de la couche ligne et il doit être égal à la valeur du champ "NOM" de ta couche point)
Tu as bien dit que chaque nom était unique ? et que chaque nom correspond à un et un seul id ?
Hors ligne
Pages: 1
- Sujet précédent - QGIS 3.16: Recuperation d'attribut par intersection spatiale - Sujet suivant