Pages: 1
- Sujet précédent - QGIS: NoData et calculatrice raster une relation complique - Sujet suivant
#1 Tue 25 August 2020 11:55
- MonsieurJ
- Participant occasionnel
- Lieu: Montpellier
- Date d'inscription: 8 Dec 2016
- Messages: 28
QGIS: NoData et calculatrice raster une relation complique
Bonjour,
Je viens vers vous à la recherche d'une explication plus que d'une solution. Sur mon projet actuel je suis amené à travailler énormément avec la calculatrice raster. Travaillant sur des indices bioclimatiques je me retrouve souvent à faire des mathématiques simples sur mes rasters.
Afin de travailler proprement je m'assure qu'une valeur no data (-9999) soit toujours défini pour combler les contours de mes zone d'étude (des département) et que mes rasters présentent bien la même étendue (même coordonnées pour les pixels de coins, d'origines, même nombre de pixels en X et en Y, et même résolution).
Nous somme d'accord que sur le principe une valeur NoData indique que le pixel est à ignorer dans les calculs, et que la valeur du pixel résultant d'un calcul sur celui-ci devrait être une valeur NoData aussi ?
Je ne comprend donc pas vraiment pourquoi lors d'une division d'un raster A par un raster B, ayant la même valeur de NoData sur des pixels alignés, j'ai en résultat une valeur de 1. Attention j'ai quand même fait des math en école primaire et je comprend que divisé un nombre par lui même est égal à 1, mais ces pixels étant de la valeur du NoData devrait être ignoré dans le calcul, non ?
Il y a surement une explication bête et méchante, je vous remercie d'avance si vous pouvez me l'apporter.
Monsieur J
Hors ligne
#2 Wed 26 August 2020 12:07
- Julien81
- Participant assidu
- Lieu: Giroussens
- Date d'inscription: 14 Jan 2019
- Messages: 171
Re: QGIS: NoData et calculatrice raster une relation complique
Bonjour,
à mon sens les valeurs NoData sont des valeurs "comme les autres" dans une donnée matricielle (on est d'ailleurs pas obligé de la spécifier à la création de la donnée), il s'agit donc plus d'une sorte de balise numérique permettant d'identifier des zones non couvertes par un échantillonnage, via une valeur identique. Du coup concernant les calculs il me semble tout à fait normal qu'elle soit prise en compte, l'utilité viens plutôt pour faire de l'affichage et ne pas avoir à la redéclarer à chaque ouverture pour un fichier donné, ainsi identifier automatiquement les cellules à écarter/rendre transparentes pour le rendu par exemple.
Peut-être fais-je fausse route auquel cas j'espère que quelqu'un viendra corriger et compléter!
Mais pour moi donnée matricielle/raster = grille de cellule avec valeur pour chaque, nodata=valeur particulière identifiée mais non écartée.
Donc votre raisonnement ensuite sur le calcul et la valeur 1 suite à division me parait tout à fait cohérent^^.
Blague à part si vous souhaitez identifier dans votre résultat de calcul matriciel les 1 issus des nodata vs 1 issu des données "mesurées" peut-être vectoriser en dur l'emprise : soit de vos cellules contenant les données à considérer soit de vos nodata du fichier raster pour ensuite réaffecter une nodata au raster de sortie.
Là aussi il y peut-être d'autres méthodes!
Cordialement
Hors ligne
#3 Wed 26 August 2020 15:06
- Renaud
- Membre
- Lieu: Ploemeur (56)
- Date d'inscription: 9 Mar 2006
- Messages: 2315
Re: QGIS: NoData et calculatrice raster une relation complique
Bonjour,
Même avis que Julien.
2 solutions :
- Refaire les calculs en remplaçant la calculatrice raster de QGIS par la fonction 'Grid calculator' de Saga, avec l'option 'use no data' = FALSE
- Utiliser la fonction 'Reclassify' de Saga sur chaque raster : data -> 1, nodata -> 0.
Puis produit des rasters pour obtenir les pixels pour lesquels on a aucun raster nodata
Enfin fonction 'Grid masking' pour limiter les résultats aux pixels sans nodata.
Renaud Mouche
Hors ligne
Pages: 1
- Sujet précédent - QGIS: NoData et calculatrice raster une relation complique - Sujet suivant