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 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: 3811

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

 

Pied de page des forums

Powered by FluxBB