本文介绍在USGS官网下载Landsat遥感影像数据时,出现报错信息,无法下载地表反射率产品(Surface Reflectance)的解决办法。
最近,利用这篇文章批量下载Landsat遥感影像的方法中遥感影像在USGS官网批量下载方法下载Landsat数据时,出现了如下报错:
Errors were found in your request.
1 validation errors
→Remove invalid product request 'sr' in oli8_collection.products - Available products: ['source_metadata', 'l1', 'toa', 'aq_refl', 'stats', 'pixel_qa']
如下图所示。

这一错误我仅仅在下载一年当中部分时段的Landsat 8数据时才会遇到,因此证明可能是部分时段的遥感影像数据缺失导致。经过不断探索,终于发现问题所在:官网中提到,部分时段由于对应的初始遥感数据或计算地表反射率的环境变量数据缺失,因此Landsat 7与Landsat 8部分时段的影像暂时没有地表反射率产品,如下图(如果大家下载影像的时间不在下表所列时间范围,但还是出现了类似问题,看本文末尾即可)。

因此,我们需要结合上述博客中的批量下载方法,对导入订单时所用到的相关信息加以修改。
例如,如果我需要下载Landsat 8在2019年11月至12月的数据,那么依据上表,我就需要将12月20日与21日的数据直接剔除掉。

然后将新的.txt文件重新导入,生成订单,即可不报错:

同时,还需要注意的是,有些时段的遥感影像并不是所有分幅都有问题,例如表中红色的部分。如果我们需要用对应时间段内的遥感数据,但是遥感影像所在的Path号不是表中的号,那么其实也不会有问题。

例如,如果我需要下载Landsat 8在2020年11月至12月的数据,那么依据上表,我就需要将11月01日至08日、11月12日至13日的数据直接全部剔除掉;同时需要对11月09日与11月14日的数据加以检查,尽管这两天的数据不用全部剔除,但如果其有表内对应列出的Path号,那么也需要剔除。
首先,剔除11月01日至08日、11月12日至13日的全部数据。

其次,剔除11月09日Path号为121、137的图像。

11月14日同理,剔除Path为124的,上面的140由于没有问题,因此不用剔除。

同样可以成功生成订单了。
接下来,我们来看看一个新的问题。在下载我国范围内2015年01月至2015年04月的Landsat 8遥感影像时,同样出现了本文开头所示的这一报错,导致不能成功生成订单;但是这一时间范围并未在本文前述的表格中所提及。那么是怎么回事呢?
我们在官网页面继续往下看,可以看到这句话:

也就是说,凡是Landsat 8遥感影像中只有OLI传感器数据(也就是不含TIRS传感器数据)的图像,也是无法计算地表反射率的。那么,上面2015年这个数据是不是因为这个原因而导致不能生成订单呢?我们来验证一下。
首先,将无法生成订单的2015年01月至2015年04月的Landsat 8遥感影像所对应的.csv文件打开,在Sensor Identifier这一列做筛选,如下图所示。

可以看到,其中是有OLI与OLI_TIRS两个类别的数据的。
那么,我们再来看一个没有问题的数据。这里我以我国2015年05月至2015年08月的Landsat 8数据为例,这个时间范围内的遥感影像数据是没有问题的(也就是说可以成功生成订单的)。打开其所对应的.csv文件,同样的在Sensor Identifier这一列做筛选,如下图所示。

可以看到,其中没有OLI这个类别,而仅仅有OLI_TIRS这一个类别的数据。
那么就验证了我们的想法:2015年01月至2015年04月的Landsat 8遥感影像之所以不能生成地表反射率产品订单,是因为其部分图像存在仅含有OLI传感器数据而不含有TIRS传感器数据的图像,而这一类图像是不可以生成地表反射率订单的。
那么,我们将OLI这个类别对应的图像删除,直接在.csv文件中利用筛选加定位的方式即可删除。

定位条件选择“可见单元格”。

可以看到,出现问题的图像时间范围是2015年02月11日与03月02日至04日。

取消选中第一行(因为我们不要将列头那一行给删除了),选择删除行即可。然后重新筛选,将OLI_TIRS显示出来,即可显示全部的行。
随后重新将图像名称导入.txt文件,并尝试生成订单。

生成订单成功~
我正在学习如何使用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
我在从html页面生成PDF时遇到问题。我正在使用PDFkit。在安装它的过程中,我注意到我需要wkhtmltopdf。所以我也安装了它。我做了PDFkit的文档所说的一切......现在我在尝试加载PDF时遇到了这个错误。这里是错误:commandfailed:"/usr/local/bin/wkhtmltopdf""--margin-right""0.75in""--page-size""Letter""--margin-top""0.75in""--margin-bottom""0.75in""--encoding""UTF-8""--margin-left""0.75in""-
我想了解Ruby方法methods()是如何工作的。我尝试使用“ruby方法”在Google上搜索,但这不是我需要的。我也看过ruby-doc.org,但我没有找到这种方法。你能详细解释一下它是如何工作的或者给我一个链接吗?更新我用methods()方法做了实验,得到了这样的结果:'labrat'代码classFirstdeffirst_instance_mymethodenddefself.first_class_mymethodendendclassSecond使用类#returnsavailablemethodslistforclassandancestorsputsSeco
我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i
我对最新版本的Rails有疑问。我创建了一个新应用程序(railsnewMyProject),但我没有脚本/生成,只有脚本/rails,当我输入ruby./script/railsgeneratepluginmy_plugin"Couldnotfindgeneratorplugin.".你知道如何生成插件模板吗?没有这个命令可以创建插件吗?PS:我正在使用Rails3.2.1和ruby1.8.7[universal-darwin11.0] 最佳答案 随着Rails3.2.0的发布,插件生成器已经被移除。查看变更日志here.现在
我在我的项目中添加了一个系统来重置用户密码并通过电子邮件将密码发送给他,以防他忘记密码。昨天它运行良好(当我实现它时)。当我今天尝试启动服务器时,出现以下错误。=>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
我尝试运行2.x应用程序。我使用rvm并为此应用程序设置其他版本的ruby:$rvmuseree-1.8.7-head我尝试运行服务器,然后出现很多错误:$script/serverNOTE:Gem.source_indexisdeprecated,useSpecification.Itwillberemovedonorafter2011-11-01.Gem.source_indexcalledfrom/Users/serg/rails_projects_terminal/work_proj/spohelp/config/../vendor/rails/railties/lib/r