我正在尝试使用 Google Earth Engine 中的 TRMM 数据集绘制最大无雨天数。我通过遍历集合来做到这一点,如果没有下雨,则将一个添加到单元格中(下面的代码)。下雨时,该值乘以 0,因此“计数器”被重置。然后我想将每次迭代的每个结果存储在一个图像集合中,然后选择最大值以获得最长的连续干燥期。
但这就是理论。当我将其放入脚本中时,在将一次迭代的图像添加到列表时出现错误。有谁知道这是为什么以及如何解决?
代码:
var list = [];
function drylength(current, previous){
var mask = current.remap([0], [1], 0,"precipitation").rename('precipitation');
var sum = mask.add(previous).multiply(mask);
list.push(sum);
return sum;
}
var dataset = TRMM
.filterDate("2015-01-01","2015-02-01")
.sort('system:time_start:');
var totalPrecipitation = dataset.iterate(drylength, dataset.max()
.remap([0], [0], 0, "precipitation")
.rename('precipitation'));
print(list);
print(totalPrecipitation);
Map.addLayer(ee.Image(totalPrecipitation), imageVisParam);
此外,列表中似乎只存储了 3 个项目,这让我假设迭代比逐个计算所有图像的字面迭代更复杂?这是错误的图像:
如果图像不可见或搜索引擎写入错误:
Failed to decode JSON.
Error: Field 'value' of object '{"type":"ArgumentRef","value":null}' is missing or null.
Object: {"type":"ArgumentRef","value":null}.
和:
Unknown variable references: [_MAPPING_VAR_0_0, _MAPPING_VAR_0_1].