I am fairly new to both python and Google Earth Engine, so please bear with me if the following question is kind of stupid because it ignores some basic knowledge.

I would like to process some Sentinel-2 hyperspectral images available from Google Earth Engine, but, as I said I am not very familiar with python. My idea was, therefore, to use python to get the images to my drive (in some kind of standardized format such as netcdf, BSQ, etc.) and then process them locally with MATLAB for which I already have an analysis pipeline.

Nevertheless I can't seem to find any way to do that: all the info I find clearly state how to export the image to Google Drive (I can do it and it works), but there's no clear info on how to get it on the local hard drive. Is that possible?

Thanks for the answers!


Because Google Earth Engine data exports are asyncronous, the destinations are also cloud-based. Your options are Google Drive, Google Cloud Storage, or new assets in Earth Engine. Cloud Storage is generally the best option when it comes to exporting many files, as there is a handy command-line interface, gsutil to download (and upload) in bulk.

But if all you need is Sentinel-2 imagery, you can download directly from the public Cloud Storage bucket that Google maintains for this. See: https://cloud.google.com/storage/docs/public-datasets/sentinel-2

Data from this bucket can be downloaded using the gsutil tool, which will allow you to pull data directly to your hard drive.

  • Thanks, does Cloud Storage Bucket allow manipulation and filtering as well? I wanted to use google earth engine because it allows me to easily and programmatically perform spatial subsetting, temporal subsetting, ... – Mutewinter Jun 3 '20 at 22:10
  • No, Cloud Storage is effectively a file server of raw data. You would need to figure out which images you need to download, and pass that list to gsutil. There is a csv index (also searchable in BigQuery) you can use to find the files you want to work with. See the last section at console.cloud.google.com/marketplace/details/esa-public-data/… – Jeremy Malczyk Jun 3 '20 at 23:10

You can export an ImageCollection to Google Drive using only one line of code with the geemap Python package. Check out this notebook example.

geemap.ee_export_image_collection_to_drive(collection, folder='export', scale=10)

You can't directly export it locally. According to https://developers.google.com/earth-engine/exporting#to-drive,

You can export images, map tiles, tables and video from Earth Engine. The exports can be sent to your Google Drive account, to Google Cloud Storage or to a new Earth Engine asset.

The easiest way is to export to drive, and then download locally from there.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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