/**
* @File : Sentinel2Image
* @Time : 2021/12/15
* @Author : 陨星落云
* @Version : 1.0
* @Contact : 400-890-0662
* @License : (C)Copyright 航天宏图信息技术股份有限公司
* @Desc : Sentinel-2 时序NDVI数据下载
*/
//define ROI
var roi = pie.FeatureCollection("NGCC/CHINA_CITY_BOUNDARY")
.filter(pie.Filter.eq("name","济南市"))
.first()
.geometry();
//哨兵2去云处理
function s2_rmcloud(image) {
var qa = image.select('QA60');
var cloudBitMask = 1 << 10;
var cirrusBitMask = 1 << 11;
var mask = qa.bitwiseAnd(cloudBitMask).eq(0)
.and(qa.bitwiseAnd(cirrusBitMask).eq(0));
return image.updateMask(mask);
}
//在原影像中加入一个新的波段,命名为NDVI
function cal_NDVI(image) {
return image.addBands(image.normalizedDifference(["B8", "B4"]).rename("NDVI"));
};
// 设置下载的年份
var Year = '2020';
var DateTime = [Year+'-01-01', Year+'-03-31',Year+'-02-01', Year+'-02-28',Year+'-03-01', Year+'-03-31',
Year+'-04-01', Year+'-04-30',Year+'-05-01', Year+'-05-31',Year+'-06-01', Year+'-06-30',
Year+'-07-01', Year+'-07-31',Year+'-08-01', Year+'-08-31',Year+'-09-01', Year+'-09-30',
Year+'-10-01', Year+'-10-31',Year+'-11-01', Year+'-11-30',Year+'-12-01', Year+'-12-31'];
//print(DateTime);
//批量导出
function exportImage(imgCol,region,fileName) {
Export.imageToCloud({
image: imgCol,
description: "NDVI",
assetId: "ndvi"+fileName,
folder:Year+'NDVI',
scale: 10,
region:region,
crs: "EPSG:4326",
maxPixels: 1e13
});
}
//过滤筛选哨兵2影像
for(var i=0;i<DateTime.length;i+=2){
var s2_nocloud = pie.ImageCollection("S2/L2A")
.filterBounds(roi)
.filterDate(DateTime[i], DateTime[i+1])
.filter(pie.Filter.lt('cloudyPixelPercentage', 12))
.map(s2_rmcloud);
print(s2_nocloud)
var ndvi = s2_nocloud.map(cal_NDVI).select("NDVI").median();
print(ndvi)
var ndvi_clipped = ndvi.clip(roi);
exportImage(ndvi_clipped,roi,DateTime[i]);
}
var visParam = {
min: -0.2,
max: 0.8,
palette: 'CA7A41, CE7E45, DF923D, F1B555, FCD163, 99B718, '+
'74A901, 66A000, 529400,3E8601, 207401, 056201, 004C00,'+
'023B01, 012E01, 011D01, 011301'
};
Map.centerObject(roi,7);
Map.addLayer(roi,{color:'FFFF00'},"roi");
Map.addLayer(ndvi, visParam, "ndvi",false);
Map.addLayer(ndvi_clipped, visParam, "ndvi_clipped");
结果: