从新版哥白尼数据空间生态系统批量下载哨兵Sentinel数据
给出了可直接运行的Sentinel-2 MSI Sentinel-3 OLCI的批下载代码
今年10月底,以往用来下载哨兵数据的哥白尼开放中心(Copernicus Open Access Hub, scihub.copernicus.eu)将会停运,接替它的是功能更加强大的哥白尼数据空间生态系统(Copernicus Data Space Ecosystem, dataspace.copernicus.eu)。该系统不但有着更加清爽、人性化的数据检索界面,还有着极其强大的在线可视化系统,能够直接计算NDWI、NDVI等常用指数、进行任意波段叠加、进行简单的波段运算等。最重要的是解决了之前哨兵数据下载的一大痛点——Offline数据,该系统上的绝大部分数据都可直接下载,不需要像以前那样加入购物车来激活数据。
在线可视化假彩色哨兵2影像
此前,CSDN博主hyzhao_RS已经详细介绍了如何在该系统上批量下载数据,点击下方链接或阅读原文即可浏览。此处我参考他的流程,给大家分享已经编译好的Sentinel-2 MSI、Sentinel-3 OLCI数据的批量下载程序,大家只需要跟随下文的步骤配置账号密码、检索区域等参数便可一键运行。卫星宫中号“海研人”后台回复“哨兵”领取批下载代码。
《在Copernicus Data Space Ecosystem下载Sentinel数据及使用脚本检索和下载数据》
https://blog.csdn.net/mrzhy1/article/details/132921422
需要设置的参数
卫星宫中号“海研人”后台回复“哨兵”领取批下载代码。
运行程序进行下载前建议大家看一遍上面那篇CSDN文章以及下面这个官方的OData API的文档,文档介绍了如何在检索时应用各种条件来更好的筛选你所需要的数据(如检索区域、云量等),当然懒得看的话直接按照我下面写的常用的检索条件配置好运行就行。
OData API Document:
https://documentation.dataspace.copernicus.eu/APIs/OData.html
① 起止日期 startDate endDate
没啥好说的,别把startDate填的比endDate还早就行,由于新版系统中基本不存在Offline数据,大家可以放心的把startDate填的早一些(但检索结果上限为1000条,后面会说)。
② 所需卫星数据 satellite
官方文档说支持下载以下卫星数据,需要哪种就填入satellite就行。但我只试过Sentinel-2和3。
③ 包含特定字符串 str_in_name
OData API可以在检索时筛选出包含特定字符串的数据,例如在检索Sentinel-2 MSI数据时将该项设为特定区块名称,如'RUQ'(长江口口内)便可筛选出该区块的数据,设为L1C便可筛选出一级产品;检索Sentinel-3 OLCI数据时将该项设为EFR便可筛选出全分辨率数据。非常灵活,大家可自己按需设置。
筛选RVQ区块的Sentinel-2 MSI数据
④ 检索区域 roi_geojson
检索时可筛选出包含指定坐标或多边形区域的数据,对于多边形区域,进行检索时需要输入构成多边形的每个点的坐标,如下:
OData.CSC.Intersects(area=geography'SRID=4326;POLYGON((122 32, 122 30.5, 124 30.5, 124 32, 122 32))')
一个一个输当然过于麻烦了,此处我推荐大家在下面这个网站中绘制自己需要的区域的geojson文件,然后在python中读取并编写为检索时需要的格式,这一步我给出的程序里做好了,大家只需要根据以下步骤绘制geojson文件即可。
1. 打开geojson.io网站
https://geojson.io/#map=5/32/121
2. 选择红圈处的多边形/长方形绘制工具 绘制你所需的区域
3. 在左上角将绘制好的区域导出为geojson
4. 绘制完成 确保程序运行时路径设置正确
给大家的程序包里有两个我常用区域的geojson文件,大家可以作为参考。
⑤ 数据保存路径 output_dir
没啥好说的,注意斜杠/。
⑥ 账号密码 email password
此处的账号密码是哥白尼数据空间生态系统的账号密码,请大家在以下链接自行注册。
dataspace.copernicus.eu
设置好以上六项后程序应该就能直接运行或在cmd中调用了,但还有以下几个需要注意的点。
丨 检索数量的上限
程序中添加了"&$top=1000"这个属性,因此一次检索最多得到1000条数据,如果日期跨度过大数据量过多请各位自行调整检索时的日期设置。
丨 快视图的下载
获得快视图的下载链接不需要账号密码,大家可将为程序中这一部分取消注释,且不必运行这之后的部分,便可生成一个包含所有检索到的数据的快视图下载链接的txt文件。
丨 增加/减少检索条件
每个检索条件之间要用" and "相连(包含左右的空格),如果想在我程序的基础上删改检索条件需要注意这一点。
丨 与官方文档以及hyzhao_RS文章的不同
此批下载程序完全遵守上面提到的hyzhao_RS那篇文章的思路,即OData API获取数据ID号来生成wget下载字符串再用subprocess调用wget进行下载。但在构建wget下载字符串时,数据下载链接外层的括号不知为何我这里要用双引号才能不报错,而hyzhao_RS的文章和官方文档中都为单引号,如果各位运行时wget部分报错请注意这一点。
'http://catalogue.dataspace.copernicus.eu/odata/v1/Products(db0c8ef3-8ec0-5185-a537-812dad3c58f8)/$value'
我的程序中这部分字符串的外层是双引号""
程序运行效果
在cmd中调用,效果如下,速度还是阔以滴。
卫星宫中号“海研人”后台回复“哨兵”领取批下载代码。
更多推荐
所有评论(0)