1. 使用 Aria2 批量下载 Sentinel 1 数据
ASF Vertex搜索S1 Burst
Burst-Based InSAR for Sentinel-1 On Demand
使用Aria2+Metalink
Credit: Vigo_GIS 51CTO
以下是关于使用 Metalink 批量下载 Sentinel 数据的步骤摘要:
核心工具
- Aria2:一款轻量级、多协议、支持命令行的下载工具。
准备工作
- 获取软件:从 GitHub 下载并解压 Aria2。
- 筛选数据:在 ASF (Alaska Satellite Facility) 平台选择所需数据并加入购物车。
- 导出文件:在购物车中下载 Metalink (metadata) 格式的文件。
- 文件放置:将下载好的
.metalink文件放入 Aria2 所在的文件夹内。
执行下载
在命令行(CMD)中切换至 Aria2 目录,根据数据来源执行相应命令:
- 针对 ASF 数据:
bash
aria2c --http-user=用户名 --http-passwd=密码 --check-certificate=false --continue=true --max-concurrent-downloads=3 -M 文件名.metalink- 针对 Open Access Hub:
bash
aria2c --http-user=用户名 --http-passwd=密码 --check-certificate=false --continue=true --max-concurrent-downloads=2 -M 文件名.metalink参数说明
--http-user/passwd:输入对应的平台账号和密码。--max-concurrent-downloads:设置最大同时下载任务数。-M:指定读取的 Metalink 配置文件。
直接使用Aria+ASF Search获取metalink
Reference: ASF SAR Data Search Manual
总结来说,使用 aria2 批量下载 Sentinel-1 (S1) 数据的核心逻辑是:利用 ASF DAAC 的 Search API 生成一个包含文件信息的 Metalink 文件,然后通过 aria2 解析并下载。
以下是操作步骤的详细总结:
1. 核心下载命令结构
基本的下载命令需要包含身份验证信息(Earthdata 账号)和 API 查询链接:
bash
aria2c --http-auth-challenge=true \
--http-user='你的用户名' \
--http-passwd='你的密码' \
"https://api.daac.asf.alaska.edu/services/search/param?[查询参数]&output=metalink"--http-auth-challenge=true: 必须开启,以支持 Earthdata 的身份验证跳转。output=metalink: 这是关键参数。API 不会直接返回数据文件,而是返回一个包含所有下载链接的 Metalink 格式文件,aria2 会自动识别并开启多线程下载。
2. 三种常见的批量查询方式
| 场景 | 查询参数示例 |
|---|---|
| 已知数据列表 | granule_list=数据名1,数据名2... |
| 按平台和时间 | platform=Sentinel-1A&start=2023-01-01T00:00:00 |
| 按地理区域 | intersectsWith=point(-122.42 37.77) 或 polygon(...) |
3. 进阶:使用配置文件(更安全、简洁)
为了避免在终端历史记录中留下明文密码,建议使用配置文件 aria2.conf:
- 创建配置文件:
bash
echo "http-user=你的用户名" > aria2.conf
echo "http-passwd=你的密码" >> aria2.conf
chmod 600 aria2.conf # 限制权限,保护密码- 使用配置下载:
bash
aria2c --conf-path=aria2.conf --http-auth-challenge=true "API_URL_HERE&output=metalink"4. 实用小贴士
- 多线程加速:可以在命令中加入
-s 5 -x 5(表示每个文件 5 个连接)来提高下载速度。 - Windows 用户注意:如果遇到证书报错,可以添加
--check-certificate=false,且参数中的双引号要正确闭合。 - 断点续传:aria2 默认支持断点续传,如果下载中断,再次运行相同命令即可。