#1 Fri 07 April 2023 08:48
- Baptiste.Pignol
- Participant occasionnel
- Date d'inscription: 17 May 2021
- Messages: 16
QGIS 3.28.3: probl array_to_string ?
Bonjour, j'ai rencontré un petit problème.
Je veux avoir dans le champ "commune" de la couche 'Réseau' (polyligne) l'ensemble des attributs du champ "NOM" des enttités intersecté de la couche 'COMMUNE'. J'ai donc écrit dans la case valeur par défaut l'expression suivant :
array_to_string(array(aggregate('COMMUNE','concatenate_unique', "NOM", filter:=intersects(geometry(@parent), $geometry))), ', ')
Le problème ce que la chaine de caractère en sortie ne sépare pas les nom des communes. Exemple : LanuéjolsSaint-Étienne-du-Valdonnez alors qu'il me faudrait le résultat Lanuéjols, Saint-Étienne-du-Valdonnez.
Pouvez vous me renseigner ?
Bonne journée à tous.
Hors ligne
#2 Fri 07 April 2023 15:00
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3947
Re: QGIS 3.28.3: probl array_to_string ?
Bonjour,
Faisons plus simple. aggregate tout seul fait déjà le job (voir exemple dans la doc)
Code:
aggregate('COMMUNE','concatenate_unique', "NOM", filter:=intersects(geometry(@parent), $geometry), concatenator:= ', ')
Et le pourquoi de votre souci est l'absence de séparateur dans la fonction aggregate. Le résultat en sortie d'aggregate est déjà un seul mot, tout est collé donc array contient une seule valeur et string_to_array peut pas faire mieux là-dessus.
Hors ligne