how to download images using google earth engine's python API

A S picture A S · Aug 30, 2016 · Viewed 10.4k times · Source

I am using Google's Earth Engine API to access LandSat images. The program is as given below,

import ee
ee.Initialize()

Load a landsat image and select three bands.

landsat = ee.Image('LANDSAT/LC8_L1T_TOA
/LC81230322014135LGN00').select(['B4', 'B3', 'B2']);

Create a geometry representing an export region.

geometry = ee.Geometry.Rectangle([116.2621, 39.8412, 116.4849, 40.01236]);

Export the image, specifying scale and region.

 export.image.toDrive({
    image: landsat,
    description: 'imageToDriveExample',
    scale: 30,  
    region: geometry
    });

it throws the following error.

Traceback (most recent call last):
File "e6.py", line 11, in <module>
export.image.toDrive({
NameError: name 'export' is not defined

Please Help. I am unable to find the right function to download images.

Answer

Ben DeVries picture Ben DeVries · Dec 22, 2016

If you are using the python API, you have to use the 'batch' submodule. The default behaviour is to save to your google drive. You can specify your bounding box as a list of coordinates as well:

llx = 116.2621
lly = 39.8412
urx = 116.4849
ury = 40.01236
geometry = [[llx,lly], [llx,ury], [urx,ury], [urx,lly]]

task_config = {
    'description': 'imageToDriveExample',
    'scale': 30,  
    'region': geometry
    }

task = ee.batch.Export.image(landsat, 'exportExample', task_config)

task.start()

This should generate a file called 'exportExample.tif' in your GoogleDrive top folder.

Also note that the semicolons at the end of each line are not necessary in python.