Die Sentinel 2 L1C-Images begannen als 12-Bit-Bilder. Dies wurde jedoch Anfang 2016 geändert, als die ESA QUANTIFICATION_VALUE von 1000 auf 10000 änderte. Jetzt wird L1C als UINT16
JP2-Datei mit (mindestens?) 15 signifikanten Bits codiert. Dies ist aus gdalinfo
einer aktuellen B02.jp2
Datei:
Band 1 Block=1024x1024 Type=UInt16, ColorInterp=Gray
Overviews: 5490x5490, 2745x2745, 1372x1372, 686x686
Overviews: arbitrary
Image Structure Metadata:
COMPRESSION=JPEG2000
NBITS=15
In Anbetracht dessen scheint das Limit eher 32767 als 65535 zu sein. Jeder JPEG2000-Leser gibt den Beispielwert als zwei Bytes zurück, sodass jeder Code, der ein 16-Bit-Bild erwartet, sicher ist, selbst wenn NBITS in Zukunft auf 16 geändert wird.
Ein weiterer Hinweis: Das Produkt metadata.xml, das mit allen L1C-Kacheln geliefert wird, enthält Informationen zu speziellen NO_DATA- und SATURATED-Werten, die in neueren Produkten folgendermaßen aussehen:
<Special_Values>
<SPECIAL_VALUE_TEXT>NODATA</SPECIAL_VALUE_TEXT
<SPECIAL_VALUE_INDEX>0</SPECIAL_VALUE_INDEX>
</Special_Values>
<Special_Values>
<SPECIAL_VALUE_TEXT>SATURATED</SPECIAL_VALUE_TEXT
<SPECIAL_VALUE_INDEX>65535</SPECIAL_VALUE_INDEX>
</Special_Values>
Der Wert SATURATED von 65535 zeigt an, dass tatsächlich beabsichtigt wurde, den gesamten Bereich von uint16 zu nutzen.
Wenn der Algorithmus für L2A alle Spiegelreflexionen, DEM-Fehlregistrierungen, emittierte Strahlung und andere Ursachen für ein Reflexionsvermögen von mehr als 100% ideal korrigiert, sollten Sie eine Ausgabe im Bereich von 0 bis 10000 erhalten. Da keine atmosphärische Korrektur ideal ist, können Sie erwarten, dass einige Werte außerhalb dieses Bereichs liegen, höchstwahrscheinlich bis zu 65534, wobei 65535 wiederum für GESÄTTIGTE Pixel reserviert ist.