当前位置: 首页 > news >正文

【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

✅ 改动后,你的代码应该能顺利运行! 🚀

相关文章:

  • 图论:单源最短路(BF算法+迪杰斯特拉算法+spfa算法)
  • 制定大运维管理体系的标准、流程、机制、规范
  • SolidWorks2025三维计算机辅助设计(3D CAD)软件超详细图文安装教程(2025最新版保姆级教程)
  • Tiktok 关键字 视频及评论信息爬虫(2) [2025.04.07]
  • 【Vue】选项卡案例——NBA新闻
  • 大数据笔试题_第一阶段配套笔试题03
  • 滑动窗口思想 面试算法高频题
  • 双引擎驱动:智能知识库 + AI 陪练重构售后服务管理体系
  • 【一篇搞定配置】一篇带你从配置到使用(PyCharm远程)完成服务器运行项目(配置、使用一条龙)【全网最详细版】
  • 算法-尼姆博弈
  • 【【分享开发笔记,赚取电动螺丝刀】参考 RT-thread 的方式管理初始化函数调用】
  • 【Linux】iptables防火墙基本概念
  • 数据库系统概论|第三章:关系数据库标准语言SQL—课程笔记2
  • 网络安全应急响应-文件痕迹排查
  • Nginx 反向代理:从入门到精通
  • 硬盘分区格式方案之 MBR(Master Boot Record)主引导记录的 主分区 和 扩展分区 笔记250407
  • KWDB 创作者计划—人工智能赋能工业制造:智能制造的未来之路
  • M1使用docker制作镜像xxl-job,供自己使用
  • IntelliJ IDEA下开发FPGA——FPGA开发体验提升__上
  • springboot 项目怎样开启https服务
  • 首次带人形机器人走科技节红毯,傅利叶顾捷:机器人行业没包袱,很多事都能从零开始
  • 专访|《内沙》导演杨弋枢:挽留终将失去的美好
  • 尹锡悦宣布退出国民力量党
  • 精品消费“精”在哪?多在体验上下功夫
  • 遭车祸罹难的村医遇“身份”难题:镇卫生院否认劳动关系,家属上诉后二审将开庭
  • 临港新片区将新设5亿元启航基金:专门投向在临港发展的种子期、初创型企业