Google Earth Engine(GEE)实例代码学习三十六——利用哨兵Sentinel-2(QA60)去云(sentinel 2)

主要操作是按位与运算bitwiseAnd()筛选像元
其不同位数表示含义如下
Bit 10: Opaque clouds
0: No opaque clouds 透明云层
1: Opaque clouds present 不透明云层
Bit 11: Cirrus clouds
0: No cirrus clouds 没有卷云
1: Cirrus clouds present

//创建一个函数用来掩模云以及卷云
function maskS2clouds(image) {
//选择有关云掩膜的波段
  var qa = image.select('QA60')
  //位10和11分别代表云和卷云。
  var cloudBitMask = 1 << 10;
  var cirrusBitMask = 1 << 11;
  // 将有关云的像元置为0
  var mask = qa.bitwiseAnd(cloudBitMask).eq(0).and(
             qa.bitwiseAnd(cirrusBitMask).eq(0))
  // 掩模数据并选择多光谱波段,将反射率归为0-1复制时间属性
  return image.updateMask(mask).divide(10000)
      .select("B.*")
      .copyProperties(image, ["system:time_start"])
}

//选择哨兵2大气顶层反射率数据,并利用提供云含量属性筛选云量小于20%
var collection = ee.ImageCollection('COPERNICUS/S2')
    .filterDate('2016-01-01', '2016-12-31')
    .filter(ee.Filter.lt('CLOUDY_PIXEL_PERCENTAGE', 20))
    .map(maskS2clouds)
//取数据集中值
var composite = collection.median()
// 影像显示
Map.addLayer(composite, {bands: ['B4', 'B3', 'B2'], min: 0, max: 0.3}, 'RGB')

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值