本文介绍在LAADS DAAC的官方网站中,批量、快速下载MODIS遥感影像各类产品数据的免费方法。
之前一篇文章Earthdata批量下载MODIS遥感影像的方法介绍了MODIS等遥感数据在Earthdata中批量下载的方法,但是这一方法需要可以访问外国网站才可进行,因此相对不太实用;本文所介绍方法则可以通过国内网络进行相关的下载操作。但是本文方法的下载速度较之前者会相应慢很多,大家结合实际情况进行选择即可。
首先,打开网页,在这里需要选择MOD或MYD(也就是Terra和Aqua)产品,其实选择哪一个都可以,任选一个即可。

在进入的网页中,再次选择我们所需要的产品(其实现在还是随便选一个就好,之后还可以再调整)。

选择后进入数据筛选页面,可以看到还是可以对MOD、MYD或MCD产品加以选择;同时还有AVHRR等其它遥感数据。

在这里我们以MOD09GA产品为例进行介绍。首先,在上图所示的选择框中选择MODIS:Terra,然后在搜索框中输入mod09ga,并在对应的产品列表中加以选择。

此时可以看到,“PRODUCTS”一栏中已经出现了我们所选择的产品。

接下来,对所需要的产品时间范围加以选择(可选时间范围或时间点)。

选择完毕后,在“TIME”列表中同样可以看到选择结果。

接下来,对所需产品的空间范围加以选择。如需要全球数据,直接跳过这一步骤即可;如果需要某一特定区域的数据,推荐使用数据行列号方式(如下图)或绘制矩形框图方式(如下下图)加以选择。


完毕后,可以在“LOCATION”一栏中看到我们所选的区域。随后点击下图红色区域部分,进行产品的搜索与下载。

可以看到,产品数量相对比较多(不过也只有150景,在大规模遥感处理中也算很少了);如果需要下载单独几景图像,直接点击右侧的下载按钮即可。

如果需要批量下载,我们选择左上角的csv下载。

下载后是一个包含各个遥感影像部分下载地址的.csv文件,其中第一行为列标题;从第二行开始,第二列是遥感影像下载地址的一部分。

我们需要在其前面加上一段网址,从而将所有下载链接补充完整。有两种方式,个人认为还是第二种方便一些。首先第一种,选中右侧第一个空白列。

在第一行输入:
="https://ladsweb.modaps.eosdis.nasa.gov/"&
然后选择B1单元格。

接下来同时按下Ctrl与Enter键,即可实现对每一行的单元格加以填充;填充后的第二列就是每一景遥感影像的下载链接(除了第一行,第一行是列标题)。

但是这种播放会使得.csv文件这一列的所有行都被填充,不利于后期我们复制下载地址;因此建议选择第二种方法,也是最简单的方法:将第二行的下载链接生成后,直接下拉单元格填充。

填充到有数据的最后一行即可;随后不要动鼠标,直接将当前选中的列内容加以复制。

我们将复制的内容粘贴到一个新建的.txt文件中(不要复制到第一行列标题)。

将.txt文件拖动导入浏览器中;首先需要选中一条链接,将其在新的浏览器界面打开。

如果大家没有登录EARTHDATA,需要在新打开的界面中进行登录。

出现类似于如下所示的保存或下载界面即可。关闭该提示与下载页面,回到.txt文件页面。

即可开始批量下载。此时有三种方法,第一是如果大家有IDM等下载软件,直接右键选择全部链接下载即可。

第二种方法,如果是在Chrome中且上述右键没有批量下载全部网页的选项,我们可以按照文章批量下载浏览器网页中全部链接的方法的方法进行下载。
第三种方法,可以用火狐浏览器的DownThemAll插件进行下载,具体操作可以查看文章Earthdata批量下载MODIS遥感影像的方法。
我们就选择第三种方法进行下载,如下所示。可以看到速度大概在几百KB/s左右(具体也和大家各自网络情况有关系),确实和借助访问国外网站软件的下载方式速度有一定差距,比较慢;但是这一方法不需要借助其它网络辅助软件,还是很方便的。

此外,借助本方法可以实现LAADS DAAC中各遥感数据产品的批量下载。
我正在学习如何使用Nokogiri,根据这段代码我遇到了一些问题:require'rubygems'require'mechanize'post_agent=WWW::Mechanize.newpost_page=post_agent.get('http://www.vbulletin.org/forum/showthread.php?t=230708')puts"\nabsolutepathwithtbodygivesnil"putspost_page.parser.xpath('/html/body/div/div/div/div/div/table/tbody/tr/td/div
总的来说,我对ruby还比较陌生,我正在为我正在创建的对象编写一些rspec测试用例。许多测试用例都非常基础,我只是想确保正确填充和返回值。我想知道是否有办法使用循环结构来执行此操作。不必为我要测试的每个方法都设置一个assertEquals。例如:describeitem,"TestingtheItem"doit"willhaveanullvaluetostart"doitem=Item.new#HereIcoulddotheitem.name.shouldbe_nil#thenIcoulddoitem.category.shouldbe_nilendend但我想要一些方法来使用
类classAprivatedeffooputs:fooendpublicdefbarputs:barendprivatedefzimputs:zimendprotecteddefdibputs:dibendendA的实例a=A.new测试a.foorescueputs:faila.barrescueputs:faila.zimrescueputs:faila.dibrescueputs:faila.gazrescueputs:fail测试输出failbarfailfailfail.发送测试[:foo,:bar,:zim,:dib,:gaz].each{|m|a.send(m)resc
我正在尝试设置一个puppet节点,但rubygems似乎不正常。如果我通过它自己的二进制文件(/usr/lib/ruby/gems/1.8/gems/facter-1.5.8/bin/facter)在cli上运行facter,它工作正常,但如果我通过由rubygems(/usr/bin/facter)安装的二进制文件,它抛出:/usr/lib/ruby/1.8/facter/uptime.rb:11:undefinedmethod`get_uptime'forFacter::Util::Uptime:Module(NoMethodError)from/usr/lib/ruby
我想了解Ruby方法methods()是如何工作的。我尝试使用“ruby方法”在Google上搜索,但这不是我需要的。我也看过ruby-doc.org,但我没有找到这种方法。你能详细解释一下它是如何工作的或者给我一个链接吗?更新我用methods()方法做了实验,得到了这样的结果:'labrat'代码classFirstdeffirst_instance_mymethodenddefself.first_class_mymethodendendclassSecond使用类#returnsavailablemethodslistforclassandancestorsputsSeco
我在我的项目中添加了一个系统来重置用户密码并通过电子邮件将密码发送给他,以防他忘记密码。昨天它运行良好(当我实现它时)。当我今天尝试启动服务器时,出现以下错误。=>BootingWEBrick=>Rails3.2.1applicationstartingindevelopmentonhttp://0.0.0.0:3000=>Callwith-dtodetach=>Ctrl-CtoshutdownserverExiting/Users/vinayshenoy/.rvm/gems/ruby-1.9.3-p0/gems/actionmailer-3.2.1/lib/action_mailer
设置:狂欢ruby1.9.2高线(1.6.13)描述:我已经相当习惯在其他一些项目中使用highline,但已经有几个月没有使用它了。现在,在Ruby1.9.2上全新安装时,它似乎不允许在同一行回答提示。所以以前我会看到类似的东西:require"highline/import"ask"Whatisyourfavoritecolor?"并得到:Whatisyourfavoritecolor?|现在我看到类似的东西:Whatisyourfavoritecolor?|竖线(|)符号是我的终端光标。知道为什么会发生这种变化吗? 最佳答案
我已经从我的命令行中获得了一切,所以我可以运行rubymyfile并且它可以正常工作。但是当我尝试从sublime中运行它时,我得到了undefinedmethod`require_relative'formain:Object有人知道我的sublime设置中缺少什么吗?我正在使用OSX并安装了rvm。 最佳答案 或者,您可以只使用“require”,它应该可以正常工作。我认为“require_relative”仅适用于ruby1.9+ 关于ruby-主要:Objectwhenrun
我正在编写一个小脚本来定位aws存储桶中的特定文件,并创建一个临时验证的url以发送给同事。(理想情况下,这将创建类似于在控制台上右键单击存储桶中的文件并复制链接地址的结果)。我研究过回形针,它似乎不符合这个标准,但我可能只是不知道它的全部功能。我尝试了以下方法:defauthenticated_url(file_name,bucket)AWS::S3::S3Object.url_for(file_name,bucket,:secure=>true,:expires=>20*60)end产生这种类型的结果:...-1.amazonaws.com/file_path/file.zip.A
我有一个具有一些属性的模型:attr1、attr2和attr3。我需要在不执行回调和验证的情况下更新此属性。我找到了update_column方法,但我想同时更新三个属性。我需要这样的东西:update_columns({attr1:val1,attr2:val2,attr3:val3})代替update_column(attr1,val1)update_column(attr2,val2)update_column(attr3,val3) 最佳答案 您可以使用update_columns(attr1:val1,attr2:val2