使用GEE去除云层并可视化MODIS地表反射率数据

总体介绍

这段代码利用Google Earth Engine(GEE)处理MODIS地表反射率数据,通过去除云层和裁剪感兴趣区域(ROI),并对处理后的数据进行可视化显示。

数据集

  • MODIS/006/MODOCGA: 这是MODIS地表反射率数据集,提供1km分辨率的地表反射率数据。该数据集包含多个波段及质量评估信息,用于分析地表特征。

流程和功能

  1. 定义感兴趣区域(ROI)var ROI = table;

  2. 去云处理:

    • 定义一个函数 maskclouds,利用质量评估波段(QC_b8_15_1km)去除云层像元。
    • 通过一系列位移和按位操作来去除云层覆盖的像元。
  3. 裁剪影像:

    • 定义一个函数 clip,将影像裁剪到感兴趣区域(ROI)。
  4. 加载和处理MODIS数据集:

    • 加载MODIS地表反射率数据集,并根据日期和地理范围进行筛选。
    • 应用去云处理和裁剪函数,获取处理后的影像集合。
  5. 可视化处理结果:

    • 定义可视化参数,选择波段并设定数据范围。
    • 将处理后的影像集合的平均值添加到地图上进行显示。
  6. 加载影像并居中显示:

    • 将感兴趣区域(ROI)和处理后的影像添加到地图上,便于直观查看结果。

完整代码:

//定义ROI区域
var ROI=table

//去云处理 
function maskclouds(image) {
  // Select the QA band.
  var qa = image.select('QC_b8_15_1km');  //state_1km
  var qq4 = 1 << 4;
  var qq5 = 1 << 5;
  var qq6 = 1 << 6;
  var qq7 = 1 << 7;
  var qq8 = 1 << 8;
  var qq9 = 1 << 9;
  var qq10 = 1 << 10;
  var qq11 = 1 << 11;
  var qq16 = 1 << 16;
  var qq17 = 1 << 17;
  var qq18 = 1 << 18;
  var qq19 = 1 << 19;
  var qq20 = 1 << 20;
  var qq21 = 1 << 21;
  var qq22 = 1 << 22;
  var qq23 = 1 << 23;
  var mask = qa.bitwiseAnd(qq4).eq(0)
    .and(qa.bitwiseAnd(qq5).eq(0)) 
    .and(qa.bitwiseAnd(qq6).eq(0)) 
    .and(qa.bitwiseAnd(qq7).eq(0)) 
    .and(qa.bitwiseAnd(qq8).eq(0)) 
    .and(qa.bitwiseAnd(qq9).eq(0)) 
    .and(qa.bitwiseAnd(qq10).eq(0)) 
    .and(qa.bitwiseAnd(qq11).eq(0)) 
    .and(qa.bitwiseAnd(qq16).eq(0)) 
    .and(qa.bitwiseAnd(qq17).eq(0)) 
    .and(qa.bitwiseAnd(qq18).eq(0)) 
    .and(qa.bitwiseAnd(qq19).eq(0)) 
    .and(qa.bitwiseAnd(qq20).eq(0)) 
    .and(qa.bitwiseAnd(qq21).eq(0)) 
    .and(qa.bitwiseAnd(qq22).eq(0)) 
    .and(qa.bitwiseAnd(qq23).eq(0));
  // Return an image masking out cloudy areas.
  return image.updateMask(mask).divide(10000);
}


//裁剪
function clip(image) {
  return image.clip(ROI);
}

var dataset = ee.ImageCollection('MODIS/006/MODOCGA')
                  .filter(ee.Filter.date('2020-09-01', '2021-10-01'))
                  .map(clip)
                  .map(maskclouds);

var visualization = {
  min: 0.0,
  max: 0.3,
  bands: ['sur_refl_b13', 'sur_refl_b11', 'sur_refl_b09'],
};


 //加载影像并居中显示 
Map.addLayer(ROI);
Map.addLayer(dataset.mean(), visualization, 'image');

运行结果

  • 可视化:生成并显示处理后的MODIS地表反射率影像,去除了云层干扰,并将影像裁剪到指定的感兴趣区域。
  • 影像处理:去除了云层干扰,裁剪到指定区域,显示了特定波段的组合。
  • 地图显示:在地图上显示处理后的影像和感兴趣区域,便于用户进行进一步的分析和研究。

含有ROI区域的结果:

不含ROI区域的结果:

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值