Javascript 使用谷歌引擎从原始图像创建多个遮罩的多个遮罩

Javascript 使用谷歌引擎从原始图像创建多个遮罩的多个遮罩,javascript,Javascript,我已经从原始的imageCollection系列1创建了系列2 mask imageCollection。但问题是多重掩蔽失败,代码如下。我使用的MODIS Terra版本6是从featurecollection中截取的,图像的时间段为2013年12月1日至2013年12月5日。我想从我创建的遮罩中遮罩原始图像并获得云层。 这是我用来创建云遮罩的代码 var series2 = series1.map(function(image1){ return image1.select('sur_ref

我已经从原始的imageCollection系列1创建了系列2 mask imageCollection。但问题是多重掩蔽失败,代码如下。我使用的MODIS Terra版本6是从featurecollection中截取的,图像的时间段为2013年12月1日至2013年12月5日。我想从我创建的遮罩中遮罩原始图像并获得云层。 这是我用来创建云遮罩的代码

var series2 = series1.map(function(image1){
return image1.select('sur_refl_b01').reproject('EPSG:4326', null,spatial_res)
.set('system:time_start', image1.get('system:time_start'))
.clip(rm_sh).gt(1200);
这是我用于多重掩蔽的代码。此代码用于迭代对series1 imageCollection的掩蔽。但它不会迭代。它只对第一个图像执行

var time0 = reference.first().get('system:time_start');
var first = ee.List(ee.Image(0).set('system:time_start', time0).clip(rm_sh));
var cloud_masking = function(){
var series1list = series1.toList(100);
var series2list = series2.toList(100);
var l_masked = ee.Image((series1list).get(0));
var cloud_mask = ee.Image((series2list).get(0));
var cloud_img= l_masked.updateMask(cloud_mask).
 set('system:time_start', l_masked.get('system:time_start'));
return series1list.add(cloud_img);
};
 var cumulative = ee.ImageCollection(ee.List(series1.iterate(cloud_masking, first)));
Map.addLayer(cumulative,{min: 0, max: 32000},'cloud');

这是我修改过的代码。它工作正常。(感谢卡兰)

`var arr1=[];
对于(var i=0;i
`var arr1 = [];
for (var i = 0;i<series1.size().getInfo();i++){
 var l_masked = ee.Image(series1list.get(i));
 var cloud_mask = ee.Image(series2list.get(i));
 var cloud_cover = l_masked.updateMask(cloud_mask)
   .set('system:time_start', l_masked.get('system:time_start'));
 Map.addLayer(cloud_cover,{min:0 , 
     max:32000},''+l_masked.getInfo().properties['system:index'])
 var c = cloud_cover.reduceRegion({reducer: ee.Reducer.count(), geometry: rm_sh });
 arr1[i]=c;   
 }
 print(arr1);`