本文介绍基于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”,如下图所示。
随后,将生成1
个token,我们点击右侧按钮将其复制,如下图所示。
接下来,将复制的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
年的数据,那么就可以开启5
个cmd命令行,然后每一个cmd命令行下载其中某一年的数据,相当于手动并行下载。
当然,我也发现用wget下载这个LTDR数据有一个问题,就是下载速度很慢(电脑是否出国好像都比较慢,不知道为什么),并且有时下载进度还会卡住不动;但这个不是wget的问题,而是数据提供方LAADS自己网络环境的问题。如果大家对于下载速度有要求,则可以亲自试一下上述方法,看看网速是否符合需求;如果不符合的话,可以考虑用本文开头提到的第一种方法来下载(但是那个方法我估计也不会很快)。
至此,大功告成。
欢迎关注:疯狂学习GIS