GEE云掩膜代码
时间: 2023-07-03 11:04:26 浏览: 200
以下是一段简单的 GEE 云掩膜代码示例,可以用于 Landsat 影像的云掩膜:
```javascript
// 加载 Landsat 8 影像
var image = ee.Image('LANDSAT/LC08/C01/T1_TOA/LC08_123032_20140515');
// 定义云掩膜函数
function maskL8clouds(image) {
var qa = image.select('BQA');
// 创建云位标志遮罩
var cloudBitMask = 1 << 4;
var cirrusBitMask = 1 << 5;
// 云像元是 1,非云像元是 0,根据位运算符 & 把云位标志提取出来,需要进行右移操作
var mask = qa.bitwiseAnd(cloudBitMask).eq(0).and(qa.bitwiseAnd(cirrusBitMask).eq(0));
// 将云像元对应的像素值设置为无效值
return image.updateMask(mask);
}
// 应用云掩膜函数
var maskedImage = maskL8clouds(image);
// 可视化原始影像和云掩膜后的影像
Map.addLayer(image, {bands: ['B4', 'B3', 'B2'], max: 0.3}, '原始影像');
Map.addLayer(maskedImage, {bands: ['B4', 'B3', 'B2'], max: 0.3}, '云掩膜后的影像');
```
这段代码使用了 Landsat 8 影像作为示例数据,定义了 `maskL8clouds` 函数用于进行云掩膜,并将云掩膜后的影像可视化在地图上。在函数中,首先选取 BQA 波段作为云位标志,然后通过位运算符 & 将云位标志提取出来,根据提取出来的云位标志和云位标志遮罩生成掩膜,最后使用 `updateMask` 函数将云掩膜应用到影像中。
阅读全文