javascript - 尝试批量下载时如何修复 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});
当这工作时,我希望将所有这些过滤的图像作为一项任务单独弹出,让我下载到我的谷歌驱动器上。
解决方案
我当然不是这方面的真正专家,但我今天遇到了同样的问题。
我发现的解决方法是将区域设置为几何边界,而不是这些边界内的坐标字段。
所以:
region = img.geometry().bounds().getInfo();
代替
region = img.geometry().bounds().getInfo()["coordinates"];
这似乎给了我一个合理的输出——希望这也适用于你。
推荐阅读
- mongodb - 在 mongo db 中获取最后更新的集合
- c# - 返工删除函数以更改数据库值 ASP.Net
- angular - 如何使用 cypress 在 Angular 应用程序中拖放元素?
- sql - 关于 SQL 查询的建议(我的似乎过于复杂,甚至会吐出标量子查询错误)
- spacy - 关于 ner/spacy 与 pdf/docx 文件及其文本位置的一般问题
- php - 表单:不发送输入 - 提交不起作用(html/php)
- python - Sqlalchemy 子查询标量
- ms-access - 您可以创建一个访问按钮来搜索表单上的多个字段吗?
- php - 商标和版权在wordpress数据库中更改为unicodes
- python - 在熊猫中选择低于某个值的行和相应列的最佳方法