如何在googleearth引擎中加速出口?

2024-03-28 17:26:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要从googleearth引擎下载一堆陆地卫星图像,我正在它的pythonapi中使用

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

虽然它能工作,但速度非常慢。我的图像大小约为70kb,但每幅图像需要4分钟或更长时间。目前这是在for循环中发生的,所以如果可能的话,如何将多个图像打包为一个任务?或者其他加速这个过程的方法?在


Tags: name图像image引擎configpythonapitaskbatch
2条回答

你根本做不到。这是一个发生在谷歌服务器上的过程,所以你对此无能为力。我唯一能想到的是:如果你做不必要的手术,我想可能需要更长的时间。例如(一个非常简单的例子):

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)上问那些知道这一点的人。在

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

出口的启动成本相当高。如果您只是导出微小的片段,您可以使用image.getThumbnail来处理RGB可视化图像,或者使用image.getDownloadURL()来处理原始数据。在

getThumbnail()函数将为您提供一个PNG或JPEG,getDownloadURL()将为您提供一个zipfile,其中带作为单独的geotiff。请注意,对于大量下载或需要大量计算的图像,两者都不可靠。由于在访问结果URL后就开始计算图像,因此无法传递失败信息;如果出现问题,您只会得到一个空的/损坏的文件。在

相关问题 更多 >