本文介紹在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
檔案,並嘗試生成訂單。
生成訂單成功~