GEE | Sentinel-2月度影像合成与可视化导出

职场   2025-01-21 10:33   陕西  
朋友们,大家好!本次我们基于Sentinel-2数据合成每个月的影像,并进行可视化与导出,需要的朋友只需调整研究区和时间段运行即可。
一、GEE代码
var roi = ee.Geometry.Polygon(        [[[105.63823548602097, 37.99094358768747],          [105.63823548602097, 37.955895702314926],          [105.68149415301316, 37.955895702314926],          [105.68149415301316, 37.99094358768747]]], null, false);var startYear = 2023;var endYear = 2024;
var s2 = ee.ImageCollection("COPERNICUS/S2_SR_HARMONIZED");
function cloudMask(image) { var scl = image.select('SCL'); var mask = scl.eq(3).or(scl.gte(8).and(scl.lte(10))).eq(0); return image.select(['B.*']) .updateMask(mask);}
function getMonths(year) { var isLeapYear = (year % 4 === 0 && year % 100 !== 0) || (year % 400 === 0); return [ { name: '01', end: 31 }, { name: '02', end: isLeapYear ? 29 : 28 }, { name: '03', end: 31 }, { name: '04', end: 30 }, { name: '05', end: 31 }, { name: '06', end: 30 }, { name: '07', end: 31 }, { name: '08', end: 31 }, { name: '09', end: 30 }, { name: '10', end: 31 }, { name: '11', end: 30 }, { name: '12', end: 31 } ];}
ee.List.sequence(startYear, endYear).getInfo().forEach(function(year) { var months = getMonths(year); months.forEach(function(month, index) { var name = year + '_' + month.name;
var start = ee.Date.fromYMD(year, index + 1, 1); var end = ee.Date.fromYMD(year, index + 1, month.end); var image = s2.filterBounds(roi) .filterDate(start, end) .map(cloudMask) .median() .clip(roi) .toUint16(); print(image) Map.addLayer(image, { min: 0, max: 1500, bands: ['B4', 'B3', 'B2'] }, name, false); Export.image.toDrive({ image: image, scale: 10, maxPixels: 1e13, region: roi, crs: 'EPSG:4326', description: name, folder: 'Monthly_composite' }); });});
二、成为会员

GIS遥感数据处理应用
会员:数据处理,ArcGIS/Python/MATLAB/R/GEE教学,指导作图和论文。
 最新文章