Ich habe versucht, den NDVI für eine Szene mit den Sentinel 2-Bändern 4 (rot) und 8 (NIR) zu berechnen. Ich habe es zuerst in ArcMap und dann in QGIS gemacht. In beiden Softwareprogrammen habe ich den Rasterrechner verwendet und die grundlegende NDVI-Formel = (NIR-Rot) / (NIR + Rot) eingefügt.
ArcMap gab mir einen Bereich von 0 bis 9221 (dies hängt von der angewendeten Dehnung ab), während QGIS mir plausiblere Werte von 0,0258 bis 0,5255 gab.
Ich habe kurz gelesen, dass Sentinel 2 TOA-Reflexion ist und einen Skalierungsfaktor von 10000 hat, der anscheinend in der XML-Datei zu finden ist, die mit den Bildern heruntergeladen wird. Ich habe diesen Skalierungsfaktor in der heruntergeladenen XML-Datei nie gefunden.
Warum gibt es diesen Unterschied? Wie erfolgt die Berechnung in QGIS?
Antworten:
Arcmap ist dafür berüchtigt, den Rastertyp beizubehalten und Werte nicht als Dezimalstellen / Gleitkommazahlen zu behandeln, wenn sie aus 16-Bit-Ganzzahl-Rastern berechnet werden.
Um Arcmap zu zwingen, das Ergebnis der Rasterberechnung als Float zu behandeln, sollten Sie eines der Argumente mit 1,0 multiplizieren oder einfach eine '.0' an eine beliebige Konstante oder reelle Zahl in der Formel anhängen.
In Ihrem Fall
(NIR-Red)*1.0/(NIR+Red)
wird ausreichen.quelle
Haben Sie die anfänglichen Histogramme der jeweiligen Bänder überprüft, die Sie verwenden? Es ist möglich, dass jede Software unterschiedliche Werte ohne Daten interpretiert, die die Ergebnisse verzerren können.
quelle