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实现用户多步注册流程中将一个用户的注册分成了四步,而这四个步骤都是在完善一个 ...
随机推荐
- web框架推导 wsgiref模块 jinja2模板语法 django框架简介 django基本操作
目录 纯手撸web框架 web框架的本质 手写web框架 存在的问题 基于wsgiref模块 基本介绍 推导流程 代码封装优化 总结 动静态网页 jinja2模块 前端.后端.数据库三者联动 推导流程 ...
- 关于如何在C#中调用C++的DLL,以及如何在C++中调用C#的DLL
一.关于如何在C#中调用C++的DLL,以及如何在C++中调用C#的DLL 注:clr指公共语言运行库 CLR是一门非常恶搞的语言,就好像是在C++里面写C#的文件一样,也就是一种所谓的"托 ...
- Lombok介绍和配置
什么是Lombok Lombok是一个Java库,能自动插入编辑器并构建工具,简化Java开发. 官网: https://www.projectlombok.org/ Lombok的作用 通过 添加注 ...
- Python函数用法和底层分析
目录 Python函数用法和底层分析 函数的基本概念 Python 函数的分类 核心要点 形参和实参 文档字符串(函数的注释) 返回值 函数也是对象,内存底层分析 变量的作用域(全局变量和局部变量) ...
- Java基础类String学习分析
目录 1 String不可变性 2 不可变的好处 3 String+和StringBuilder效率差异 4 String, StringBuffer and StringBuilder 5 Stri ...
- 详解kubernetes五种暴露服务的方式
部署完服务终将是为了访问,那么kubernetes中service和ingress都可以将集群内部的服务能够支持外部访问.service可以让一组 Pod(称为"后端")为集群内的 ...
- Java long类型转换易犯的错误
记一个刷题过程中遇到的溢出问题. 在做这道题的时候遇到一个与 long 类型有关的溢出错误. 原始代码如下 class Solution { public int numberOfPairs(int[ ...
- 痞子衡嵌入式:盘点国内Cortex-M内核MCU厂商高主频产品(2023)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是国内Cortex-M内核MCU厂商高主频产品. 在 2021 年初痞子衡写了篇 <盘点国内Cortex-M内核MCU厂商高性能产品 ...
- Hugging News #0106
每一周,我们的同事都会向社区的成员们发布一些关于 Hugging Face 相关的更新,包括我们的产品和平台更新.社区活动.学习资源和内容更新.开源库和模型更新等,我们将其称之为「Hugging Ne ...
- C Primer Plus (6.16) 編程練習
/*C Primer Plus (6.15) 6*/ 1 #include<stdio.h> 2 int main() 3 { 4 int i,j; 5 for(int i=0;i< ...