Pourquoi existe-t-il une différence entre NDVI à l'aide de Sentinel 2, dans ArcMap et QGIS?

8

J'ai essayé de calculer le NDVI pour une scène en utilisant Sentinel 2 bandes 4 (rouge) et 8 (NIR). Je l'ai d'abord fait dans ArcMap puis dans QGIS. Dans les deux logiciels, j'ai utilisé la calculatrice raster et inclus la formule NDVI de base = (NIR-Rouge) / (NIR + Rouge).

ArcMap m'a donné une plage de 0 à 9221 (cela varie avec l'étirement appliqué) tandis que QGIS m'a donné des valeurs plus plausibles de 0,0258 à 0,5255.

J'ai lu brièvement que Sentinel 2 est une réflectance TOA et a un facteur d'échelle de 10000, qui peut apparemment être trouvé dans le fichier xml qui est téléchargé avec les images. Je n'ai jamais trouvé ce facteur d'échelle mentionné dans le fichier xml que j'ai téléchargé.

Pourquoi y a-t-il cette différence? Comment se fait le calcul sur QGIS?

tg110
la source
Comment pouvez-vous calculer le NDVI, avec une calculatrice raster ou un outil / plugin? Il est évident que quelque chose s'est mal passé dans le calcul d'Arcmap, pouvez-vous modifier votre message pour indiquer exactement comment vous l'avez calculé?
HDunn
@ HDunn- J'ai inclus des détails comme vous l'avez suggéré. Je n'ai utilisé aucun plugin, juste la calculatrice raster dans ArcMap et QGIS.
tg110
Essayez de forcer Arcmap à les traiter comme des flotteurs, au lieu du 8/16 bits. pour ce faire, multipliez l'un des arguments par 1.0, notez le .0. Quelque chose comme ((NIR-Rouge) * 1.0) / (NIR + Rouge).
HDunn
@ HDunn- cela a fonctionné! mais la plage de valeurs dans ArcMap -0,75468 à 0,877372 est très différente de la plage que j'ai obtenue en utilisant QGIS (0,0258 à 0,5255). Laquelle est correcte? Et pourquoi y a-t-il cette différence?
tg110
L'étirement est-il similaire? essayez de calculer des statistiques, ou essayez d'identifier un pixel individuel dans les deux programmes, il devrait être le même, ou juste un chiffre d'arrondi de précision plus loin
HDunn

Réponses:

3

Arcmap est connu pour conserver le type de raster et ne pas traiter les valeurs comme des décimales / flottantes lorsqu'elles sont calculées à partir de rasters entiers 16 bits.

Pour forcer Arcmap à traiter le résultat du calcul raster comme un flottant, vous devez multiplier l'un des arguments par 1,0, ou simplement ajouter un «.0» à un nombre constant ou réel dans la formule.

Dans votre cas (NIR-Red)*1.0/(NIR+Red)suffira.

HDunn
la source
@ HDunn- J'ai appliqué le même étirement et aussi calculé des statistiques QGIS- Minimum = -0,684, Maximum = 0,817, Moyenne = 0,252, StdDev = 0,113 ArcMap- Min = -0,7546, Max = 0,87737, Moyenne = 0,252, StdDev = 0,113 Je veux dire presque la même. Je me demande pourquoi la légère différence persiste.
tg110
0

Avez-vous vérifié les histogrammes initiaux des bandes respectives que vous utilisez? Il est possible que chaque logiciel interprète différentes valeurs sans données qui peuvent fausser les résultats ....

Alexandre
la source
@ Alexander- C'est donc une autre question que j'avais. Les valeurs de la bande NIR dans QGIS sont 527-3234, mais dans ArcMap, elles sont 0-9212. Je ne comprends ni comment ni pourquoi.
tg110
Cela pourrait être la source de votre problème. Lorsque vous affichez l'histogramme, vous connaissez souvent votre valeur sans données car elle apparaît au début ou à la fin de votre histogramme, souvent avec un grand nombre de pixels. Ce que vous devez faire est un clip d'histogramme - et coupez les valeurs sans données - puis refaites vos indices et faites-nous part de vos résultats :)
Alexander
@ Alexander- Je ne sais pas comment faire un clip d'histogramme. Comment ferais-je ça?
tg110
hmmm- Je ne sais le faire que dans les erdas, c'est-à-dire en utilisant la fonction Rescale. Cependant, avez-vous déjà essayé de faire votre NDVI sans le calculateur de bande dans Arcmap? vérifier ce lien: desktop.arcgis.com/en/arcmap/10.3/manage-data/raster-and-images/…
Alexander
Fondamentalement, vous pouvez redimensionner les histogrammes dans la fenêtre d'analyse d'image (souvent, il exclura aucune donnée par défaut) - assurez-vous que les bonnes bandes sont attribuées en allant dans le menu d'options d'analyse d'image. essayez ensuite votre ndvi et voyez si cela fonctionne.
Alexander