前一阵似乎GEE有升级,现在推荐使用collection2数据
1.// 缩放因子
function applyScaleFactors(image) {
var opticalBands = image.select('SR_B.').multiply(0.0000275).add(-0.2);
// var thermalBands = image.select('ST_B.*').multiply(0.00341802).add(149.0);
return image.addBands(opticalBands, null, true)
// .addBands(thermalBands, null, true);
}
2.// 去云函数 Landsat-8
function cloudRemoval(image) {
//
var cloudShadowBitMask = (1 << 4);
var cloudsBitMask = (1 << 3);
var qa = image.select('QA_PIXEL');
var mask = qa.bitwiseAnd(cloudShadowBitMask).eq(0)
.and(qa.bitwiseAnd(cloudsBitMask).eq(0));
var mask2 = image.select("blue").gt(0.2);
return image.updateMask(mask).updateMask(mask2.not()).toDouble()
.copyProperties(image)
.copyProperties(image, ["system:time_start"]);
}
3.调用数据集LANDSAT/LC08/C02/T1_L2
以上GEE比较熟练的大佬应该可以官方自己找到,自己纯纯小白,做下记录, 鞠躬!!!
注意:
以下为collection1数据 使用的话会有提醒,暂时还能用
LANDSAT/LT05/C01/T1_SR
LANDSAT/LE07/C01/T1_SR
LANDSAT/LC08/C01/T1_SR
云掩膜函数
/LANDSAT8云掩膜函数
//先设置一个除云并且给波段重新赋值的函数
function maskL8sr(image) {
// 第3位和第5位分别是云影和云。
var cloudShadowBitMask = 1 << 3;
var cloudsBitMask = 1 << 5;
// 获取pixel QA band.
var qa = image.select('pixel_qa');
// 明确条件,设置两个值都为0
var mask = qa.bitwiseAnd(cloudShadowBitMask).eq(0)
.and(qa.bitwiseAnd(cloudsBitMask).eq(0));
// 更新掩膜云的波段,最后按照反射率缩放,在选择波段属性,最后赋值给影像
return image.updateMask(mask)
.select("B[0-9]*")
.copyProperties(image, ["system:time_start"]);
};
/LANDSAT4/5/7云掩膜函数
var cloudMaskL457 = function(image) {
var qa = image.select('pixel_qa');
//云层表示为第五位,云层置信度为6-7位,云阴影为第三位
//选择出有云并且云层置信度为中等,以及有云阴影覆盖的像元。
var cloud = qa.bitwiseAnd(1 << 5)
.and(qa.bitwiseAnd(1 << 7))
.or(qa.bitwiseAnd(1 << 3))
// 移除边界像元
var mask2 = image.mask().reduce(ee.Reducer.min());
//将检测有关云像元置为0,掩模保留位置不为0的数据。
return image.updateMask(cloud.not()).updateMask(mask2);
};