计算Sentinel1/2数据逐像元有效观测数量和总观测数量并导出
代码
var cd = ee.FeatureCollection("users/ciscodengyw/ChangdeBound"), dt = ee.FeatureCollection("users/ciscodengyw/Dongting_dissolve"); var s2 = ee.ImageCollection("COPERNICUS/S2_HARMONIZED"); var roi=dt; var nameof="dt" var startDate='2015-04-01' var endDate='2022-04-01' // rmcloud function maskS2clouds(image) { var qa = image.select('QA60'); // Bits 10 and 11 are clouds and cirrus, respectively. var cloudBitMask = 1 << 10; var cirrusBitMask = 1 << 11; // Both flags should be set to zero, indicating clear conditions. var mask = qa.bitwiseAnd(cloudBitMask).eq(0) .and(qa.bitwiseAnd(cirrusBitMask).eq(0)); return image.updateMask(mask).divide(10000); } // map_clip var subset = function(image){ return image.clip(roi) } // filter data var s2_filter = s2.filterDate(startDate,endDate) .filterBounds(roi) .filter(ee.Filter.lt('CLOUDY_PIXEL_PERCENTAGE', 20)) .map(subset); // totalobscount var s2totalobscount = ee.Image(s2_filter.select('B2').count()); // clearmask count var s2clearobscount = ee.Image(s2_filter.map(maskS2clouds).select('B2').count()); print(s2_filter) var s1 = ee.ImageCollection("COPERNICUS/S1_GRD") .filterDate(startDate,endDate) .filterBounds(roi) .filter(ee.Filter.listContains('transmitterReceiverPolarisation', 'VV')) .filter(ee.Filter.listContains('transmitterReceiverPolarisation', 'VH')) // Filter to get images collected in interferometric wide swath mode. .filter(ee.Filter.eq('instrumentMode', 'IW')); print(s1) var s1count = ee.Image(s1.select(["VH"]).count()); //var s1counth = ee.Image(s1.select(['VH']).count()); print('finished'); Export.image.toDrive({ image:s2totalobscount, description:nameof+'_s2totalobscountdt', //fileNamePrefix:'s2totalobscountdt', scale:10, region:roi }) // define image render parameters var visParam = { min: 60, max: 300, palette: '#00c82d, #15cc2d, #95e11d, #d4d900, #ffae18, #ff6a30, #f53031, #f53031'}; var visParam2 = { min: 60, max: 200, palette: '#00c82d, #15cc2d, #95e11d, #d4d900, #ffae18, #ff6a30, #f53031, #f53031'}; //Map.addLayer(imgCount_V1,visParam,"imgCount_V1"); // define image render parameters var visParamLAND = { min: 0, max: 50, palette: '#00c82d, #15cc2d, #95e11d, #d4d900, #ffae18, #ff6a30, #f53031, #f53031' }; //Map.addLayer(imgCount_V2,visParam,"imgCount_V2"); Map.addLayer(s2clearobscount,visParam2,"Cloud lt 20"); Export.image.toDrive({ image:s2clearobscount.toInt16(), description:nameof+'_s2clearobscount', //fileNamePrefix:'s2clearobscount', scale:10, region:roi.geometry(), maxPixels: 1E10 }) Export.image.toDrive({ image: s1count.toInt16(), description: nameof+'_s1countVV', region:roi.geometry(), scale:10, maxPixels: 1E10 });
结果: