GEE影像集合导出:使用evalTask异步操作

版权申诉
5星 · 超过95%的资源 2 下载量 100 浏览量 更新于2024-09-12 2 收藏 2KB TXT 举报
"这篇文本介绍了如何在Google Earth Engine (GEE) 中导出影像集合数据。GEE不直接支持影像集合的批量导出,需要通过循环遍历和异步操作`evaluate`来实现。文中提供了具体的代码示例,包括设置导出函数、筛选影像、获取并处理索引等步骤。" 在Google Earth Engine中,由于平台限制,我们无法直接导出影像集合(Image Collection)的数据,必须通过循环和异步操作逐个导出单张影像。在提供的代码示例中,首先定义了一个影像集合`l8`,它包含了LANDSAT 8的TOA反射率数据,然后选择了特定的区域`roi`进行操作。地图会自动调整中心位置并显示所选区域。 接下来,定义了一个名为`exportImage`的函数,该函数用于将影像导出到Google Drive。函数接受三个参数:要导出的影像、导出的区域以及文件名。在导出时,设置了影像描述、文件名前缀、保存的文件夹、分辨率、导出区域、像素限制以及坐标参考系统。 为了筛选所需的影像,使用了`filterBounds`和`filterDate`方法,选取了在2017年8月1日至2017年12月1日期间覆盖`roi`的影像,并打印出筛选后的影像集合`selectCol`。 进一步处理中,通过`reduceColumns`方法统计影像集合中的"system:index"属性,将其转化为列表`indexList`。这一步可能用于后续的循环操作,以便按照索引顺序逐个导出影像。 在实际应用中,要导出整个影像集合,你需要遍历`indexList`,并在每个迭代中调用`exportImage`函数,并传入相应的影像和其索引。由于GEE的限制,`Export.image.toDrive`不能在map上下文中运行,所以需要使用`evaluate`来异步执行这个任务。`evaluate`的回调函数会在客户端运行,此时GEE对象会被转化为JavaScript对象,可以进行正常的循环操作。 总结起来,这个代码片段展示了如何在GEE中处理和导出影像集合数据,特别是利用`evaluate`函数解决集合导出的问题。这对于需要从GEE下载大量影像数据的研究人员和分析员来说是一个重要的技巧。在实际操作时,需要注意控制导出的文件大小,以避免超过Google Drive的存储限制,以及处理可能出现的并发导出问题。