Ich muss die erreichten Werte von einem Bandverhältnis auf 0-255 normalisieren. Ich benutze QGIS. Wie mache ich das? Irgendwelche Ideen?
Ich muss die erreichten Werte von einem Bandverhältnis auf 0-255 normalisieren. Ich benutze QGIS. Wie mache ich das? Irgendwelche Ideen?
Antworten:
Sie können das Dienstprogramm gdal_translate verwenden. Verwenden Sie die Option -scale [src_min src_max [dst_min dst_max]] mit src_min und src_max als aktuellen min / max-Werten aus Ihren Daten und 0,255 als dst_min, dst_max. Ohne die eckigen Klammern.
Wenn Sie QGIS mit dem OSGeo4W-Paket installiert haben, haben Sie möglicherweise das Terminalprogramm 'MSYS'. Öffnen Sie das und verwenden Sie einfach den Befehl gdal_translate. Wenn nicht, wählen Sie in QGIS Raster -> Konvertierung -> Übersetzen. Wählen Sie Ihre Dateien und Optionen. Am unteren Rand des Fensters wird der vollständige Befehl gdal_translate angezeigt. Klicken Sie auf Bearbeiten und fügen Sie die Option -scale hinzu.
Im Folgenden werden Ihre Daten auf 8 Bit (0-255) erweitert.
smin=0; smax=255
( x - min(x) ) * (smax - smin) / ( max(x) - min(x) ) + smin
Es sollte ziemlich einfach sein, dies in die Rasteralgebra-Syntax in der Software Ihrer Wahl zu übersetzen. Sie müssen nur wissen, welche Min- und Max-Werte in Ihrem Raster enthalten sind. Wenn das Raster das Ergebnis eines Bandverhältnisses ist, kann man sicher -1 zu 1 annehmen, und die Syntax sollte ungefähr so aussehen.
NewRaster = ( OldRaster - -1 ) * 255 / ( 1 - -1 ) + 0
smax
Term sollte wirklich sein smax - smin
- im Beispiel (0-255) spielt es keine Rolle, aber wo smin
! = 0