python批量下载文件教程_MODIS数据批量下载教程

由于毕业论文决定将MODIS作为自己的主要数据源,而我本身以往的时候都是接触的Landsat或者Sentinel-2数据,对于modis可谓是一窍不通,为了毕业也只能从头学起了,同时也将自己的学习笔记写成教程发布出来,若大家发现有错误的地方,还请多多包涵,并联系我加以改正。

对于modis的数据介绍百度百科介绍的相当详细,这里不多说明,大家可以自行百度,文中某个地方也提供了百度百科中modis的链接。本教程要感谢我的本科同学B哥的耐心指导,这篇教程也是在他给我的教程上,我按照自己的操作过程写的,主要内容是modis数据的批量下载方法,其中提供了Shell脚本和Python脚本两种下载方法,这里对两种方法都做了介绍。

截至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下载。

0ecce029c876

LAADS官网截图

首先介绍新版的earthdata下载方法,此方法是基于Shell脚本的:

1.打开网址https://search.earthdata.nasa.gov/search?m=-0.0703125!0!2!1!0!0%2C2

可以看到有三块可以自定义下载设置的地方,左侧可以选择卫星平台和产品级别等,右侧则可以选择通过绘制矩形或者多边形等选择需要下载的区域,上方类似时钟的按钮则可以选择时间。

0ecce029c876

2.选择数据。

笔者通过下载MODIS L1B级别数据演示批量下载过程,实际下载的数据按各自的需求进行选择。MODIS不同级别产品的具体介绍可以参考百度百科MODIS数据介绍

0ecce029c876

点击数据右侧的感叹号按钮,可以查看该数据的具体信息。

0ecce029c876

这里选择下载的数据为Aqua星的MODIS 250m分辨率的L1B级产品。选择好时间和下载区域,点击Apply Filtter,即可看到筛选出了3景符合该时间范围和区域的影像。点击右侧Download All进入下载页面

0ecce029c876

选择Direct Download后点击Submit

0ecce029c876

点击Download Acess Script

0ecce029c876

点击Download Script File将生成的批量下载脚本下载至本地。

0ecce029c876

3.搭建Linux运行环境。

由于批量下载的Shell脚本在Windows上运行需要搭建Linux环境,点击网页中的Cy.gwin,下载Cy.gwin环境,并双击安装,注意安装路径不要有中文,安装完成后点击运行。

0ecce029c876

4.运行批量下载脚本

将下载好的批量下载脚本放入自定义文件夹中,比如笔者自己定义的文件夹中''E:\temp\modis''

0ecce029c876

输入以下代码,切换至批量下载脚本所在的目录。由于Linux路径的分隔符与Windows不同为'/',故输入命令时请大家注意。

cd E:/temp/modis

0ecce029c876

输入以下代码获取下载权限

chmod 777 download.sh

0ecce029c876

输入以下代码执行下载命令,输入用户名,回车后继续输入密码,输入密码时,用户是看不见密码的,所以输入时要注意别输错,完成后直接回车,程序就开始下载了,请耐心等待下载的完成。

./download.sh

0ecce029c876

0ecce029c876

0ecce029c876

下载完成

第二个介绍基于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,若出现以下类似界面,则说明设置成功。

0ecce029c876

登录Earthdata账号,点击Profile→App Keys,输入modis创建应用密钥。

0ecce029c876

创建应用密钥

1.登录下载网站https://ladsweb.modaps.eosdis.nasa.gov/search/

依次选取产品类型,时间,地点,文件,提交订单

0ecce029c876

这里我选择的是Aqua星的MYD02QKM类型数据。

0ecce029c876

点击数据右侧感叹号,依然可以看到该类型数据的详细描述信息。

0ecce029c876

选择时间

0ecce029c876

选择地点

0ecce029c876

选择文件,点击Select ALL

0ecce029c876

提交订单,点击Submit Order

0ecce029c876

订单提交完成后,注册邮箱将会受到相关邮件

0ecce029c876

2.下载Python批量下载脚本

0ecce029c876

向后浏览至python脚本处,点击下载至本地,注意保存为.py文件

0ecce029c876

0ecce029c876

3.下载数据

点击订单号

0ecce029c876

查看下载链接

0ecce029c876

打开cmd,运行Python批量下载脚本之前,首先切换至脚本所在目录

0ecce029c876

查看脚本运行帮助

python laads-data-download.py -h

简单地说这个函数有几个参数需要传进去,-s就是下载源,URL就是你要下载的数据的URL路径(网站+文件订单);-d就是下载路径,也就是数据应该下载到哪个路径里;-t就是token,令牌,即前文提到的应用秘钥。

0ecce029c876

键入代码后,点击回车开始进行下载,这里需要替换的代码主要是订单号码,前文在订单页面可以看到,另外下载路径替换为自定义的文件路径即可。

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

0ecce029c876

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值