Send feedback
ee.ImageCollection.mosaic
Stay organized with collections
Save and categorize content based on your preferences.
Composites all the images in a collection, using the mask.
Usage Returns ImageCollection. mosaic ()
Image
Argument Type Details this: collection
ImageCollection The collection to mosaic.
Examples
Code Editor (JavaScript)
// Sentinel-2 image collection for July 2021 intersecting a point of interest.
// Reflectance, cloud probability, and scene classification bands are selected.
var col = ee . ImageCollection ( 'COPERNICUS/S2_SR' )
. filterDate ( '2021-07-01' , '2021-08-01' )
. filterBounds ( ee . Geometry . Point ( - 122.373 , 37.448 ))
. select ( 'B.*|MSK_CLDPRB|SCL' );
// Visualization parameters for reflectance RGB.
var visRefl = {
bands : [ 'B11' , 'B8' , 'B3' ],
min : 0 ,
max : 4000
};
Map . setCenter ( - 122.373 , 37.448 , 9 );
Map . addLayer ( col , visRefl , 'Collection reference' , false );
// Reduce the collection to a single image using a variety of methods.
var mean = col . mean ();
Map . addLayer ( mean , visRefl , 'Mean (B11, B8, B3)' );
var median = col . median ();
Map . addLayer ( median , visRefl , 'Median (B11, B8, B3)' );
var min = col . min ();
Map . addLayer ( min , visRefl , 'Min (B11, B8, B3)' );
var max = col . max ();
Map . addLayer ( max , visRefl , 'Max (B11, B8, B3)' );
var sum = col . sum ();
Map . addLayer ( sum ,
{ bands : [ 'MSK_CLDPRB' ], min : 0 , max : 500 }, 'Sum (MSK_CLDPRB)' );
var product = col . product ();
Map . addLayer ( product ,
{ bands : [ 'MSK_CLDPRB' ], min : 0 , max : 1e10 }, 'Product (MSK_CLDPRB)' );
// ee.ImageCollection.mode returns the most common value. If multiple mode
// values occur, the minimum mode value is returned.
var mode = col . mode ();
Map . addLayer ( mode , { bands : [ 'SCL' ], min : 1 , max : 11 }, 'Mode (pixel class)' );
// ee.ImageCollection.count returns the frequency of valid observations. Here,
// image pixels are masked based on cloud probability to add valid observation
// variability to the collection. Note that pixels with no valid observations
// are masked out of the returned image.
var notCloudCol = col . map ( function ( img ) {
return img . updateMask ( img . select ( 'MSK_CLDPRB' ). lte ( 10 ));
});
var count = notCloudCol . count ();
Map . addLayer ( count , { min : 1 , max : 5 }, 'Count (not cloud observations)' );
// ee.ImageCollection.mosaic composites images according to their position in
// the collection (priority is last to first) and pixel mask status, where
// invalid (mask value 0) pixels are filled by preceding valid (mask value >0)
// pixels.
var mosaic = notCloudCol . mosaic ();
Map . addLayer ( mosaic , visRefl , 'Mosaic (B11, B8, B3)' );
Python setup
See the
Python Environment page for information on the Python API and using
geemap
for interactive development.
import ee
import geemap.core as geemap
Colab (Python)
# Sentinel-2 image collection for July 2021 intersecting a point of interest.
# Reflectance, cloud probability, and scene classification bands are selected.
col = (
ee . ImageCollection ( 'COPERNICUS/S2_SR' )
. filterDate ( '2021-07-01' , '2021-08-01' )
. filterBounds ( ee . Geometry . Point ( - 122.373 , 37.448 ))
. select ( 'B.*|MSK_CLDPRB|SCL' )
)
# Visualization parameters for reflectance RGB.
vis_refl = { 'bands' : [ 'B11' , 'B8' , 'B3' ], 'min' : 0 , 'max' : 4000 }
m = geemap . Map ()
m . set_center ( - 122.373 , 37.448 , 9 )
m . add_layer ( col , vis_refl , 'Collection reference' , False )
# Reduce the collection to a single image using a variety of methods.
mean = col . mean ()
m . add_layer ( mean , vis_refl , 'Mean (B11, B8, B3)' )
median = col . median ()
m . add_layer ( median , vis_refl , 'Median (B11, B8, B3)' )
min = col . min ()
m . add_layer ( min , vis_refl , 'Min (B11, B8, B3)' )
max = col . max ()
m . add_layer ( max , vis_refl , 'Max (B11, B8, B3)' )
sum = col . sum ()
m . add_layer (
sum , { 'bands' : [ 'MSK_CLDPRB' ], 'min' : 0 , 'max' : 500 }, 'Sum (MSK_CLDPRB)'
)
product = col . product ()
m . add_layer (
product ,
{ 'bands' : [ 'MSK_CLDPRB' ], 'min' : 0 , 'max' : 1e10 },
'Product (MSK_CLDPRB)' ,
)
# ee.ImageCollection.mode returns the most common value. If multiple mode
# values occur, the minimum mode value is returned.
mode = col . mode ()
m . add_layer (
mode , { 'bands' : [ 'SCL' ], 'min' : 1 , 'max' : 11 }, 'Mode (pixel class)'
)
# ee.ImageCollection.count returns the frequency of valid observations. Here,
# image pixels are masked based on cloud probability to add valid observation
# variability to the collection. Note that pixels with no valid observations
# are masked out of the returned image.
not_cloud_col = col . map (
lambda img : img . updateMask ( img . select ( 'MSK_CLDPRB' ) . lte ( 10 ))
)
count = not_cloud_col . count ()
m . add_layer ( count , { 'min' : 1 , 'max' : 5 }, 'Count (not cloud observations)' )
# ee.ImageCollection.mosaic composites images according to their position in
# the collection (priority is last to first) and pixel mask status, where
# invalid (mask value 0) pixels are filled by preceding valid (mask value >0)
# pixels.
mosaic = not_cloud_col . mosaic ()
m . add_layer ( mosaic , vis_refl , 'Mosaic (B11, B8, B3)' )
m
Send feedback
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License , and code samples are licensed under the Apache 2.0 License . For details, see the Google Developers Site Policies . Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2023-10-06 UTC.
Need to tell us more?
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2023-10-06 UTC."],[[["`ImageCollection.mosaic()` composites all images within a collection based on their order and mask status."],["The function prioritizes images later in the collection and uses valid pixels to fill in invalid ones from earlier images."],["Invalid pixels have a mask value of 0, while valid pixels have a mask value greater than 0."],["This method is useful for creating cloud-free composites or filling in gaps in image coverage."]]],[]]