最近使用Sentinelsat库在Copernicus Open Access Hub下载Sentienl数据时发现,数据总是处于offline状态,并且下载缓慢,一直以为是欧空局服务器不行。但进到Copernicus Open Access Hub官网发现,原来是Copernicus Open Access Hub即将在2023年9月份之后就不再使用。而新的数据发布地址改为了Copernicus Data Space Ecosystem:https://dataspace.copernicus.eu/
新网站在今年一月份就已经上线,但目前网上介绍该网站的帖子还没多少。这里就做一个简单介绍,以及切换到新网站后,如何使用脚本进行数据检索和下载Sentinel数据。
Copernicus Data Space Ecosystem一个特性就是:大部分数据没有offline!没有offline!没有offline!
1.进入网站https://dataspace.copernicus.eu/,即可进入网站主页。
2.要想使用该网站进行数据检索与下载,需要注册一个账号。
3.注册之后,登录自己账号。在首页的Explore data下拉框,有两个链接,一个是Copernicus Browser(https://dataspace.copernicus.eu/browser),这个功能即可跳转到界面化的数据检索和下载页面。另外一个是Data collections,这个链接是对目前网站上存放数据的介绍。接下来主要介绍Copernicus Browser。
4.进入Copernicus Browser,可以看到有两个标签页。一个是VISUALIZE,另外一个是SEARCH。VISUALIZE是根据自己设定的条件进行检索,只是浏览。而SEARCH是根据自己设定的条件进行检索,检索到自己喜欢的数据之后还可以下载。页面右边可以进行更改图层,可以画兴趣区等操作。
5.这里介绍SEARCH标签页。和其他卫星数据检索网站一样,指定传感器,指定数据级别,指定时间、指定区域,即可进行检索。可以看到这个网站能够提供OLCI传感的水产品:WFR和WRR!!!
6.我这里把时间范围设置为了2020年8月1日到2020年9月30日。目的就是看看有没有offline的数据,结果就是数据没有offline的提示。点击下载按钮,即可直接下载数据!!!但目前一个问题是,点了下载按钮,没法选择保存数据的路径。
Copernicus Data Space Ecosystem网站除了以上的介绍,还提供了其他服务,大家可以尽情探索。
1.能够在页面检索和下载数据了,那自然要想到能不能用脚本完成这些任务。很显然是可以的,并且官方提供了好几个API接口。这些接口不止能检索和下载数据,简单的数据分析和处理也都可以做。关于各数据API的介绍见:https://documentation.dataspace.copernicus.eu/APIs.html
2. 我这边主要是使用OData进行数据的检索和下载,其他API大家自行探索下吧。OData接口说明见:https://documentation.dataspace.copernicus.eu/APIs/OData.html。
3. 在使用OData进行数据检索时,不用账号密码进行认证,直接构建HTTP请求的字符串,就能获得检索结果。官网提供了各种情况的实例。并分为了HTTP Request和Python脚本,大家可以一个一个看看,非常详细。这里主要说几个要注意的点。
4.默认检索结果是20个,最大是1000。如果要检索的结果超过20,则在请求链接中要加上$top=N。
4. 值得特别注意的是数据的ID号和数据对应的快试图ID号是不一样的,这和Copernicus Open Access Hub提供数据快视图链接的方式有区别。下载数据快试图的ID,也无须进行账号密码验证。这是快试图下载链接格式和一个样例:
https://catalogue.dataspace.copernicus.eu/odata/v1/Assets(快试图ID号)/$value
例子:
https://catalogue.dataspace.copernicus.eu/odata/v1/Assets(f4a87522-dd81-4c40-856e-41d40510e3b6)/$value
5.那么怎么去获取数据对应快试图的ID号,这就需要在请求链接中加上$expand=Assets参数,这样响应中才会包含快视图的信息。快视图的信息保存在一个字典里,里边包含了ID号。不过这个网站提供的快试图十分模糊,比原来Copernicus Open Access Hub提供的快试图还要模糊。
6.最后是数据下载。数据下载就需要进行账号密码验证了。在数据下载之前需要利用账号密码去请求一个access token,然后把access token加入到下载请求字符串中。
7.access token的获取见:https://documentation.dataspace.copernicus.eu/APIs/Token.html。提供了cURL和Python脚本的事例。这里的账号名是注册时使用的邮箱号。
8.access token的有效时间为10分钟,如果过期了需要重新请求。在重新请求时,有两种方案,一种还像上边一样使用账号密码。另外一种是使用Refresh Token。在获取access token时,其实还返回了一个Refresh Token,Refresh Token的有效期为60分钟。
9.数据下载的方式,见:https://documentation.dataspace.copernicus.eu/APIs/OData.html#product-download。
10.我这边使用wget的下载方式。wget数据下载的命令格式为:
wget --header "Authorization: Bearer 你获得的access token" 'http://catalogue.dataspace.copernicus.eu/odata/v1/Products(数据ID号)/$value' -O 数据保存位置
组合好的字符串放在命令行提示符中,回车就可以下载了(不过首先要配置好wget工具)。可以使用Python获取access token和根据需要检索数据。然后根据检索到的数据ID和access token构建下载请求字符串,使用subprocess库调用wget下载。
数据链接格式为:
http://catalogue.dataspace.copernicus.eu/odata/v1/Products(数据ID号)/$value
11.powershell中,会把wget命令转为它内置的下载工具,然后报错,目前还不知道怎么解决。大家也可以多多尝试其他下载方案。
理清思路,就可以使用这种方案批量检索和下载数据啦!只能说到这里啦!
1.Copernicus Data Space Ecosystem除了一个F&Q的网页,回答了用户比较关心的问题。https://documentation.dataspace.copernicus.eu/FAQ.html
比如数据是否offline,还有一些其他的,大家自行阅读。
2.他们还开通了问答博客,大家使用过程中遇到的问题可以提问,官方的回复非常的热情。可能目前使用的人比较少,问答博客没有几个问题。hh,我还提问了,回复挺及时的。https://helpcenter.dataspace.copernicus.eu/hc/en-gb/community/topics