函数介绍
qualityMosaic是Google Earth Engine (GEE) 中的一个方法,它用于创建一个影像合成,基于每个像素位置上所有影像的某个“质量”波段的最佳值。常见的用法包括根据云量最少、植被指数最高或其他质量指标来选择每个像素。
NDVI质量波段
根据每一个像元一段时间内NDVI的变化,选取该时间段内NDVI最大值作为返回值,最后将所有这些值合成,所以在图像上看起来,整体会很“红”
在这个例子中,qualityMosaic方法根据名为NDVI的波段选择最大值。它逐像素地遍历整个影像集合,比较每个像素位置的NDVI值,然后选择具有最大NDVI值的像素组成最终的镶嵌图像。
这种方法特别适用于创建云影响较小的合成影像,或者根据特定的遥感指标(如植被指数、水体指数等)来最大化感兴趣的特征。在执行qualityMosaic之前添加相应的质量波段至关重要,因为这个波段将作为像素选择的依据。
时间质量波段
根据时间来选择波段,选取最接近当前时间的值作为返回值
影像没有那么红,但合成的影像比较有时效性
源代码
//去云函数
var maskClouds = function(image) {
var scored = ee.Algorithms.Landsat.simpleCloudScore(image);
return image.updateMask(scored.select(['cloud']).lt(20));
};
//给影像添加ndvi波段和时间波段
var addQualityBands = function(image) {
return maskClouds(image)
// NDVI
.addBands(image.normalizedDifference(['B5', 'B4']))
// time in days
.addBands(image.metadata('system:time_start'));
};
//加载影像
// 对波段进行map函数循环遍历
var collection = ee.ImageCollection('LANDSAT/LC08/C02/T1_TOA')
.filterDate('2014-06-01', '2014-12-31')
.map(addQualityBands);
// 将整理号的影像进行最大值波段合成时间和ndvi都有
var recentValueComposite = collection.qualityMosaic('system:time_start');
// 创建最大的像素合成nd代表ndvi,这里系统默认的是nd作为波段名,你可以rename自己改名称
var greenestPixelComposite = collection.qualityMosaic('nd');
// 结果呈现
var vizParams = {bands: ['B5', 'B4', 'B3'], min: 0, max: 0.4};
Map.addLayer(recentValueComposite, vizParams, 'recent value composite');
Map.addLayer(greenestPixelComposite, vizParams, 'greenest pixel composite');