【GEE學習筆記】報錯解決:Sentinel-2 數據集分為 L1C(大氣頂層)和 L2A(地表反射率),如何選擇波段進行去云處理?

【GEE學習筆記】報錯解決:Sentinel-2 數據集分為 L1C(大氣頂層)和 L2A(地表反射率),如何選擇波段進行去云處理?

【GEE學習筆記】報錯解決:Sentinel-2 數據集分為 L1C(大氣頂層)和 L2A(地表反射率),如何選擇波段進行去云處理?


文章目錄

  • 【GEE學習筆記】報錯解決:Sentinel-2 數據集分為 L1C(大氣頂層)和 L2A(地表反射率),如何選擇波段進行去云處理?
    • 報錯信息
    • ?? 報錯原因分析
    • ? 解決方案
      • 方案 1:改用 `COPERNICUS/S2_SR` 數據集
      • 方案 2:改用 `MSK_CLASSI_OPAQUE` 波段
    • 推薦方案


歡迎寶子們點贊、關注、收藏!歡迎寶子們批評指正!
祝所有的碩博生都能遇到好的導師!好的審稿人!好的同門!順利畢業!

大多數高校碩博生畢業要求需要參加學術會議,發表EI或者SCI檢索的學術論文會議論文。詳細信息可關注VX “學術會議小靈通”或參考學術信息專欄:https://blog.csdn.net/gaoxiaoxiao1209/article/details/146181282


報錯信息

RGB Image: Tile error: Error in map(ID=20230901T043711_20230901T044129_T46RCT): 
Image.select: Band pattern 'QA60' did not match any bands. Available bands: [B1, B2, B3, B4, B5, B6, B7, B8, B8A, B9, B10, B11, B12, MSK_CLASSI_OPAQUE, MSK_CLASSI_CIRRUS, MSK_CLASSI_SNOW_ICE]

你的代碼報錯的原因是 QA60 波段不存在,但是你的 maskS2clouds(image) 函數中嘗試選擇 QA60 進行去云處理。

?? 報錯原因分析

Sentinel-2 數據集分為 L1C(大氣頂層)和 L2A(地表反射率)

  • COPERNICUS/S2 (L1C)沒有 QA60 波段,但有 MSK_CLASSI_OPAQUEMSK_CLASSI_CIRRUS
    等。
  • COPERNICUS/S2_SR(L2A) 有 QA60 波段,用于標記云和卷云。

你的代碼使用的是 COPERNICUS/S2(L1C 級別),但 QA60 只在 COPERNICUS/S2_SR(L2A 級別)中可用,因此 image.select('QA60') 失敗,導致代碼崩潰。

? 解決方案

方案 1:改用 COPERNICUS/S2_SR 數據集

如果你希望繼續使用 QA60 去云,需要將數據集換成 COPERNICUS/S2_SR

var dataset = ee.ImageCollection('COPERNICUS/S2_SR')  // 改成 S2_SR 版本.filterBounds(roi).filterDate('2023-05-01', '2023-10-31').filter(ee.Filter.lt('CLOUDY_PIXEL_PERCENTAGE', 10)).map(maskS2clouds).median().clip(roi);
  • 🔹 優點:可以使用 QA60 進行去云,適合研究 地表反射率
  • 🔹 缺點:部分地區 L2A 級別數據可能不可用

方案 2:改用 MSK_CLASSI_OPAQUE 波段

如果仍要使用 COPERNICUS/S2,可以改用 MSK_CLASSI_OPAQUE(不透明云掩膜)代替 QA60

function maskS2clouds(image) {var mask = image.select('MSK_CLASSI_OPAQUE').eq(0);  // 0 表示無云return image.updateMask(mask).divide(10000);
}
  • 🔹 優點:適用于 COPERNICUS/S2 數據集
  • 🔹 缺點:可能不如 QA60 精確

推薦方案

  • 如果 可以 使用 COPERNICUS/S2_SR,請使用 方案 1,因為 QA60 更適合云去除。
  • 如果 必須 使用 COPERNICUS/S2,請使用 方案 2,用 MSK_CLASSI_OPAQUE 代替 QA60

? 改動后,你的代碼應該能順利運行! 🚀

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/75007.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/75007.shtml
英文地址,請注明出處:http://en.pswp.cn/web/75007.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

OpenVLA-OFT——微調VLA時加快推理的三大關鍵設計:支持動作分塊的并行解碼、連續動作表示以及L1回歸(含輸入靈活化及對指令遵循的加強)

前言 25年3.26日,這是一個值得紀念的日子,這一天,我司「七月在線」的定位正式升級為了:具身智能的場景落地與定制開發商 ,后續則從定制開發 逐步過渡到 標準產品化 比如25年q2起,在定制開發之外&#xff0…

IDEA 使用Maven打包時內存溢出

IDEA 使用Maven打包時內存溢出 解決辦法: File -> settings -> Build,Excetion,Deployment-> Compiler 中添加配置“-Djps.track.ap.dependenciesfalse” 如圖:

隨機產生4位隨機碼(java)

Random類: 用于生成隨機數 import java.util.Random; 導入必要的類 generateVerificationCode()方法: 這是一個靜態方法,可以直接通過類名調用 返回一個6位數字的字符串,首位不為0 生成首位數字: random.nextInt…

C#調用C++動態庫時出現`System.DllNotFoundException`錯誤的解決思路

文章目錄 1. DLL文件路徑問題2. 依賴的運行時庫缺失3. 平臺不匹配(x86/x64)4. 導出函數名稱不匹配5. DLL文件損壞或權限問題6. 運行時庫沖突(MT/MD不匹配)7. 使用DLLImport時的常見錯誤總結步驟 在C#中調用C動態庫時出現System.Dl…

免費Deepseek-v3接口實現Browser-Use Web UI:瀏覽器自動化本地模擬抓取數據實錄

源碼 https://github.com/browser-use/web-ui 我們按照官方教程,修訂幾個環節,更快地部署 步驟 1:克隆存儲庫 git clone https://github.com/browser-use/web-ui.git cd web-ui Step 2: Set Up Python Environment 第 2 步:設置…

ES 參數調優

1、refresh_interval 控制索引刷新的時間間隔。增大這個值可以減少I/O操作,從而提升寫入性能,但會延遲新文檔的可見性 查看 GET /content_erp_nlp_help_202503191453/_settings?include_defaultstrue 動態修改:refresh_interval 是一個動態…

【Easylive】視頻刪除方法詳解:重點分析異步線程池使用

【Easylive】項目常見問題解答(自用&持續更新中…) 匯總版 方法整體功能 這個deleteVideo方法是一個綜合性的視頻刪除操作,主要完成以下功能: 權限驗證:檢查視頻是否存在及用戶是否有權限刪除核心數據刪除&…

《比特信使的七重試煉:從數據丟失到CA認證的守護史詩》

點擊下面圖片帶您領略全新的嵌入式學習路線 🔥爆款熱榜 88萬閱讀 1.6萬收藏 第一章:初現危機——數據丟失的陰云 比特城的清晨總是被數據流的光芒點亮,但這一天,工程師艾琳的實驗室卻籠罩在陰霾中。她剛剛嘗試通過古老的“疾風…

如何更好的理解 beforeEach 全局前置守衛,在處理路由跳轉前觸發,怎么實現常用的全局權限校驗、登錄狀態檢查的呢?

以下將深入講解 Vue Router 的全局前置守衛 beforeEach 在權限系統中的實現原理和實戰應用,結合企業級項目代碼進行拆解(基于 Vue 3 TypeScript Pinia)。 一、前置守衛核心機制 1.1 執行時機與特性 全局前置守衛在路由跳轉前觸發&#xf…

VMware上的windows虛擬機安裝使用Docker方法

因為在實體機上使用Docker會導致VMware無法啟動虛擬機,所以嘗試了在虛擬機中安裝Docker. 1. 創建Windows虛擬機. windows至少是Win10 1.9***或者Win 11. 這是Docker Desktop要求的。 2. 虛擬機CPU要開啟虛擬化功能。 虛擬機的CPU開啟虛擬化 虛擬機的memory要不小…

項目中集成ECharts圖表(通過定時任務SpringTask統計每天的訂單金額)

項目應用Echarts ①、前端終端安裝Echarts npm install echarts --save ②、src/views創建order目錄,在order目錄下創建orderStatistics.vue ③、src/router/modules目錄下創建order.js,配置路由 const layout ()>import(/layout/index.vue) …

2022第十三屆藍橋杯大賽軟件賽省賽C/C++ 大學 B 組(題解解析)

記錄刷題的過程、感悟、題解。 希望能幫到,那些與我一同前行的,來自遠方的朋友😉 大綱: 1、九進制轉十進制-(解析)-簡單的進制轉化問題😄 2、順子日期-(解析)-考察日期 3…

python應用之使用pdfplumber 解析pdf文件內容

目錄標題 一. 通過 pdfplumber.open() 解析復雜PDF:1-2. 報錯:V2 : 1-3. v3 使用tk 庫,彈框選擇文件運行環境準備完整代碼保存運行測試步驟方式二:命令行方式(適用于自動化) 測試用例示例常見問…

力扣熱題100刷題day61|234.回文鏈表(兩種方法)

一、回文鏈表 234.回文鏈表 兩種解法 解法1:時間復雜度O(n) 空間復雜度O(n) 遍歷鏈表,計算鏈表長度,創建同樣長度大小的數組,用數組存儲鏈表中所有元素,之后雙指針遍歷鏈表,一個從頭開始,一…

vue3+element-plus動態與靜態表格數據渲染

一、表格組件&#xff1a; <template> <el-table ref"myTable" :data"tableData" :header-cell-style"headerCellStyle" header-row-class-name"my-table-header" cell-class-name"my-td-cell" :row-style"r…

Kafka 中的生產者分區策略

Kafka 中的 生產者分區策略 是決定消息如何分配到不同分區的機制。這個策略對 Kafka 的性能、負載均衡、消息順序性等有重要影響。了解它對于高效地使用 Kafka 進行消息生產和消費至關重要。 讓我們一起來看 Kafka 中 生產者的分區策略&#xff0c;它如何工作&#xff0c;以及…

《從零搭建Vue3項目實戰》(AI輔助搭建Vue3+ElemntPlus后臺管理項目)零基礎入門系列第二篇:項目創建和初始化

&#x1f91f;致敬讀者 &#x1f7e9;感謝閱讀&#x1f7e6;笑口常開&#x1f7ea;生日快樂?早點睡覺 &#x1f4d8;博主相關 &#x1f7e7;博主信息&#x1f7e8;博客首頁&#x1f7eb;專欄推薦&#x1f7e5;活動信息 文章目錄 《從零搭建Vue3項目實戰》&#xff08;AI輔助…

全國產FMC子卡-16bit 8通道2.4G

國產化FMC DA子卡&#xff0c;16bit 8通道2.4GS/s 全國產FMC子卡是一款高分辨率、高采樣率的全國產多通道標準雙寬DAC FMC子板。其接口電氣和結構設計均依據FMC標準(ANSI/VITA 57.1)&#xff0c;通過兩個高密度FMC連接器&#xff08;HPC&#xff09;連接至FPGA載板。它提供8路A…

linux-添加開機自啟動指定腳本

一、systemd 服務&#xff08;主流方法&#xff09; 適用于使用systemd的現代發行版&#xff08;Ubuntu 16.04/CentOS 7&#xff09; 創建服務文件 sudo nano /etc/systemd/system/your_script.service寫入服務配置&#xff08;示例&#xff09;&#xff1a; [Unit] Descri…

Spring MVC 返回 JSON 視圖的方式及對比(6種)

Spring MVC 返回 JSON 視圖的方式及對比&#xff08;新增 MappingJackson2JsonView&#xff09; 1. 方式一&#xff1a;ResponseBody 注解 作用&#xff1a;直接返回對象&#xff0c;由消息轉換器&#xff08;如 Jackson&#xff09;序列化為 JSON。 適用場景&#xff1a;簡單…