公告:所有在
2025 年 4 月 15 日之前注册使用 Earth Engine 的非商业项目都必须
验证是否符合非商业性质的资格条件,才能继续使用 Earth Engine。
ee.ImageCollection.qualityMosaic
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
使用质量频段作为逐像素排序函数,合成集合中的所有图片。
用法 | 返回 |
---|
ImageCollection.qualityMosaic(qualityBand) | 图片 |
参数 | 类型 | 详细信息 |
---|
此:collection | ImageCollection | 要进行马赛克处理的集合。 |
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
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-07-27。
[null,null,["最后更新时间 (UTC):2025-07-27。"],[[["\u003cp\u003e\u003ccode\u003equalityMosaic()\u003c/code\u003e composites images in a collection based on a specified quality band, selecting the highest quality pixel for each location in the output mosaic.\u003c/p\u003e\n"],["\u003cp\u003eThe 'quality band' is a band within the image collection that represents the desired quality metric (e.g., cloud probability, NDVI).\u003c/p\u003e\n"],["\u003cp\u003eThe function returns a single image where each pixel is chosen from the input image with the highest value in the quality band at that location.\u003c/p\u003e\n"],["\u003cp\u003eYou can manipulate the quality band (e.g., inverting cloud probability) to prioritize different pixel selection criteria.\u003c/p\u003e\n"]]],[],null,["# ee.ImageCollection.qualityMosaic\n\nComposites all the images in a collection, using a quality band as a per-pixel ordering function.\n\n\u003cbr /\u003e\n\n| Usage | Returns |\n|----------------------------------------------|---------|\n| ImageCollection.qualityMosaic`(qualityBand)` | Image |\n\n| Argument | Type | Details |\n|--------------------|-----------------|-------------------------------------------------|\n| this: `collection` | ImageCollection | The collection to mosaic. |\n| `qualityBand` | String | The name of the quality band in the collection. |\n\nExamples\n--------\n\n### Code Editor (JavaScript)\n\n```javascript\n// The goal is to generate a best-pixel mosaic from a collection of\n// Sentinel-2 images where pixel quality is based on a cloud probability score.\n// The qualityMosaic() function selects the image (per-pixel) with the HIGHEST\n// quality-band-score to contribute to the resulting mosaic. All bands from the\n// selected image (per-pixel) associated with the HIGHEST quality-band-score\n// are included in the output.\n\n// A Sentinel-2 SR image collection (2 months of images at a specific point).\nvar col = ee.ImageCollection('COPERNICUS/S2_SR_HARMONIZED')\n .filterBounds(ee.Geometry.Point(-103.19, 40.14))\n .filterDate('2020-07-01', '2020-09-01');\n\n// Because cloud probability ranges from 0 to 100 percent (low to high), we need\n// to invert the MSK_CLDPRB band values so that low cloud probability pixels\n// indicate high quality. Here, an inverting function is mapped over the\n// image collection, the inverted MSK_CLDPRB band is added as a \"quality\" band.\ncol = col.map(function(img) {\n var cldProb = img.select('MSK_CLDPRB');\n var cldProbInv = cldProb.multiply(-1).rename('quality');\n return img.addBands(cldProbInv);\n});\n\n// Image visualization settings.\nvar visParams = {\n bands: ['B4', 'B3', 'B2'],\n min: 0,\n max: 4500\n};\nMap.setCenter(-103.19, 40.14, 9);\nMap.addLayer(col, visParams, 'Collection (for series inspection)', false);\n\n// Generate a best-pixel mosaic from the image collection.\nvar img = col.qualityMosaic('quality');\nMap.addLayer(img, visParams, 'Best-pixel mosaic (by cloud score)');\n\n// To build the worst-pixel mosaic, according to cloud probability, use the\n// MSK_CLDPRB band as the quality band (the worst pixels have HIGHEST cloud\n// probability score).\nvar img = col.qualityMosaic('MSK_CLDPRB');\nMap.addLayer(img, visParams, 'Worst-pixel mosaic (by cloud score)', false);\n```\nPython setup\n\nSee the [Python Environment](/earth-engine/guides/python_install) page for information on the Python API and using\n`geemap` for interactive development. \n\n```python\nimport ee\nimport geemap.core as geemap\n```\n\n### Colab (Python)\n\n```python\n# The goal is to generate a best-pixel mosaic from a collection of\n# Sentinel-2 images where pixel quality is based on a cloud probability score.\n# The qualityMosaic() function selects the image (per-pixel) with the HIGHEST\n# quality-band-score to contribute to the resulting mosaic. All bands from the\n# selected image (per-pixel) associated with the HIGHEST quality-band-score\n# are included in the output.\n\n# A Sentinel-2 SR image collection (2 months of images at a specific point).\ncol = (\n ee.ImageCollection('COPERNICUS/S2_SR_HARMONIZED')\n .filterBounds(ee.Geometry.Point(-103.19, 40.14))\n .filterDate('2020-07-01', '2020-09-01')\n)\n\n# Because cloud probability ranges from 0 to 100 percent (low to high), we need\n# to invert the MSK_CLDPRB band values so that low cloud probability pixels\n# indicate high quality. Here, an inverting function is mapped over the\n# image collection, the inverted MSK_CLDPRB band is added as a \"quality\" band.\ndef invertCloudProbabilityBand(img):\n cldProb = img.select('MSK_CLDPRB')\n cldProbInv = cldProb.multiply(-1).rename('quality')\n return img.addBands(cldProbInv)\n\ncol = col.map(invertCloudProbabilityBand)\n\n# Image visualization settings.\nvis_params = {'bands': ['B4', 'B3', 'B2'], 'min': 0, 'max': 4500}\nm = geemap.Map()\nm.set_center(-103.19, 40.14, 9)\nm.add_layer(col, vis_params, 'Collection (for series inspection)', False)\n\n# Generate a best-pixel mosaic from the image collection.\nimg = col.qualityMosaic('quality')\nm.add_layer(img, vis_params, 'Best-pixel mosaic (by cloud score)')\n\n# To build the worst-pixel mosaic, according to cloud probability, use the\n# MSK_CLDPRB band as the quality band (the worst pixels have HIGHEST cloud\n# probability score).\nimg = col.qualityMosaic('MSK_CLDPRB')\nm.add_layer(img, vis_params, 'Worst-pixel mosaic (by cloud score)', False)\nm\n```"]]