一、代码
import os
import gdal
file1 = r'G:\镶嵌\S2A_MSIL2A_20190725T040551_N0213_R047_T47SNC_20190725T074649.SAFE\MTD_MSIL2A.xml'
data = gdal.Open(file1)
print(file1)
print(data)
print(data.GetSubDatasets())
结果如下:
二、报错
上述是解决问题之后的结果,第一次时,出现以下报错:
‘NoneType’ object has no attribute ‘GetSubDatasets’
报错原因:
打开哨兵2需要2.4.4及以上版本
解决:
1、查看自己的gdal版本
在Anaconda Prompt中输入如下语句
conda list
(这是升级后的版本,如果是2.4.4以下版本需要升级)
2、下载较新的gdal包
方式一:进入官网https://www.lfd.uci.edu/~gohlke/pythonlibs/#gdal ,选择和自己python想匹配的gdal(cp37代表python3.7)
方式二:用百度网盘下载(上述网址为国外,下载速度很慢)
链接:https://pan.baidu.com/s/1WnnRpKdbLpGyjWPh5KmkHA
提取码:vj23
3、找到gdal包的位置
在Anaconda Prompt中输入如下语句
pip install gdal
结果如下:
(geoscpt) C:\Users\xxj>pip install gdal
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple/
Requirement already satisfied: gdal in d:\programdata\anaconda3\envs\geoscpt\lib\site-packages (3.0.4)
gdal的位置为: d:\programdata\anaconda3\envs\geoscpt\lib\site-packages
4、解压安装
将gdal包放到上述目录中,然后解压
5、运行(可省略哦)
解压后在运行一次如下语句
pip install gdal