//先导入研究区roi
Map.centerObject(roi,9)
functionmaskS2clouds(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);}//去云处理
// 定义首月第一天和最后月第一天
var start = ee.Date('2022-01-01');
var finish = ee.Date('2022-12-01');// 使用difference函数计算月份差,并使用sequence函数和map函数创建日期列表
var diff = finish.difference(start,'month')
var FirstDay = ee.List.sequence(0, diff.subtract(-1)).map(function(month){return start.advance(month,'month')})// 定义首月最后一天和最后月最后一天
var start = ee.Date('2022-01-31');
var finish = ee.Date('2022-12-31');// 使用difference函数计算月份差,并使用sequence函数和map函数创建日期列表,
var diff = finish.difference(start,'month')
var LastDay = ee.List.sequence(0, diff.subtract(-1)).map(function(month){return start.advance(month,'month')})
for(var i=0;i<12;i++){
var dataset = ee.ImageCollection('COPERNICUS/S2_SR').filterDate(FirstDay.get(i), LastDay.get(i))//影像时间
// Pre-filter to get less cloudy granules..filter(ee.Filter.lt('CLOUDY_PIXEL_PERCENTAGE',10))//云量
.map(maskS2clouds)//去云
.map(function(image){
var ndvi = image.normalizedDifference(['B8','B4']).rename('NDVI');return image.addBands(ndvi);})//添加指数
.select(["NDVI"]);//影像集
var study_img = dataset.median().clip(roi);//中值影像,裁剪出研究区影像;也可以使用qualityMosaic进行最佳合成、或者使用max最大值合成
var j=i+1;//导出哨兵2号影像数据
Export.image.toDrive({
image:study_img.select(["NDVI"]),
description:"NDVI"+"_"+j+"mouth",
region:roi,
crs:'EPSG:4326',
scale:30,
maxPixels:1e13})
}
1. 准备工作
项目环境:jdk8springboot2.6.13mysql8
1.1 MySQL表
/*Navicat Premium Data TransferSource Server : localhostSource Server Type : MySQLSource Server Version : 50730Source Host : 127.0.0.1:3306Source Schema …