Here is the thing: I want to count how many Landsat pixels 30x30m were included in a 500x500m MODIS pixel. It is basically a zonal statistics, and I use reduceResolution to compute. But the issue is: in theory, there should be 500x500/30x30 = 278 landsat pixels in a MODIS pixel. But when I compute use count reducer in GEE, the number is 403 ~ 424, larger than the theoretical value. When implemented in arcgis, the sum zonal statistics returns 272 ~ 289, which makes more sense considering the actual MODIS pixel size is < 500 and Landsat pixel size is < 30 as well. So my question is how GEE handle the pixel resolution and alignment when implementing zonal statistics? Also, how can I get the value close to the theoretical 278? Is there a projection problem hidden in this issue? As GEE projection tutorial stated we should rarely concerned about projection when computing. I also tried reproject all layers to the same coordinates, but zonal statistics results are around 415. here is my snippet using GEE example.
// Load a MODIS EVI image.
var modis = ee.Image(ee.ImageCollection('MODIS/006/MOD13A1').first())
.select('EVI');
// Display the EVI image near La Honda, California.
Map.setCenter(-122.3616, 37.5331, 12);
Map.addLayer(modis, {min: 2000, max: 5000}, 'MODIS EVI');
// Get information about the MODIS projection.
var modisProjection = modis.projection(); // what's the difference betwen .projection() and crs()
print('MODIS projection:', modisProjection);
//var modisCrs = modis.crs(); // modis.crs is not a function
//print('MODIS crs', modisCrs);
// Load and display forest cover data at 30 meters resolution.
var forest = ee.Image('UMD/hansen/global_forest_change_2015')
.select('treecover2000');
var forestCount = forest
// Force the next reprojection to aggregate instead of resampling.
.reduceResolution({
reducer: ee.Reducer.count(), // count gives value 403~424
maxPixels: 1024
})
// Request the data at the scale and projection of the MODIS image.
.reproject({
crs: modisProjection
});
// Display the aggregated, reprojected forest cover data.
Map.addLayer(forestCount, {max :80}, 'forest cover count at MODIS scale');
Here is screen shot of images when use ee.Reducer.count(). the black pixel value is around 403, and the white pixel value is around 424. Way large than the theoretical 278.