说明:下面的代码适合LANDSAT/LC08/C02/T1_L2产品!!!
//先设置一个除云并且给波段重新赋值的函数
function maskL8sr(image) {
// 包括云周边、卷云、云、云阴影和雪,在产品介绍中有说明,可以根据具体的产品改写
var DilatedCloudBitMask = 1 << 1;
var cirrusBitMask = 1 << 2;
var cloudBitMask = 1 << 3;
var cloudshadowMask = 1<<4;
var SowBitMask = 1 << 5;
// 获取pixel QA band,这里需要注意,有些产品是‘piexl_qa’
var qa = image.select('QA_PIXEL');
// 明确条件,设置两个值都为0
var mask = qa.bitwiseAnd(DilatedCloudBitMask).eq(0)
.and(qa.bitwiseAnd(cirrusBitMask).eq(0))
.and(qa.bitwiseAnd(cloudBitMask).eq(0))
.and(qa.bitwiseAnd(cloudshadowMask).eq(0))
.and(qa.bitwiseAnd(SowBitMask).eq(0));
// 更新掩膜云的波段,最后按照反射率缩放,在选择波段属性,最后赋值给影像
return image.updateMask(mask).divide(10000)
.copyProperties(image,["system:time_start"]);
}
// 加载影像遍历写好的去云函数.
var collection = ee.ImageCollection('LANDSAT/LC08/C02/T1_L2')
.filterBounds(roi)
.filterDate('2021-11-09', '2021-11-11')
print(collection)
参考资料:
1.https://zhuanlan.zhihu.com/p/139963885
2.https://blog.51cto.com/u_15654855/5326719