ee.ImageCollection.qualityMosaic

使用质量频段作为逐像素排序函数,合成集合中的所有图片。

用法返回
ImageCollection.qualityMosaic(qualityBand)图片
参数类型详细信息
此:collectionImageCollection要进行马赛克处理的集合。
qualityBand字符串集合中质量频段的名称。

示例

代码编辑器 (JavaScript)

// The goal is to generate a best-pixel mosaic from a collection of
// Sentinel-2 images where pixel quality is based on a cloud probability score.
// The qualityMosaic() function selects the image (per-pixel) with the HIGHEST
// quality-band-score to contribute to the resulting mosaic. All bands from the
// selected image (per-pixel) associated with the HIGHEST quality-band-score
// are included in the output.

// A Sentinel-2 SR image collection (2 months of images at a specific point).
var col = ee.ImageCollection('COPERNICUS/S2_SR_HARMONIZED')
  .filterBounds(ee.Geometry.Point(-103.19, 40.14))
  .filterDate('2020-07-01', '2020-09-01');

// Because cloud probability ranges from 0 to 100 percent (low to high), we need
// to invert the MSK_CLDPRB band values so that low cloud probability pixels
// indicate high quality. Here, an inverting function is mapped over the
// image collection, the inverted MSK_CLDPRB band is added as a "quality" band.
col = col.map(function(img) {
  var cldProb = img.select('MSK_CLDPRB');
  var cldProbInv = cldProb.multiply(-1).rename('quality');
  return img.addBands(cldProbInv);
});

// Image visualization settings.
var visParams = {
  bands: ['B4', 'B3', 'B2'],
  min: 0,
  max: 4500
};
Map.setCenter(-103.19, 40.14, 9);
Map.addLayer(col, visParams, 'Collection (for series inspection)', false);

// Generate a best-pixel mosaic from the image collection.
var img = col.qualityMosaic('quality');
Map.addLayer(img, visParams, 'Best-pixel mosaic (by cloud score)');

// To build the worst-pixel mosaic, according to cloud probability, use the
// MSK_CLDPRB band as the quality band (the worst pixels have HIGHEST cloud
// probability score).
var img = col.qualityMosaic('MSK_CLDPRB');
Map.addLayer(img, visParams, 'Worst-pixel mosaic (by cloud score)', false);

Python 设置

如需了解 Python API 和如何使用 geemap 进行交互式开发,请参阅 Python 环境页面。

import ee
import geemap.core as geemap

Colab (Python)

# The goal is to generate a best-pixel mosaic from a collection of
# Sentinel-2 images where pixel quality is based on a cloud probability score.
# The qualityMosaic() function selects the image (per-pixel) with the HIGHEST
# quality-band-score to contribute to the resulting mosaic. All bands from the
# selected image (per-pixel) associated with the HIGHEST quality-band-score
# are included in the output.

# A Sentinel-2 SR image collection (2 months of images at a specific point).
col = (
    ee.ImageCollection('COPERNICUS/S2_SR_HARMONIZED')
    .filterBounds(ee.Geometry.Point(-103.19, 40.14))
    .filterDate('2020-07-01', '2020-09-01')
)

# Because cloud probability ranges from 0 to 100 percent (low to high), we need
# to invert the MSK_CLDPRB band values so that low cloud probability pixels
# indicate high quality. Here, an inverting function is mapped over the
# image collection, the inverted MSK_CLDPRB band is added as a "quality" band.
def invertCloudProbabilityBand(img):
  cldProb = img.select('MSK_CLDPRB')
  cldProbInv = cldProb.multiply(-1).rename('quality')
  return img.addBands(cldProbInv)

col = col.map(invertCloudProbabilityBand)

# Image visualization settings.
vis_params = {'bands': ['B4', 'B3', 'B2'], 'min': 0, 'max': 4500}
m = geemap.Map()
m.set_center(-103.19, 40.14, 9)
m.add_layer(col, vis_params, 'Collection (for series inspection)', False)

# Generate a best-pixel mosaic from the image collection.
img = col.qualityMosaic('quality')
m.add_layer(img, vis_params, 'Best-pixel mosaic (by cloud score)')

# To build the worst-pixel mosaic, according to cloud probability, use the
# MSK_CLDPRB band as the quality band (the worst pixels have HIGHEST cloud
# probability score).
img = col.qualityMosaic('MSK_CLDPRB')
m.add_layer(img, vis_params, 'Worst-pixel mosaic (by cloud score)', False)
m