使用Python批量下载哨兵一号(sentinel-1)的精密轨道数据(precise orbit data)

1. 安装Python及data_downloader包

本文使用的是Python脚本,来批量下载文件。如果使用本文的下载方式,请先下载Python 3.8 或以上的版本,并使用 pip 安装 data_downloader 包:

pip install data_downloader

注意:
为了方便使用,现已将sentinel-1 orbit数据集成到了data_downloader。如果之前装过data_downloader, 执行下面脚本前,需要升级你的版本(version>=1.1):

pip install data_downloader -U

2. 将登录信息写入 .netrc 文件

本教程使用从AFS下载精密轨道数据需要NASA的授权,所以需要在.netrc中加入登录信息,这样下载的时候就不会因登录信息而被拒绝访问。

将下面代码中的your_usernameyour_password,改为自己在哨兵官网注册的用户名与密码,并复制到Python编辑器中执行。

注意: 如果.netrc文件已经有NASA的登录信息,这步可以跳过

from data_downloader import downloader

netrc = downloader.Netrc()
netrc.add('urs.earthdata.nasa.gov', 'your_username', 'your_password')

# 查看写入结果
print(netrc)

2. 下载精密轨道数据与辅助数据

哨兵一号的精密轨道数据(aux_poeorb, Precise orbit)与辅助数据(aux_cal, Auxiliary data) 可以从欧空局与AFS下载。由于欧空局这两年换了几次下载链接,本教程采用的是从AFS上下载。

复制并运行下面代码即可下载。

Tip: data_downloader支持断点续传,如果程序意外中断,重新执行脚本即可,程序会跳过下载完成的文件,并继续下载未下载完全的部分。

from data_downloader import downloader, services
from pathlib import Path

folder_cal = Path("/media/data/aux_cal")  # 指定aux_cal,**辅助数据** 的下载文件夹
folder_preorb = Path("/media/data/poeorb")  # 指定aux_poeorb,**精密轨道数据** 的下载文件夹

s1_orbit = services.SentinelOrbit()

############# download aux_cal  #####################
urls_cal = s1_orbit.cal_urls(platform="all")  # 获取S1A与S1B的所有辅助数据的链接
downloader.async_download_datas(urls_cal, folder=folder_cal) # 执行下载


########### download precise orbit #####################
urls_preorb = s1_orbit.poeorb_urls(
    date_start="20210101", date_end="20220301", platform="S1A"
)  # 获取所有S1A在20210101-20220301期间的精密轨道数据的链接
downloader.download_datas(urls_preorb, folder=folder_preorb) # 执行下载
评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

沉研

你的鼓励是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值