Google Earth Engine(GEE)实例代码学习三十五——利用Landsat8质量评估波段(QA)去云(Landsat8 Surface Reflectance))

Bit 0: Fill
Bit 1: Clear
Bit 2: Water
Bit 3: Cloud Shadow
Bit 4: Snow
Bit 5: Cloud

//创建一个函数进行去云掩膜处理
function maskL8sr(image) {
  //<<表示二进制左移几位
  // 二进制第三位表示有云阴影,第五位表示有云。
  var cloudShadowBitMask = 1 << 3;
  var cloudsBitMask = 1 << 5;
  // 选择质量评估波段
  var qa = image.select('pixel_qa');
  // 按位与运算,将检测出云以及云阴影像元值为0
  var mask = qa.bitwiseAnd(cloudShadowBitMask).eq(0)
      .and(qa.bitwiseAnd(cloudsBitMask).eq(0));
  // 掩膜云以及云阴影,并选择波段1-9将单位变为0-1之间,并复制影像时间属性。
  return image.updateMask(mask).divide(10000)
      .select("B[0-9]*")
      .copyProperties(image, ["system:time_start"]);
}
// 选择Landsat8地表反射率数据并进行去云处理
var collection = ee.ImageCollection('LANDSAT/LC08/C01/T1_SR')
    .filterDate('2016-01-01', '2016-12-31')
    .map(maskL8sr)
//取影像数据集中值
var composite = collection.median();
// 真彩色显示地图
Map.addLayer(composite, {bands: ['B4', 'B3', 'B2'], min: 0, max: 0.3});

代码运行结果
有云的位置像元为空值
Google Earth Engine(GEE)实例代码学习三十五——利用Landsat8质量评估波段(QA)去云(Landsat8 Surface Reflectance))_第1张图片

你可能感兴趣的:(GEE实例代码学习)