Sentinel-2数据快速下载的几种方法

哨兵2号(Sentinel2)数据如今应用广泛,但是如何快速批量下载仍然是一个让人头疼的问题,一开始我也为下载数据而跌摸滚爬许久,现在整理一下Sentinel2数据下载的几种方法,供大家参考,希望能够批评指正,共同学习!

 

一 、欧空局(esa)官网下载

地址:https://scihub.copernicus.eu/

首先你需要注册一个账号并登录

鼠标左键选择自己感兴趣区域,在搜索里面选择卫星过境时期范围(例如:2020/01/01-2020/03/07)、数据类型(Sentinel1/2/3),Sentinel2数据可以下载S1C(未大气校正)和S2A(已大气校正)的类型,(建议下载S1C自己用Sen2cor校正,因为据用户反映,欧空局发布的S2A数据有点问题,可能会全面反工),还可以选择云量等,然后进行搜索

点击相应的链接就可以下载啦,也可以加入购物车批量下载

二、USGS下载

地址:https://earthexplorer.usgs.gov/

注意:USGS只提供S1C的数据,根据本人经验,在USGS搭配搜狗浏览器下载速度很快,能达到2M/S

同样,你首先需要注册一个账号并登录

导入感兴趣区域的shp图或者自己手动勾选感兴趣区域,选择搜索时期,点击dataset

选择Sentinel2,点击Result

然后就可以愉快的下载了,也可以加入购物车,使用USGS提供的Bulk批量下载

 

三、使用Python批量下载

需要安装sentinelsat包以及欧空局账号

代码如下:

from sentinelsat import SentinelAPI, read_geojson, geojson_to_wkt
api = SentinelAPI('******','******', 'https://scihub.copernicus.eu/apihub/')
footprint = geojson_to_wkt(read_geojson('chengde.geojson')) # http://geojson.io/#map=10/42.4012/117.2488
products = api.query(footprint,
                     date=('20200101', '20200307'),
                     platformname='Sentinel - 2',
producttype ='S2MSI2A',
cloudcoverpercentage = (0, 50))

for product in products:
    product_info = api.get_product_odata(product)
    print(product_info['title'])
    api.download(product)

其中.geojson文件是感兴趣区域的矢量图,也可以更换为感兴趣区域的坐标

from sentinelsat.sentinel import SentinelAPI, read_geojson, geojson_to_wkt
from collections import OrderedDict

api = SentinelAPI('*******', '*******', 'https://scihub.copernicus.eu/dhus/')

#roi = 'POLYGON((DEFINE ROI))' # http://geojson.io/#map=10/42.4012/117.2488
roi = 'POLYGON((116.94259643554688 42.22648356137063,\
                117.61138916015625 42.22648356137063,\
                117.61138916015625 42.51867517417283,\
                116.94259643554688 42.51867517417283,\
                116.94259643554688 42.22648356137063))'
start_date = '20200101'
end_date = '20200307'
product_type = 'S2MSI2A'
cloud_cover = (0,50)
products = api.query(area=roi,date=(start_date, end_date),
                     producttype=product_type,cloudcoverpercentage=cloud_cover)
downfiles = OrderedDict()
for i in products:
    product = products[i]
    filename = product['filename']
    print(filename)

successfile = api.download_all(products)

.geojson文件或者坐标可以在http://geojson.io/获取

Sentinel-2数据快速下载的几种方法_第1张图片

 然后就可以愉快的等着数据自动下载啦,是不是很方便呢

你可能感兴趣的:(Sentinel-2数据快速下载的几种方法)