应用reducer.mean()后,图像返回带有不同的nominalScale()的图像

时间:2019-06-30 21:07:43

标签: google-earth-engine

我正在研究一个简单的脚本,以从ImageCollection()获取平均值。为此,我正在使用ImageCollection.reduce(ee.Reducer.mean())

我的问题是返回的图像带有不同的nominalScale()

我已经看过文档了,但不知道为什么会这样。如您所见on ee.ImageCollection.reducer(),没有参数指定比例。也不在ee.Reducer.mean()上。

我在做什么错? 同样,我基本上是在尝试做类似this的事情。实际上,this tutorial所显示的图像使我相信像素分辨率不会发生变化...

我的代码:

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 :(得分:0)

这很可能是由于图像的图像金字塔。由于平均图像仅是内存缓冲区中的临时对象,因此不应具有基本标称比例,并且由于切片是根据地图当前所处的缩放级别计算的。 但是,如果您特别想使用源图像的分辨率,则有一种方法可以解决此问题。基本上,您必须将图像重新投影到原始图像。一种方法是将计算均值的行更改为

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