Google Earth Engine:使用 Reducer 获取多个森林片段的每月 NDVI 值时出现问题

问题描述

希望你们在这个疯狂的时刻一切都好。 我正在尝试使用 2019 年的 Sentinel 2 图像绘制 NDVI 图表。 Sentinel 2 的周期为 5 天,我希望我的图表显示它。当我为整个状态特征 (roi) 应用代码时,它运行顺利。 我的问题是我想为包含几个小多边形(片段)的特征获取这些值,但我面临“超出用户内存限制”的问题。
我曾尝试使用 reduce.region 但我没有成功。由于我添加了reduce.regions,我什至无法运行代码。 我真的很感激任何建议。

提前致谢。

脚本如下:https://code.earthengine.google.com/4ab9863682d7706a6fa94800a52b9e4a

var S2 = ee.ImageCollection ('copERNICUS/S2_SR')

.filterDate('2019-01-01','2019-01-31');

var maskcloud1 = function(image) {
var QA60 = image.select(['QA60']);
return image.updateMask(QA60.lt(1));
};

var addNDVI = function(image) {
return image.addBands(image.normalizedDifference(['B8','B4']));
};

var S2 = S2.map(addNDVI);
var NDVI = S2.select(['nd']);
var NDVImean = NDVI.mean(); 

var ndvi_pal = ['#d73027','#f46d43','#fdae61','#fee08b','#d9ef8b','#a6d96a'];

var fragmentos = ee.FeatureCollection('users/rodrigomoreira/NDVI_BY_FRAG_SIZE/Between_5a_10wgs84');
var fragmentos1 = ee.Feature(fragmentos.filter(ee.Filter.eq('value','1')).first());


// Add reducer output to the Features in the collection.
var fragmentos1MeansFeatures = addNDVI.reduceRegions({
  collection: fragmentos1,reducer: ee.Reducer.mean(),scale: 30,});


var plotNDVI = ui.Chart.image.seriesByRegion(S2,fragments,ee.Reducer.mean(),'nd',500,'system:time_start','system:index')
              .setChartType('LineChart').setoptions({
                title: 'NDVI short-term time series',hAxis: {title: 'Date'},vAxis: {title: 'NDVI'}
});

plotNDVI.style().set({
  position: 'bottom-right',width: '500px',height: '300px'
});

Map.add (plotNDVI);
Map.addLayer (fragments);
Map.addLayer(NDVImed.clip(fragments),{min:-0.1,max:0.9,palette: ndvi_pal},'NDVI');

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...