首页 > 解决方案 > 尝试批量下载时如何修复 Google 地球引擎中的“无效 GeoJSON 几何”错误?

问题描述

我正在尝试使用 Rodrigo Principe 提供的批处理 repo,它可以使用 GEE API 导出 Google Earth Engine 图像集合中的所有图像:

https://github.com/fitoprincipe/geetools-code-editor/wiki/Batch

他在此线程的末尾提供了一个示例脚本,我尝试使用该脚本,但出现错误:

导出 Google 地球引擎图像集合中的所有图像(Google 地球引擎 API)

错误是:

Invalid GeoJSON geometry: [[[-73.87879425086899,46.471905677908346],[-70.84547603387989,46.471905677908346],[-70.84547603387989,48.4283626121078],[-73.87879425086899,48.4283626121078],[-73.87879425086899,46.471905677908346]]]

每当尝试将此批处理工具用于我的任何脚本时,此问题仍然存在。Rodrigo 提供的示例脚本是我在下面粘贴的脚本;我已将示例图像集合更改为其他内容。

令人沮丧的是,我之前能够完成这项工作,但现在它不再工作了。我不小心更改了 GEE API 中的某些环境设置吗?

我试过使用

var batch = require('users/fitoprincipe/geetools:batch')
batch.Download.ImageCollection.toDrive(col, "Folder",{scale:30});

围绕我的脚本,但我得到了相同的 Invalid GeoJSON 几何错误。

var batch = require('users/fitoprincipe/geetools:batch')

var col = ee.ImageCollection("LANDSAT/LE07/C01/T1_SR").filterDate("2002-01-01","2002-01-03");
batch.Download.ImageCollection.toDrive(col, "Folder", {scale:30});

当这工作时,我希望将所有这些过滤的图像作为一项任务单独弹出,让我下载到我的谷歌驱动器上。

标签: javascriptgoogle-earth-engine

解决方案


我当然不是这方面的真正专家,但我今天遇到了同样的问题。

我发现的解决方法是将区域设置为几何边界,而不是这些边界内的坐标字段。

所以:

region = img.geometry().bounds().getInfo();

代替

region = img.geometry().bounds().getInfo()["coordinates"];

这似乎给了我一个合理的输出——希望这也适用于你。


推荐阅读