我是在 Python 中使用 GDAL 的新手,我正在尝试使用它从 Sentinel 2 SAFE 产品中检索波段数据。我设法提取了波段数组,但无法正确缩放它。
提取波段 4 的未缩放数组:
import gdal
product_path = "S2B_MSIL2A_20200124T101219_N0213_R022_T33UUU_20200124T121752.SAFE"
dataset = gdal.Open(product_path + "MTD_MSIL2A.xml")
bands10m_path = dataset.GetSubDatasets()[0][0]
bands10m_dataset = gdal.Open(bands10m_path)
b4_band = bands10m_dataset.GetRasterBand(1)
b4_array = b4_band.ReadArray()
到目前为止一切顺利,但数组的数据类型是uint16
,值范围从0
到16896
。
b4_band.GetMinimum()
并且b4_band.GetMaximum()
都返回None
。
并b4_band.GetStatistics(True,True)
返回[0.0, 2829.0, 347.05880000000104, 334.8397839901348]
(作为最小值、最大值、平均值、标准差)。
这是否有助于我以某种方式提取正确的比例?我一无所知...