Сводная статистика по БОЛЬШОМУ региону в Google Earth Engine

Aug 18 2020

Я борюсь с проблемой снижения значений NDVI для Южной Америки. Мне интересно узнать, каков средний NDVI для этого континента (одно значение), без потери разрешения, увеличивая масштаб пикселей до очень большого числа. Моя мысль заключалась в попытке разместить какой-то тип сетки, который мог бы создавать меньшие области, а затем сделать словарь и взять среднее значение из сетки. Я не уверен, что моя логика здесь полностью верна, но я надеюсь, что у меня все в порядке. Сможет ли GEE сделать это, и если да, то есть ли способ создать функцию для упрощения этой задачи?

Этот код не работает по очевидным причинам ... время ожидания системы и ограничения памяти.

var sam_mean = fit_year_ndvi.clip(sam).reduceRegion({
  reducer: ee.Reducer.mean(),
  geometry: sam,
  scale: 1000,
  maxPixels: 1e12
});

Вот моя ссылка: https://code.earthengine.google.com/b8486d4ef347cde7555614254b143ec7

Вот моя ссылка на актив: https://code.earthengine.google.com/?asset=users/anna_odell/continents

Ответы

1 KevinReid Aug 19 2020 at 03:05

Моя мысль заключалась в попытке разместить какой-то тип сетки, который мог бы создавать меньшие области, а затем сделать словарь и взять среднее значение из сетки.

В этом нет необходимости - Earth Engine уже разделит вашу reduceRegionоперацию, чтобы вычислить ее эффективно. Однако для его завершения вам может потребоваться больше времени. Чтобы решить эту проблему, выполните операцию как пакетное (экспортное) задание. Если ваш окончательный результат - это просто число, а не какие-то более сложные данные, вы можете поместить его в функцию, чтобы сделать его экспортируемым:

var collection_for_export = ee.FeatureCollection([
  ee.Feature(null, {'sam_mean': sam_mean})
]);
Export.table.toDrive({
  collection: collection_for_export,
  fileFormat: 'CSV',
});

Я также заметил, что у вас есть:

var sam_mean = fit_year_ndvi.clip(sam).reduceRegion({
  geometry: sam,
  ...

В .clip(sam)этом нет необходимости, потому что он reduceRegionуже работает только с указанной областью, и ее отсечение по отдельности приведет к дополнительным вычислениям без каких-либо преимуществ.