# Understanding MODIS pixel size, CRS projection SR-ORG:6974 in Google Earth Engine

I am calculating the area of an ice cover by summing the number of pixels having a value above a certain threshold then multiplying by the pixel area. This is done for a collection of images over a number of years.

The resolution of the MODIS dataset I'm using is 500 m. When I use the function `ee.Reducer.sum()` I set the scale to this value. When my area is calculated however, the pixel size appears to be 463.3 m with areas reflecting this pixel size (0.216 km2 instead of 0.25 km2).

I am not a remote sensing or GIS scientist by trade and am struggling to understand the relationship between projection (when a pixel is inspected it shows, SR-ORG:6974) and scale. This MODIS data set uses a sinusoidal projection which I understand to be area-preserving. That being said when I look at pixels nearer to the equator, they also appear to have a size of 463.3.

My bottomline is that I need to present the most accurate measure of area and make sure I have not caused an error.

Are the areas I've calculated using this approach correct or should they be based on a 500 m pixel?

My code is quite long and may confuse the main question, but I've included the main parts below to show my general method. It's not run-able but I can provide the rest if need be.

``````//Create a number of masks and other functions to clean up images and highlight ice, there is no //use of scale up to this point

.map(getclouddata)
.map(getcirrusdata)

//Function to create threshold and multiply by pixel area to determine ice area

var icethreshold= 3000;
var icefunction = function(image){
var icejunk= image.select(['Ice_index']);
var wateretc= icejunk.lt(icethreshold);
var solidice = icejunk.gte(icethreshold);
var area2= ee.Image.pixelArea();
var iceArea1 = solidice.multiply(area2).rename('iceArea1');
var iceArea= iceArea1.divide(1000*1000).rename('iceArea');

//highlight only pixels marked as ice through thresholding and combine with all filtering steps

print (filteredAlliceQAcloud);

//Apply to specific regions and plot

var chart = ui.Chart.image.series(filteredAlliceQAcloud.select('iceArea'), regions, ee.Reducer.sum(),500)
.setChartType('LineChart')
.setOptions({
//title: 'Beisfjord',
hAxis: {title: 'Date'},
vAxis: {title: 'Ice Area, QA and cloud filtered (m^2)'},
fontSize: 20,
legend: {position: 'right'}
});
``````