Sentinel数据批量下载(sentinelsat包)

声明:本文转自大佬博文:https://blog.csdn.net/lidahuilidahui/article/details/90486402#sentinelsat_83,大佬博学,关于哨兵数据的各种处理及下载相关可以移步大佬博客,这里我只是以记录为主自己备份。

 

博主因为科研需要,经常需要下载哨兵2数据,无奈ESA官方的哥白尼分发网站并不好用,尤其是有一个 账号单次只能下载2景数据的限制,亟需批量下载的工具。

需要说明的是,无论什么方法,有一个ESA哥白尼中心的账号是必须的,否则没有下载权限。

紫色为博主标注及自己做的。

 

使用SNAP批量下载

官方给的SNAP批量下载请移步原作者博文:https://blog.csdn.net/lidahuilidahui/article/details/90486402#sentinelsat_83

 

这里说下第三方下载方式

Sentinel-1卫星数据

关于Sentinel-1数据的批量下载,可以到下面的Vertex网站(美国阿拉斯加卫星设备处)下载:https://vertex.daac.asf.alaska.edu/#
该网站帮助文档可以查看批量下载功能,见链接:
https://vertex.daac.asf.alaska.edu/help
这个网站可以下载包括Sentinel-1在内的多种SAR数据(如ALOS-1、Radarsat-1、ERS-1/2等)。
我的朋友告诉我这个网站需要翻墙才能下载数据,但是博主亲测不用翻墙也可以。
缺点是:下载速度经常很慢很慢。

博主批注:第一次听说这个分发中心,不过不能当哨兵2 ,速度还慢的话,没必要尝试了

Sentinel-2 卫星数据

USGS(美国地质调查局网站)提供了关于Sentinel-2数据的批量下载的功能,需要安装Java8(或Java7)开发工具包(JDK)及Bulk Dowload Application(BDA)软件。请参照帮助文档实现批量下载。
USGS网址:https://earthexplorer.usgs.gov/
帮助文档:https://lta.cr.usgs.gov/EEHelp/ee_help
缺点:下载流程复杂(从下订单、处理完成到下载,需要接收多个邮件),并且下载速度很慢。
但是美帝的USGS网站的确提供了许多的免费资源(Landsat ,MODIS,DEM数据等等),还是要称赞一下的。
抱歉,Sentinel-3数据我使用的较少,也没有去找其第三方下载网站。

博主批注:第一次听说这个分发中心,不过不能当哨兵2 ,速度还慢的话,没必要尝试了

sentinelsat包简介

  1. sentinelsat包是搜索、下载和检索来自哥白尼数据开放访问中心的Sentinel卫星影像数据Python模块包,易于安装,易于使用

  2. sentinelsat包实现了哥白尼数据开放访问中心提供两个API(OData和OpenSearch)对应的查询方法,使得对Sentinel卫星数据进行筛选、排序等操作更加方便

  3. sentinelsat包由Marcel Wille, Kersten Clauss 等人长期维护和更新,目前最新版本为V0.13, 支持Python versions 2.7 and 3.4+

其详细介绍请查看:
PyPi sentinelsat网址:https://pypi.org/project/sentinelsat/
sentinelsat包 doc文档: https://sentinelsat.readthedocs.io/en/stable/api.html

sentinelsat包安装

基本条件

  • 下载并安装Python(2.7或3.4+,可以到Python官网下载,建议安装Python3版本),建议安装Anaconda(可以到Anaconda官网下载)。

  • 拥有哥白尼数据开放访问中心账号(The Copernicus Open Access Hub

安装

  • 标准Python版本安装,通过命令行窗口通过pip安装:
pip install sentinelsat
  • 在Anaconda上安装,可以在Anaconda Prompt命令行窗口使用pip安装(但是不能conda安装):
pip install sentinelsat

 

博主主要使用Anaconda,以其为例,成功安装后如下图所示:

Sentinelsat包主要类对象及其方法

SentinelAPI类对象

SentinelAPI类是sentinelsat包中连接到哥白尼开放存取中心,搜索和下载Sentinel卫星影像的类,是该模块包最重要的类,其类别定义如下:

class sentinelsat.SentinelAPI(user, password,
api_url=‘https://scihub.copernicus.eu/apihub/’, show_progressbars=True,
timeout=None)

注意:这里api_url虽然给出了两个URL,但建议使用后者,即 https://scihub.copernicus.eu/dhus ,因为前一个URL:https://scihub.copernicus.eu/apihub ,无法下载历史数据,即使在历史数据由“Offline”变为“Online”时,也无法下载。但 https://scihub.copernicus.eu/dhus , 在历史数据由“Offline”变为“Online”时,可以恢复下载。其中一个URL下载速度慢时,也可以换另一个。

SentinelAPI类对象重要方法

查询方法

query(area=None, date=None, raw=None,
area_relation='Intersects', order_by=None, limit=None, offset=0, **keywords)

使用一个区域的坐标、日期间隔和OpenSearch API接受的任何其他搜索关键字查询产品。

另一个重要的查询方法:

get_product_odata(id, full=False)

使用一个产品id获取对应的产品,full为Odata API接受的搜索查询关键字参数

关于OpenSearch API与Odata API只需知道它们在sentinelsat包中封装起来的方法不同即可。
query()和get_product_odata()方法的区别:
OpenSearch API的query(),它支持根据产品的属性过滤产品,并一次返回所有匹配产品的元数据;
get_product_odata(),它可以一次查询一个产品,但是为每个产品提供完整的元数据,以及关于产品文件的信息,比如文件大小和校验码(MD5码),这些信息在OpenSearch API中是不可用的。

下载方法

图14

与geojson、pandas、geopandas模块交互

图15
上述类、方法及其它的方法请参考详细介绍参照sentinelsat包 doc文档: https://sentinelsat.readthedocs.io/en/stable/api.html

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值