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 Sun 23 February 2025 09:35

guibouvier
Participant actif
Date d'inscription: 23 Jan 2007
Messages: 111

QGIS/Calculatrice Raster: Erreur de syntaxe avec Nodata

Bonjour

j'ai parcouru les fils de discussion qui traitent des soucis de calculatrice raster avec des conditions et du no_data. Malgré tout, je ne parviens pas à mes fins.
J'ai deux rasters qui sont deux MNT à deux dates d'intervalle du meme secteur. J'ai pu les soustraire pour obtenir un nouveau raster ("mon_raster") qui donne les écarts altimétriques ( de -2,5m à +7,5m de différence entre ces deux dates).

J'aimerai désormais obtenir un nouveau raster qui ne conserve que les données entre -0,2m et +0,2m et donc qui:
* classe les pixels avec valeurs inférieures à -0,2m en no_data
* conserve les valeurs des pixels comprises entre -0,2m et +0,2m
* classe les pixels avec les valeurs supérieurs à +0,2m en no_data

Voici la formule que j'ai tenté dans la calculatrice raster mais qui me renvoie un "erreur parsing formule"

Code:

("mon_raster"<-0,2)*no_data + (("mon_raster">-0,2 AND mon_raster<0,2)*"mon_raster") +  ("mon_raster">0,2)*no_data

Je précise que je suis sous Qgis 3.34

Merci d'avance pour votre aide, Gui

Hors ligne

 

#2 Sun 23 February 2025 23:02

SANTANNA
Moderateur
Lieu: Angers
Date d'inscription: 18 Jan 2008
Messages: 4119

Re: QGIS/Calculatrice Raster: Erreur de syntaxe avec Nodata

Bonsoir,
Je pense que ce devrait être mon_raster@1 (indiquant la bande concernée), que le texte no_data n'est pas une valeur numérique (multipliable donc) et m'interroge sur la virgule coe séparateur décial. Je vous invite à étudier les exemples de la documentation et tester quelque chose du style :

Code:

if("mon_raster@1">-0.2 AND "mon_raster@1"<0.2, "mon_raster@1", -999)

utilisant -999 comme représentation du no_data, mais peut-être que cette deuxième valeur n'est pas requise...?

Hors ligne

 

#3 Mon 24 February 2025 17:31

guibouvier
Participant actif
Date d'inscription: 23 Jan 2007
Messages: 111

Re: QGIS/Calculatrice Raster: Erreur de syntaxe avec Nodata

SANTANNA a écrit:

Bonsoir,
Je pense que ce devrait être mon_raster@1 (indiquant la bande concernée), que le texte no_data n'est pas une valeur numérique (multipliable donc) et m'interroge sur la virgule coe séparateur décial. Je vous invite à étudier les exemples de la documentation et tester quelque chose du style :

Code:

if("mon_raster@1">-0.2 AND "mon_raster@1"<0.2, "mon_raster@1", -999)

utilisant -999 comme représentation du no_data, mais peut-être que cette deuxième valeur n'est pas requise...?


Bonjour

Vous aviez raison sur toute la ligne !
En appliquant votre formule, cela fonctionne parfaitement.

Merci de votre aide

Hors ligne

 

Pied de page des forums

Copyright Association GeoRezo