Sentinel2 数据在GDAL中读取类似于科学数据集的获取方式,如图:
如常用的蓝、绿、红、近红外常用波段,就存储于第一个数据集list[0][0],list[0][1]为描述信息。
GDAL中读取数据示例如下:
from osgeo import gdal
import numpy as np
import os
os.environ['CPL_ZIP_ENCODING'] = 'UTF-8'
filename = "G:\mypython3\gdal\data\S2A_MSIL1C_20170428T030541_N0205_R075_T49SER_20170428T031351.SAFE.zip"
root_ds = gdal.Open(filename)
ds_list = root_ds.GetSubDatasets()
sub = gdal.Open(ds_list[0][0])
sub_arr = sub.ReadAsArray()
dimen = np.array(sub_arr).shape
print(dimen)
print(f'打开数据为:{ds_list[0][1]}')
print(f'投影信息:{sub.GetProjection()}')
print(f'栅格波段数:{sub.RasterCount}')
print(f'栅格列数(宽度):{sub.RasterXSize}')
print(f'栅格行数(高度):{sub.RasterYSize}')