基于wget命令批量下载LTDR AVHRR遥感影像数据

  本文介绍基于wget工具,批量下载NASA的Long-term Data Record(LTDR)遥感影像数据的方法。

  LTDR,也就是地表长时间数据集,通过改进NOAA卫星AVHRR传感器的定标等预处理过程,并对数据进行大气校正,从而提供全球范围、0.05°分辨率的逐日表观反射率地表反射率NDVI数据,为遥感研究提供了更高质量的数据源。本文就介绍一下这个数据的单一与批量下载方法。

  首先需要说明,这一数据既可以通过提交订单的方法来下载,也可以通过wget这一命令行工具来下载;其中,第一种下载方法大家可以参考文章基于LAADS DAAC的MODIS遥感影像各产品数据批量下载多张图像方法(https://blog.csdn.net/zhebushibiaoshifu/article/details/117337013),本文则介绍第二种方法,也就是基于wget命令行工具的方法。

  首先,我们进入LTDR数据集的官方网站(https://ladsweb.modaps.eosdis.nasa.gov/missions-and-measurements/applications/ltdr/#output-products),并找到需要下载的数据。本文就以地表反射率数据为例,如下图所示。

  对于某一类型的数据,其又包含多个卫星的数据。对于每一个卫星,都可以点击其右侧的产品名称,并选择“Product Details”,查看这一卫星对应数据产品的基本情况,如下图所示。

  在通过上述方式打开的每一个卫星数据产品的信息页面,都可以查阅不同卫星对应数据的时间跨度,如下图所示。

  例如,假设需要下载1982年的数据,那就需要从NOAA-07这个卫星的数据产品处下载,如下图所示。下载时有2个选项,其中“Order Data”就是本文开头提到的第一种下载方法,大家如果需要用这种方法下载,那参考本文开头提到的那篇文章即可。

  本文介绍基于wget工具的下载方法,所以选择“Direct Download”即可。随后,会进入如下图所示的文件界面。

  其中,如果需要批量下载,那我们倒是可以在每一个卫星的最上层文件夹(也就是上图所示的文件夹位置)开始下载;但是这样一次性要下载的文件数量太多,所以建议还是分别进入每一个年份对应文件夹后,再用wget下载。

  此外需要提一句,如果大家要下载的遥感影像数量比较少,比如可能就几天的数据,那可以一路点到对应日期的文件夹内,直接选中这一景遥感影像并下载即可,如下图所示。

  言归正传。因为我们需要基于wget批量下载大量的遥感影像数据,因此需要首先安装wget。对于Windows电脑,我们进入其官方下载地址(https://eternallybored.org/misc/wget/),并选择对应的wget版本即可。如下图所示,建议大家直接下载.exe格式的文件。

  随后,将下载得到的.exe格式文件放入C:\Windows\System32文件夹下,如下图所示。

  此时,打开命令行,并输入wget -h命令,如果出现如下图所示的界面,表明wget已经安装成功。

  随后,回到浏览器中的遥感影像下载界面。打开要下载的文件夹,并选择其顶部的“See wget Download Command”选项,如下图所示。

  随后,将得到类似如下命令行命令的代码;我们可以先复制这个命令,稍后会用到。但需要注意,我这里是以1982年的数据为例来下载的,大家需要结合自己的实际下载需求,用自己生成的命令来下载,不要直接用我的这个命令。

wget -e robots=off -m -np -R .html,.tmp -nH --cut-dirs=3 "https://ladsweb.modaps.eosdis.nasa.gov/archive/allData/466/N07_AVH09C1/1982/" --header "Authorization: Bearer INSERT_EDL_TOKEN_HERE" -P .

  接下来,在LAADS界面的右上角,选择“Login”选项下的“Generate Token”选项,如下图所示。

  随后,在“Generate Token”一栏中,选择“GENERATE TOKEN”,如下图所示。

  随后,将生成1token,我们点击右侧按钮将其复制,如下图所示。

  接下来,将复制的token放在前述命令行的INSERT_EDL_TOKEN_HERE处,也就是下面这个命令的XXXXXXX处。

wget -e robots=off -m -np -R .html,.tmp -nH --cut-dirs=3 "https://ladsweb.modaps.eosdis.nasa.gov/archive/allData/466/N07_AVH09C1/1982/" --header "Authorization: Bearer XXXXXXX" -P .

  随后,在cmd命令行执行上述带上token的命令即可,如下图所示。

  上述命令默认会将下载后的文件存放在执行这一命令的文件夹内,例如上图的命令就会将文件存放在cmd当前所处的C:\Users\DELL文件夹内,如下图所示。

  如果需要指定下载路径,那么就将上述命令-P参数后的那个,替换成自己的下载路径即可。

  例如以下命令,就会将数据下载到D:\00_Temp这个文件夹内。

wget -e robots=off -m -np -R .html,.tmp -nH --cut-dirs=3 "https://ladsweb.modaps.eosdis.nasa.gov/archive/allData/466/N07_AVH09C1/1982/" --header "Authorization: Bearer XXXXXXX" -P D:\00_Temp

  此外,如果需要下载大量数据,可以开启多个cmd命令行分别下载。比如,假设需要下载5年的数据,那么就可以开启5cmd命令行,然后每一个cmd命令行下载其中某一年的数据,相当于手动并行下载。

  当然,我也发现用wget下载这个LTDR数据有一个问题,就是下载速度很慢(电脑是否出国好像都比较慢,不知道为什么),并且有时下载进度还会卡住不动;但这个不是wget的问题,而是数据提供方LAADS自己网络环境的问题。如果大家对于下载速度有要求,则可以亲自试一下上述方法,看看网速是否符合需求;如果不符合的话,可以考虑用本文开头提到的第一种方法来下载(但是那个方法我估计也不会很快)。

  至此,大功告成。

欢迎关注:疯狂学习GIS

<think>我们正在讨论wget命令批量操作。根据引用资料,特别是引用[3]和引用[4],我们可以使用wget的`-i`选项来从一个文件中读取多个URL进行批量下载。另外,引用[5]提到了在Windows下使用Powershell的替代方案,但我们的重点在Linux下的wget。用户的问题是如何使用wget命令实现批量下载或执行。这里“执行”可能是指批量下载并自动执行某些操作?但通常wget只负责下载,不执行下载的文件。所以我们将重点放在批量下载上。步骤:1.准备一个包含所有下载链接的文件(比如urls.txt),每行一个URL。2.使用命令wget-iurls.txt此外,wget还支持递归下载(用于下载整个网站)和限制下载速度、重试次数等,但用户问题集中在批量下载。如果用户需要将文件下载到特定目录,可以使用`-P`选项指定目录。示例:wget-iurls.txt-P/path/to/directory如果用户需要后台下载,可以使用`-b`选项。另外,引用[2]展示了同时下载多个指定URL的方法(直接在命令行列出多个URL),但批量操作更推荐使用文件列表。因此,回答将围绕这些点展开。</think>### 如何使用 wget 命令实现批量下载 wget 是 Linux 系统中强大的命令下载工具,实现批量下载主要有以下两种方法: #### 方法 1:直接列出多个 URL(适合少量文件) 直接在命令行中列出所有下载链接,用空格分隔: ```bash wget https://example.com/file1.zip https://example.com/file2.jpg http://mirror.site/data.pdf ``` #### 方法 2:使用文件列表批量下载(推荐) 1. **创建 URL 列表文件** 新建文本文件(如 `urls.txt`),每行一个下载链接: ``` https://example.com/images/cat.jpg ftp://ftp.server/docs/manual.pdf http://archive.org/data_set.zip ``` 2. **执行批量下载命令** 使用 `-i` 参数指定列表文件: ```bash wget -i urls.txt ``` 文件将下载到**当前工作目录** 3. **进阶用法** - 指定下载目录: ```bash wget -i urls.txt -P /path/to/directory ``` - 后台静默下载: ```bash wget -i urls.txt -b -q ``` - 断点续传: ```bash wget -i urls.txt -c ``` #### 注意事项 1. 确保所有 URL 可公开访问或已授权 2. 大文件下载建议添加限速(`--limit-rate=500k`) 3. 递归下载目录需用 `-r` 参数(谨慎使用,避免爬取整个网站) 4. 支持 HTTP/HTTPS/FTP/FTPS 协议[^1][^2]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

疯狂学习GIS

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

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

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

打赏作者

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

抵扣说明:

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

余额充值