Google Earth Engine Layers – How Does Google Earth Engine Map Multiple Images to a Single Layer

google-earth-enginelayers

Here is a basic example using data from the VIIRS collection:

var dataset = ee.ImageCollection('NOAA/VIIRS/DNB/MONTHLY_V1/VCMSLCFG')
                  .filter(ee.Filter.date('2017-05-01', '2017-07-31'));
var nighttime = dataset.select('avg_rad');
var nighttimeVis = {min: 0.0, max: 60.0};
Map.setCenter(-77.1056, 38.8904, 8);
Map.addLayer(nighttime, nighttimeVis, 'Nighttime');

Because of the date range being passed to the ee.Filter.date() function along with the fact that the VIIRS collection consists of monthly average radiance composite images, the resulting dataset variable will include a list of 3 separate images from the overall collection: '2017-05-01', '2017-06-01', and '2017-07-01'.

enter image description here

When the 'avg_rad' band is selected and then plotted as a single layer, we see that the resulting layer is a greyscale band:

enter image description here

I'm wondering how the Map.addLayer() function resolves the fact that it is using values from 3 different images to create a single band for the resulting layer? For each pixel of the new layer, does it take the mean of the corresponding pixels from each Image i.e. new_pixel_value = (px1 + px2 + px3)/image_count? Or is there some other process going on?

Best Answer

I actually figured this out after looking through the example code associated with the Map.addLayer documentation.

From the a comment within the sample code: "Images within ImageCollections are automatically mosaicked according to mask status and image order. The last image in the collection takes priority, invalid pixels are filled by valid pixels in preceding images."

enter image description here

Related Question