Landsat数据在USGS中无法下载Surface Reflectance产品的解决方法
本文介绍在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文件,并尝试生成订单。

生成订单成功~
Landsat数据在USGS中无法下载Surface Reflectance产品的解决方法的更多相关文章
- PHP开发中常见的安全问题详解和解决方法(如Sql注入、CSRF、Xss、CC等
页面导航: 首页 → 网络编程 → PHP编程 → php技巧 → 正文内容 PHP安全 PHP开发中常见的安全问题详解和解决方法(如Sql注入.CSRF.Xss.CC等) 作者: 字体:[增加 减小 ...
- jquery ui中 accordion的问题及我的解决方法
原文:jquery ui中 accordion的问题及我的解决方法 jquery有一套所谓的ui组件,很不错的.如果有兴趣的朋友,可以参考http://jqueryui.com/ 但其中的accord ...
- 在国内使用maven下载jar包非常慢的解决方法
在国内使用maven下载jar包非常慢的解决方法 1.原因: 很多jar包在国外环境,所以会很慢. 2.解决方法 maven支持镜像环境下载,所以首先找到maven的conf目录中的settings. ...
- 如何自定义JSTL标签与SpringMVC 标签的属性中套JSTL标签报错的解决方法
如何自定义JSTL标签 1.创建一个类,从SimpleTagSupport继承 A) 通过继承可以获得当前JSP页面上的对象,如JspContext I) 实际上可以强转为PageContext II ...
- 虚拟机中安装Kali遇到的问题及解决方法
title: 虚拟机中安装Kali遇到的问题及解决方法 date: 2018-11-25 12:25:43 tags: 安全 --- 关于Kali版本选择 kail官方下载页面 虚拟机中当然就下载虚拟 ...
- Maven无法下载com.oracle:ojdbc.jar解决方法
Maven无法下载com.oracle:ojdbc.jar解决方法 从maven仓库中下载失败,可以搭建私服nexus,也可以将jar下载到本地然后导入local_repository 使用maven ...
- WAMP中phpMyAdmin登陆不了问题的解决方法
WAMP中phpMyAdmin登陆不了问题的解决方法
- 使用AFNetworking 2.0 请求数据时出现错误 Request failed: unacceptable content-type: text/html 解决方法
使用AFNetworking 2.0 请求数据时出现错误 Request failed: unacceptable content-type: text/html 解决方法 添加一行 manager. ...
- 问题-[Access]“无法打开工作组信息文件中的表 'MSysAccounts'”的问题的解决方法
问题现象:ado.net oledb方式访问Access数据库文件时报错“无法打开工作组信息文件中的表 'MSysAccounts'”的问题的解决方法 问题处理:1.数据库名称不能命名为:Syste ...
- ASP.NET MVC中对Model进行分步验证的解决方法
原文:ASP.NET MVC中对Model进行分步验证的解决方法 在我之前的文章:ASP.NET MVC2.0结合WF4.0实现用户多步注册流程中将一个用户的注册分成了四步,而这四个步骤都是在完善一个 ...
随机推荐
- CTF中RSA常见类型解法
Python脚本 #十六进制转ASCII编码 import binascii print(binascii.unhexlify(hex(m)[2:])) #rsa import gmpy2 phi = ...
- python 爬虫可视化,天气
网站地址='https://lishi.tianqi.com/chengdu/201704' import matplotlib.pyplot as plt import requests from ...
- 【转载】【WinAPI】LockWindowUpdate的函数的用法
DelPhi LockWindowUpdate的函数的用法 Application.ProcessMessages; LockWindowUpdate(Self.Handle); //锁住当前窗口 L ...
- [数学理论] NP问题解释
转载自http://m.blog.csdn.net/csshuke/article/details/74909562 希望通过这篇文章可以不仅让计算机相关专业的人可以看懂和区分什么是P类问题什么是NP ...
- 数据库服务器CPU不能全部利用原因分析
背景 客户凌晨把HIS数据库迁移到配置更高的新服务器,上午业务高峰时应用非常缓慢. 现象 通过SQL专家云实时可视化界面看到大量的绿点,绿点表示会话在等待某项资源,绿点越大说明等待的会话数越多. 进入 ...
- S2-032 CVE-2016-3081 远程代码执行
漏洞名称 CVE-2016-3081 S2-032 远程代码执行 利用条件 Struts 2.3.20 - Struts Struts 2.3.28 ( 2.3.20.3 和 2.3.24.3 除外) ...
- python利用matplotlib生成迷宫
起因 我想要写一个项目叫python迷宫游戏,需求是玩家能和机器对抗率先走出迷宫,至少要有两个等级的电脑. 慢慢来,首先迷宫游戏需要有一个迷宫并展示出来,这便是这篇博客的目的 假设迷宫使用0表示点,1 ...
- 实操好用~~~~~antd 中 Table表格动态合并~~~
我写了两种方法 一种是前端处理数据渲染 一种是后端处理数据渲染 数据结构略有不同 下面上代码 <template> <page-view :title="title&quo ...
- Unity_UIWidgets新手入门
Unity_UIWidgets新手入门 Hello Everyone!好久没见了,有没有有些想念小黑呢?什么?这么想?哈哈哈哈哈哈,不过我也知道你是想了解新的知识了,才不是想我嘞. 好了,好歹也半年没 ...
- Zabbix“专家坐诊”第180期问答汇总
问题一 Q:老师,请教个问题,zabbix通过自动发现扫描网段,然后添加主机,有没有什么办法区分路由器或者交换机类型的方法,这样才能把交换机模板或者路由器模板挂给对应的主机A:不多的话, 批量加2次模 ...