ee.ImageCollection.qualityMosaic

Kết hợp tất cả hình ảnh trong một bộ sưu tập, sử dụng dải chất lượng làm hàm sắp xếp theo từng pixel.

Cách sử dụngGiá trị trả về
ImageCollection.qualityMosaic(qualityBand)Hình ảnh
Đối sốLoạiThông tin chi tiết
this: collectionImageCollectionBộ sưu tập cần tạo ảnh ghép.
qualityBandChuỗiTên của dải chất lượng trong bộ sưu tập.

Ví dụ

Trình soạn thảo mã (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);

Thiết lập Python

Hãy xem trang Môi trường Python để biết thông tin về API Python và cách sử dụng geemap cho quá trình phát triển tương tác.

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