本文介绍在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
文件,并尝试生成订单。
生成订单成功~