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

GeoDataDays 2025

#1 Wed 23 July 2025 10:53

hugo mtda
Participant occasionnel
Date d'inscription: 11 Mar 2024
Messages: 25

QGIS 3.34: selection dynamique dans un modeleur

Bonjour,

Je suis en train de faire un modeleur et j'aimerai pouvoir sélectionner de façon dynamique des valeurs à conserver.
Ce que j'ai fait, c'est d'avoir une liste en entrée (énumération) avec l'ensemble des valeurs que je peux conserver. Ce sont celles du champs NATURE de la BD TOPO et je les ai renseignées exactement de la même façon qu'elles sont écrite dans la BD TOPO.
Ensuite pour faire ma sélection dynamique j'utilise sélection par expression, j'ai testé les formules suivantes :

"NATURE" IN (@voies_conservees)
"NATURE" IN (array(@voies_conservees))
array_to_string(array(@voies_conservees), ', ')

@voies_conservees étant ma liste à choix multiples

Aucune de ces formules n'a fonctionné, je me demande donc si c'est possible de faire une sélection dynamique à partir d'une liste à choix multiples ou alors si je m'y prend juste mal.

Est-ce que quelqu'un aurait une réponse ou une solution à m'apporter ?

Merci d'avance et bonne journée

Hors ligne

 

#2 Wed 23 July 2025 11:09

GlaDal
Participant assidu
Date d'inscription: 30 Aug 2013
Messages: 1173

Re: QGIS 3.34: selection dynamique dans un modeleur

Bonjour, est-il possible de partager votre projet. J'essayerai de trouver une idée. C'est possible d'utiliser ENUMERATION seulement je vous laisse lire ce post pour en comprendre le fonctionnement : https://georezo.net/forum/viewtopic.php?id=133696

Hors ligne

 

#3 Wed 23 July 2025 11:40

hugo mtda
Participant occasionnel
Date d'inscription: 11 Mar 2024
Messages: 25

Re: QGIS 3.34: selection dynamique dans un modeleur

Merci pour le lien vers le post, le fonctionnement est déjà plus clair !

Je vous joins un projet simplifié avec une partie des données et du modeleur, merci beaucoup pour votre aide.

Dernière modification par hugo mtda (Wed 23 July 2025 11:51)


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

Hors ligne

 

#4 Wed 23 July 2025 12:33

GlaDal
Participant assidu
Date d'inscription: 30 Aug 2013
Messages: 1173

Re: QGIS 3.34: selection dynamique dans un modeleur

Bonjour,

A quoi vous sert l'algo 'champ commun' ? J'imagine que c'est pour gérer les intégrations avec vos collègues ou pour gérer vos traitements. J'essaye de comprendre à titre perso :-) Je suis en train de regarder pour voir si j'arrive à faire un truc.

Hors ligne

 

#5 Wed 23 July 2025 12:49

hugo mtda
Participant occasionnel
Date d'inscription: 11 Mar 2024
Messages: 25

Re: QGIS 3.34: selection dynamique dans un modeleur

Oui c'est ça, il sert pour la suite des traitements que j'ai retiré de ce modeleur d'exemple. C'est pour faire une jointure plus tard entre le tampon initial et le tampon découpé par ma limite.

Je suis continue aussi à chercher une solution, dans mon modeleur je créé un champs liste qui contient les informations de mon énumération (donc des valeurs de 0 à 7). J'ajoute aussi dans ma couche à un champ numérique de 0 à 7 selon le type de voirie puis je fais ma sélection si ce champ contient une des valeurs de ma liste. Ça fonctionne si j'ai une seule valeur dans ma liste, mais dès que j'en ai plus d'une ça ne fonctionne plus. J'ai essayé d'utiliser  array_to_string mais je n'y parvient pas pour l'instant.

Hors ligne

 

#6 Wed 23 July 2025 13:42

GlaDal
Participant assidu
Date d'inscription: 30 Aug 2013
Messages: 1173

Re: QGIS 3.34: selection dynamique dans un modeleur

J'ai tenté plusieurs choses mais sans résultat pour le moment. J'essaye de faire de nouveaux tests d'ici la fin de semaine.

Hors ligne

 

#7 Wed 23 July 2025 15:07

hugo mtda
Participant occasionnel
Date d'inscription: 11 Mar 2024
Messages: 25

Re: QGIS 3.34: selection dynamique dans un modeleur

Merci beaucoup pour votre aide, je viens de trouver la solution !

Je vais essayer de la décrire le plus clairement possible, si ça peut servir à d'autres.
Je fais comme sur le post cité précédemment, c'est à dire que je vais convertir mes valeurs textuelles entrées dans l’énumération en valeurs numériques.
Par exemple dans l'ordre de mon énumération j'ai : Bretelle, Chemin, Sentier
Je vais ajouter un champ numérique que je vais appeler "Code", les valeurs associées, soit : Bretelle = 0, Chemin = 1, Sentier = 2
Ensuite dans ma fonction extraire par expression je vais utiliser la formule suivante :

Code:

array_contains( @mon_énumération ,"Code") = TRUE

Cela m'extraira seulement les valeurs choisies en entrée dans l'énumération.

Dernière modification par hugo mtda (Wed 23 July 2025 15:08)

Hors ligne

 

#8 Wed 23 July 2025 15:17

GlaDal
Participant assidu
Date d'inscription: 30 Aug 2013
Messages: 1173

Re: QGIS 3.34: selection dynamique dans un modeleur

Rha bravo ! Et merci pour le partage !

Hors ligne

 

Pied de page des forums

Copyright Association GeoRezo