#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

