Как исправить ошибку неверной геометрии GeoJSON в Google Earth Engine при попытке пакетной загрузки?

Я пытаюсь использовать пакетное репо, предоставленное Родриго Принсипи, которое может экспортировать все изображения в коллекции изображений Google Earth Engine с помощью GEE API:

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

В конце этой беседы он предоставляет пример сценария, который я пытался использовать, но получаю сообщение об ошибке:

Экспорт всех изображений в коллекция изображений Google Earth Engine (API Google Earth Engine)

Ошибка:

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

Эта проблема сохраняется всякий раз, когда я пытаюсь использовать этот пакетный инструмент для любого из моих скриптов. Пример сценария, который предоставляет Родриго, - это сценарий, который я вставил ниже; Я заменил пример коллекции изображений на что-то другое.

Что расстраивает, так это то, что мне удавалось выполнять эту работу раньше, но теперь она больше не работает. Могли ли я случайно изменить настройки среды в 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});

Когда это сработает, я ожидаю, что все эти отфильтрованные изображения будут появляться по отдельности в качестве задачи, которую я могу загрузить на свой Google Диск.


person Sir247    schedule 07.09.2019    source источник


Ответы (1)


Я, конечно, не особо разбираюсь в этом вопросе, но сегодня у меня была такая же проблема.

Обходной путь, который я нашел, состоит в том, чтобы установить область в геометрические границы, а не в поле координат в этих границах.

So:

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

Вместо

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

Кажется, это дает мне разумный результат - надеюсь, это сработает и для вас.

person pjdf    schedule 14.11.2019