问题
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.
回答1:
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.
回答2:
To build on Ben's answer, you can also use:
geometry = ee.Geometry.Rectangle([116.2621, 39.8412, 116.4849, 40.01236])
from your original post, but add the following line beneath it so the coordinates are in the correct format for the task_config-->Region field:
geometry = ee.Geometry.Rectangle([116.2621, 39.8412, 116.4849, 40.01236])
geometry = geometry['coordinates'][0]
It prevents a "task_config" formatting mismatch when you get to here:
task = ee.batch.Export.image(landsat, 'exportExample', task_config)
This will allow you to use the given function from the API, but it will extract the coordinates in such a way that you can use them in the approach suggested by Ben above.
回答3:
There is a typo in your code, Export
should start from the capital letter. See documentation.
回答4:
Where do you specify the dates? Is there any good, quick, documentation or tutorial for Python? seems there are plenty about JavaScript one!
回答5:
There is good, quick example of python api.You can check this link. There is 1 post for download satellite image using python api.
来源:https://stackoverflow.com/questions/39219705/how-to-download-images-using-google-earth-engines-python-api