使用GEE按季节下载哨兵2号影像(完整代码)

       本博客提供使用GEE按季节下载哨兵2号影像的完整代码,在使用代码的过程中仅需修改下载范围的shp和下载年份即可。其中的原理讲解和部分代码展示在我的另一篇博文中,使用GEE下载哨兵2号影像(初学者版)_gee下载哨兵数据-优快云博客,鼓励大家按照上篇博文的讲解自己摸索,这篇博文将对代码全貌进行展示。

// 1. load shp
var district = ee.FeatureCollection("users/ran09012000/maolan");

var dsize = district.size();
// print(dsize);

var district_geometry = district.geometry();

Map.centerObject(district_geometry, 12);
Map.addLayer(district);

// 2. find data
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);
  // return image.updateMask(mask);
}


// Map the function over one year of data.
// Load Sentinel-2 TOA reflectance data.
var dataset = ee.ImageCollection('COPERNICUS/S2')
                  .filterBounds(district_geometry)
                  .filterDate('2017-01-01', '2021-01-01')
                  // Pre-filter to get less cloudy granules.
                  .filter(ee.Filter.lt('CLOUDY_PIXEL_PERCENTAGE', 20))
                  .map(maskS2clouds);

var rgbVis = {
  min: 0.0,
  max: 0.3,
  bands: ['B4', 'B3', 'B2'],
};

Map.addLayer(dataset.median(), rgbVis, 'RGB');

// 3. export data

var year = 2018;
for (var i=3; i<=12; i+=3) {
  if (i < 10){
    var start_date = String(year) + '-0' + String(i) + '-01'
  } else{
    var start_date = String(year) + '-' + String(i) + '-01'
  }
  print(start_date)
  
  if (i + 3 < 10){
    var end_date = String(year) + '-0' + String(i + 3) + '-01'
  } else if (i + 3 > 12){
    var end_date = String(year + 1) + '-03-01' 
  } else{
    var end_date = String(year) + '-' + String(i + 3) + '-01'
  }
  print(end_date)
  
  var exportdataset = ee.ImageCollection('COPERNICUS/S2')
                  .filterBounds(district_geometry)
                  .filterDate(start_date, end_date)
                  // Pre-filter to get less cloudy granules.
                  .filter(ee.Filter.lt('CLOUDY_PIXEL_PERCENTAGE', 20))
                  .map(maskS2clouds)
                  .select(['B2','B3','B4','B5','B6','B7','B8','B8A','B11','B12']);
  
  print(exportdataset.size())
  
  var img = exportdataset.median().clip(district_geometry);
  // img = img.toInt16();
  Map.addLayer(img, rgbVis, 'RGB_clip' + String(start_date));
  
  Export.image.toDrive({ 
    image: img, 
    description: 'S2_' + start_date, 
    fileNamePrefix: 'S2_' + start_date,
    folder: 'S2_maolan_season_1017',
    region: district_geometry, 
    crs: "EPSG:4326",   
    scale: 10,
    maxPixels: 1e13 
  }); 
                
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值