In the GEE documentation of Sentinel-2 Surface Reflectance dataset (here) the information given is that there is a band for AOT (Aerosol Optical thickness) with a 10m resolution. However, when loading data from this band, the resolution I get is only 100m.

What is the reason for the discrepancy here and how can I access data for AOT with 10m resolution?

This is how I load the data via the Python API:

collection = ee.ImageCollection('COPERNICUS/S2_SR') \
.filterBounds(ee_roi) \
.filterDate('2018-01-01', '2019-01-01') \

Here the crs_transforms schows that the reolution is indeed 10m:

img = collection.first()

Out: [10, 0, 600000, 0, -10, 5400000]

Then I download the images:

geemap.ee_export_image_collection(collection, out_dir=save_dir, file_per_band=True)

and load them using gdal, which turns out to be an image with 100m resolution:

ds = gdal.Open(tif_path, gdal.GA_ReadOnly)

Out: (599900.0, 100.0, 0.0, 5400100.0, 0.0, -100.0)

So maybe the problem occurs when exporting the images.

  • As per the help center please do not include chit chit like thanks, other statements of appreciation and a signature in your posts.
    – PolyGeo
    Nov 20, 2021 at 6:59

1 Answer 1


Not sure why you think you're seeing 100m pixels; the crs_transform of the band clearly shows that the pixels are 10m in size, and displaying the image, you can clearly see 10m boundaries on the pixels.

inspecting the AOT band

displayed on the map

The S2 Level 2 documentation describes that band as being resampled from 20m

  • Thanks for your comment, you are totally right! The images do have 10m resolution. Then I wonder if maybe the problem lies in the exporting of th eimages? Or with gdal? (I edited the description to include the code I am using to export the images)
    – AriPH
    Nov 19, 2021 at 15:20

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.