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});
代码运行结果
有云的位置像元为空值