1

I'm new in GEE. I have known that the crs and nominalscale() will change after the mean() method, but I'm confused because the reduced image showed the same native resolution with the original ImageCollection in the Map.

Taking the MODIS EVI data for an example:

var dataset = ee.ImageCollection('MODIS/MCD43A4_006_EVI')
                  .filter(ee.Filter.date('2018-04-01', '2018-06-01'));
var colorized = dataset.select('EVI');
var colorizedVis = {
  min: 0.0,
  max: 1.0,
  palette: [
    'FFFFFF', 'CE7E45', 'DF923D', 'F1B555', 'FCD163', '99B718', '74A901',
    '66A000', '529400', '3E8601', '207401', '056201', '004C00', '023B01',
    '012E01', '011D01', '011301'
  ],
};

var colorized_mean = dataset.select('EVI').mean();

Map.addLayer(colorized.first(), colorizedVis, 'Colorized');
Map.addLayer(colorized_mean, colorizedVis, 'Colorized_mean');

print('colorized_crs', colorized.first().projection());
print('colorized_mean_crs', colorized_mean.projection());
print('colorized_scale', colorized.first().projection().nominalScale());
print('colorized_mean_scale', colorized_mean.projection().nominalScale());

After the method mean(), the image crs changed from SR-ORG:6974 to EPSG:4326, and the nominalscale() changed from 463.3127165275 to 111319.49079327357.

However, when added them to the Map, they seemed to have the same native resolution (i.e. the same size and shape of the smallest pixel): enter image description here

enter image description here

Since I have not designated a projection after the mean() method, is this because when I use the Map.addLayer, it will automatically find the original projection of the image rather than the subsequent EPSG 4326?

1 Answer 1

0

The map in the web editor will always show the Images in EPSG:3857 (Web Mercator) with a scale corresponding to the current zoom level. In general data is only computed when it is needed, and no matter how you output it, at that point you have to specify a crs and scale (Like during an export or .reduceRegion()).

If you only print the data and no pixels actually have to be computed, the default projection is kept.

Here's a relevant part from the documentation:

Users often find this behavior confusing and worry about the "lost" projection information, but the pixels aren't actually computed until they're needed (learn more), and at that point, there's always an output projection that accompanies the request that specified how to compute the composite.

5
  • Thank you for your answer! However, I'm wondering when I put the composite image to the Map, why it used the original projection and scale rather than the default projection EPSG: 4326? Though the image was reprojected again to EPSG: 3857 for the Map, it seemed the native resolution (or the smallest pixel) was not from EPSG: 4326.
    – QRW
    Sep 6, 2021 at 11:06
  • No, because the native resolution is not EPSG:4326. When you display it on the map, it will never be EPSG:4326 but instead will get requested directly in EPSG:3857 at the appropriate zoom level. EPSG:4326 is basically a placeholder for when no pixels have been requested. I would really reccommend you to read through the documentation I linked, it explains the whole concept pretty well.
    – JonasV
    Sep 6, 2021 at 11:56
  • Thanks, I have read the documentation thoroughly. Sorry for my limited knowledge in all the projections. Though it is reprojected to EPSG: 3857, why the shape of the smallest pixel is not a rectangle but a parallelogram? I once thought it was decided by the original projection and scale of the image, but now I'm not sure about that.
    – QRW
    Sep 6, 2021 at 13:20
  • Yea, that's a good question. I don't really have an answer for that one. It might be an optimization on the side of Earth Engine. Maybe try asking that specific question in the Earth Engine Developers Forum
    – JonasV
    Sep 6, 2021 at 13:49
  • That's fine. Thanks again for your kind answer!
    – QRW
    Sep 6, 2021 at 15:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.