如何加快Google地球引擎的导出速度?

时间:2017-08-09 12:14:50

标签: python export satellite-image google-earth-engine google-python-api

我需要从Google地球引擎下载一堆Landsat图像,我在其Python API中使用

task = ee.batch.Export.image(IMAGE, NAME, config=CONFIG)
task.start()

虽然它有效但速度极慢。我的图像大小约为70kb,但每个都需要4分钟或更长时间。目前这种情况发生在for循环中,那么如果可能的话,如何将多个图像打包为一个任务呢?还是其他加速这个过程的方法?

2 个答案:

答案 0 :(得分:1)

出口的启动成本非常高。如果您只是导出微小的碎片,则可以使用image.getThumbnail进行RGB可视化图像,或image.getDownloadURL()进行原始数据。

getThumbnail()函数会为您提供PNG或JPEG格式,getDownloadURL()会为您提供一个zip文件,其中乐队作为单独的地理位置。请注意,对于大量下载或需要大量计算的图像,两者都不可靠。由于图像在您访问生成的URL后开始计算,因此无法通信失败;如果出现问题,你只会得到一个空的/损坏的文件。

答案 1 :(得分:0)

你根本做不到。这是一个在Google服务器中进行的过程,因此您无法对其进行任何操作。我唯一能想到的是:如果你做了不必要的操作,可能需要更长的时间,我猜。例如(一个非常简单的):

img_1 = ee.Image(A).add(ee.Image(B)).add(ee.Image(C)).subtract(ee.Image(B))

img_2 = ee.Image(A).add(ee.Image(C))

导出img_1可能需要比导出img_2更长的时间。但我只是猜测,因为我真的不知道“服务器端”发生了什么......你可以问一下在地球引擎论坛(https://groups.google.com/forum/#!forum/google-earth-engine-developers)知道这一点的人。

顺便说一下,如果您使用Python API,这可能很有用:https://github.com/gee-community/gee_tools