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é ?

#1 Aujourd'hui 12:03

NMonteix
Participant occasionnel
Date d'inscription: 7 Jan 2020
Messages: 13

QGIS 3.40 => 3.44: changement fonction aggregate

Bonjour
Entre la version 3.40 et la version 3.44 de QGIS, quelque chose a changé dans la syntaxe de la fonction AGGREGATE mais je n'arrive pas à déterminer quoi.
Ci-dessous la syntaxe utilisée, restée inchangée d'une version à l'autre.
Le but est de récupérer la valeur du champ "Nombre" en fonction de plusieurs conditions dont une condition spatiale d'inclusion dans un polygone et de l'afficher en symbologie.

Code:

CASE
When "Nombre"=0 then '?'
When "Nature"='cheval' AND aggregate(
layer:=@layer_name,
aggregate:='sum',
expression:="Nombre",
filter:="Nature" =attribute(@parent,'Nature') 
AND intersects(buffer(@geometry,5), buffer(geometry(@parent),5)))>1
 Then aggregate(
layer:=@layer_name,
aggregate:='sum',
expression:="Nombre",
filter:="Nature" =attribute(@parent,'Nature') 
AND intersects(buffer(@geometry,5), buffer(geometry(@parent),5)))
END

En 3.40, le résultat est conforme aux attentes.

En 3.44, alors que la prévisualisation dans la fenêtre d'édition de l'expression est juste, l'affichage correspond à la somme de toutes les valeurs.

Que faudrait-il corriger pour que cela fonctionne en 3.44?

Merci d'avance

Hors ligne

 

#2 Aujourd'hui 15:39

NMonteix
Participant occasionnel
Date d'inscription: 7 Jan 2020
Messages: 13

Re: QGIS 3.40 => 3.44: changement fonction aggregate

Très probablement un bug et signalé comme tel (https://github.com/qgis/QGIS/issues/68136)

Hors ligne

 

Pied de page des forums

Copyright Association GeoRezo