MODIS数据批量下载教程
由于毕业论文决定将MODIS作为自己的主要数据源,而我本身以往的时候都是接触的Landsat或者Sentinel-2数据,对于modis可谓是一窍不通,为了毕业也只能从头学起了,同时也将自己的学习笔记写成教程发布出来,若大家发现有错误的地方,还请多多包涵,并联系我加以改正。
对于modis的数据介绍百度百科介绍的相当详细,这里不多说明,大家可以自行百度,文中某个地方也提供了百度百科中modis的链接。本教程要感谢我的本科同学B哥的耐心指导,这篇教程也是在他给我的教程上,我按照自己的操作过程写的,主要内容是modis数据的批量下载方法,其中提供了Shell脚本和Python脚本两种下载方法,这里对两种方法都做了介绍。
LAADS官网截图截至2018年4月20日,NASA阻止了所有向公众服务器发送的FTP请求—包括LAADS DAAC和LANCE NRT。传统的FTP下载通道于2018年4月20日被关闭。官方为用户提供了全新的下载方式——HTTPS。相关内容可以查阅LAADS(the Level 1 and Atmosphere Archive and Distribution System),这个网页也对新的下载方法进行了详细的介绍,不想看英文的童鞋,可以直接看这篇教程。
超文本传输协议(HTTP)是当今驱动大多数网站互联网流量的协议。该协议的一个变种称为“HTTPS”,“S”为“安全”,已被选择来取代FTP。HTTPS加密客户端和服务器之间的所有事务处理,使得截取正在传输的内容变得更加困难。因此,LAADS DAAC目前支持所有数据的HTTPS下载。
不说废话,直接丢出两个下载网站:
1.[earthdata]https://search.earthdata.nasa.gov/search?m=-0.0703125!0!2!1!0!0%2C2
2.[NASA]https://ladsweb.modaps.eosdis.nasa.gov/search/
值得注意的是两个网站下载方法有所不同,但都需要一个earthdata账号注册链接
首先介绍新版的earthdata下载方法,此方法是基于Shell脚本的:
1.打开网址https://search.earthdata.nasa.gov/search?m=-0.0703125!0!2!1!0!0%2C2
可以看到有三块可以自定义下载设置的地方,左侧可以选择卫星平台和产品级别等,右侧则可以选择通过绘制矩形或者多边形等选择需要下载的区域,上方类似时钟的按钮则可以选择时间。
2.选择数据。
笔者通过下载MODIS L1B级别数据演示批量下载过程,实际下载的数据按各自的需求进行选择。MODIS不同级别产品的具体介绍可以参考百度百科MODIS数据介绍
点击数据右侧的感叹号按钮,可以查看该数据的具体信息。
这里选择下载的数据为Aqua星的MODIS 250m分辨率的L1B级产品。选择好时间和下载区域,点击Apply Filtter,即可看到筛选出了3景符合该时间范围和区域的影像。点击右侧Download All进入下载页面
选择Direct Download后点击Submit
点击Download Acess Script
点击Download Script File将生成的批量下载脚本下载至本地。
3.搭建Linux运行环境。
由于批量下载的Shell脚本在Windows上运行需要搭建Linux环境,点击网页中的Cy.gwin,下载Cy.gwin环境,并双击安装,注意安装路径不要有中文,安装完成后点击运行。
4.运行批量下载脚本
将下载好的批量下载脚本放入自定义文件夹中,比如笔者自己定义的文件夹中''E:\temp\modis''
输入以下代码,切换至批量下载脚本所在的目录。由于Linux路径的分隔符与Windows不同为'/',故输入命令时请大家注意。
cd E:/temp/modis
输入以下代码获取下载权限
chmod 777 download.sh
输入以下代码执行下载命令,输入用户名,回车后继续输入密码,输入密码时,用户是看不见密码的,所以输入时要注意别输错,完成后直接回车,程序就开始下载了,请耐心等待下载的完成。
./download.sh
下载完成
第二个介绍基于Python脚本的下载方法,此方法的下载网站是https://ladsweb.modaps.eosdis.nasa.gov/search/
使用该方法需要Python环境和应用密钥。
未安装Python的童鞋需要下载一个Python并将其添加入系统环境变量中,Python下载链接
不添加进环境变量是无法再cmd中运行的。
在cmd窗口输入以下命令,(注:C:\python3.6是自己Python的安装目录)然后enter。
set PATH=%PATH%;C:\python3.6
通过在cmd中输入python,若出现以下类似界面,则说明设置成功。
登录Earthdata账号,点击Profile→App Keys,输入modis创建应用密钥。
创建应用密钥1.登录下载网站https://ladsweb.modaps.eosdis.nasa.gov/search/
依次选取产品类型,时间,地点,文件,提交订单
这里我选择的是Aqua星的MYD02QKM类型数据。
点击数据右侧感叹号,依然可以看到该类型数据的详细描述信息。
选择时间
选择地点
选择文件,点击Select ALL
提交订单,点击Submit Order
订单提交完成后,注册邮箱将会受到相关邮件
2.下载Python批量下载脚本
向后浏览至python脚本处,点击下载至本地,注意保存为.py文件
3.下载数据
点击订单号
查看下载链接
打开cmd,运行Python批量下载脚本之前,首先切换至脚本所在目录
查看脚本运行帮助
python laads-data-download.py -h
简单地说这个函数有几个参数需要传进去,-s就是下载源,URL就是你要下载的数据的URL路径(网站+文件订单);-d就是下载路径,也就是数据应该下载到哪个路径里;-t就是token,令牌,即前文提到的应用秘钥。
键入代码后,点击回车开始进行下载,这里需要替换的代码主要是订单号码,前文在订单页面可以看到,另外下载路径替换为自定义的文件路径即可。
python laads-data-download.py -s https://ladsweb.modaps.eosdis.nasa.gov/archive/orders/501258472/ -d E:\temp\modis_download -t 30BD0D18-A3AF-11E8-B764-010A90D4D0BE