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

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Wed 15 December 2021 13:18

neskuik01
Participant assidu
Date d'inscription: 16 Feb 2015
Messages: 199

QGIS: regles & logique

Bonjour,

Les vacances arrivant à grand pas, je crois que mon cerveau a décidé de prendre de l'avance  ^^. Je bloque sur une discrétisation toute bête des données.

j'ai pour chaque années de 2012 à 2020 une colonne avec pour valeur des entiers qui décrive la présence d'un impact. lorsque la valeur est égale à 0 il y'a absence de phénomène.

Je dois cartographier la ou il y'a un impact sur 2 ans, 3 ans, 4, 5, 6,7 8ans je vois comment faire en testant toutes les combinaisons possibles:
impact2012!=0 and impact2013!=0 and impact2014+impact...+... =0
OR..

Mais je suis persuadé qu'il y a une méthode plus optimale non ?

EDIT: mon cerveau est revenu, je vais mettre toute les valeurs dans une liste et compter les valeurs différentes de 0.

Dernière modification par neskuik01 (Wed 15 December 2021 13:48)

Hors ligne

 

#2 Wed 15 December 2021 13:53

shirosaki
Participant actif
Lieu: Lyon
Date d'inscription: 30 Mar 2018
Messages: 125

Re: QGIS: regles & logique

Bonjour,
Vous pouvez utilisez une formule de ce genre :

with_variable( -- Déclaration d'une variable locale
'arr', -- Nom de la variable
array( "impact2020" , "impact2019" , "impact2018" ), -- définition de la variable
case when array_sum(@arr) > 0 then 1
else 0 end
-- condition
)


Il vous suffit d'alimenter la variable 'arr' avec les champs souhaitez et de mettre la condition que vous voulez

ps : si vous utilisez Qgis > 3.18 pas de problème
sinon il faut installer l'extension "array plus" qui rajouter la formule "array_sum"

pps : je viens de voir votre édition de message, plus de soucis donc smile

Dernière modification par shirosaki (Wed 15 December 2021 13:56)


Paul QUESNOT

Hors ligne

 

#3 Wed 15 December 2021 15:22

neskuik01
Participant assidu
Date d'inscription: 16 Feb 2015
Messages: 199

Re: QGIS: regles & logique

shirosaki a écrit:

Bonjour,
Vous pouvez utilisez une formule de ce genre :

with_variable( -- Déclaration d'une variable locale
'arr', -- Nom de la variable
array( "impact2020" , "impact2019" , "impact2018" ), -- définition de la variable
case when array_sum(@arr) > 0 then 1
else 0 end
-- condition
)


Il vous suffit d'alimenter la variable 'arr' avec les champs souhaitez et de mettre la condition que vous voulez

ps : si vous utilisez Qgis > 3.18 pas de problème
sinon il faut installer l'extension "array plus" qui rajouter la formule "array_sum"

pps : je viens de voir votre édition de message, plus de soucis donc smile


Merci wink

Hors ligne

 

Pied de page des forums

Powered by FluxBB