Изображение возвращается с другими nominalScale () после применения reducer.mean () - PullRequest
1 голос
/ 01 июля 2019

Я работаю над простым сценарием, чтобы получить среднее значение из ImageCollection(). Для этого я использую ImageCollection.reduce(ee.Reducer.mean()).

Моя проблема в том, что возвращаемое изображение идет с другим nominalScale().

Я уже посмотрел документацию, но не мог понять, почему это так. Как вы можете видеть на ee.ImageCollection.reducer(), нет параметра, определяющего масштаб; ни на ee.Reducer.mean().

Что я делаю не так? Опять же, я в основном пытаюсь сделать что-то вроде this . На самом деле этот урок показывает изображение, которое заставило меня поверить, что у меня не будет изменений в разрешении пикселей ...

Мой код:

var WorldClim = ee.ImageCollection("WORLDCLIM/V1/MONTHLY");
print("WorldClim original", WorldClim.first().projection().nominalScale());
var WorldClim = WorldClim.select("prec");
print("Apenas prec:", WorldClim.first().projection().nominalScale());
var MeanPrec = WorldClim.reduce(ee.Reducer.mean());
print("Após reduce(ee.Reducer.mean())", MeanPrec.projection().nominalScale());

https://code.earthengine.google.com/3e3bff9030fd9ff70b052b2beb4daced

1 Ответ

0 голосов
/ 01 июля 2019

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

.
var MeanPrec = WorldClim.reduce(ee.Reducer.mean()).reproject({
  crs:WorldClim.first().projection(),
  scale:WorldClim.first().projection().nominalScale()
});
...