回答:
Sentinel 2 L1Cイメージは12ビットとして開始されましたが、ESAがQUANTIFICATION_VALUEを1000から10000に変更した2016年の初めに変更されましたUINT16
。L1Cは、(少なくとも?)15ビットのjp2ファイルとしてエンコードされます。これはgdalinfo
最近のB02.jp2
ファイルからのものです:
Band 1 Block=1024x1024 Type=UInt16, ColorInterp=Gray
Overviews: 5490x5490, 2745x2745, 1372x1372, 686x686
Overviews: arbitrary
Image Structure Metadata:
COMPRESSION=JPEG2000
NBITS=15
これを考慮に入れると、制限は65535ではなく32767のようです。JPEG2000リーダーはサンプル値を2バイトとして返すため、将来NBITSが16に変更された場合でも、16ビットイメージを期待するコードは安全です。
別のメモ-すべてのL1Cタイルに付属する製品のmetadata.xmlには、特別なNO_DATA値とSATURATED値に関する情報が含まれています。これは、最近の製品では次のようになります。
<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>
SATURATED値65535は、意図が実際にuint16の全範囲を使用することを示していました。
L2Aに関しては、アルゴリズムがすべての鏡面反射、DEMの位置ずれ、放出された放射、および100%を超える反射率の他の原因を理想的に修正した場合、0..10000の範囲の出力が得られます。大気補正は理想的ではないため、一部の値はこの範囲外であることが予想されます。おそらく65535までで、65535はSATURATEDピクセル用に予約されています。