GEE-Sentinel-2月度时间序列数据合成并导出

发布时间:2023年12月21日

系列文章目录

第一章:时间序列数据合成



前言

利用每个月可获取植被指数数据取均值,合成月度平均植被指数,然后将12个月中的数据合成一个12波段的时间数据合成数据。


在这里插入图片描述

时间序列数据合成

代码基础内容:
1、去云函数与植被指数函数
2、构建基础数据波段
3、构建for循环来合成时间序列数据
代码如下:

//define your study area here!
var studyarea = ee.FeatureCollection("projects/test2export/assets/31");
Map.centerObject(studyarea,4);  //数字为缩放尺度
Map.addLayer(studyarea); //展示数据 


// caclute NDVI
function NDVI(image) {
                   var ndvi = image.normalizedDifference(['B8', 'B4']).rename('NDVI');
                   return image.addBands(ndvi);
                   }
/**
 * Function to mask clouds using the Sentinel-2 QA band
 * @param {ee.Image} image Sentinel-2 image
 * @return {ee.Image} cloud masked Sentinel-2 image
 */
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);
}  
// 1 month mean NDVI
var month = '1';
var dataset = ee.ImageCollection('COPERNICUS/S2_SR')
                  .filterDate('2023-0'+month+'-01', '2023-'+month+'-28')   //影像时间
                  // Pre-filter to get less cloudy granules.
                  .filter(ee.Filter.lt('CLOUDY_PIXEL_PERCENTAGE',5))  //云量
                  .map(maskS2clouds)  //去云
                  .map(function(image) {
                   var ndvi = image.normalizedDifference(['B8', 'B4']).rename('NDVI1');
                   return image.addBands(ndvi);
                   })   //添加指数)  //重命名
                   .select(['NDVI1']);  //影像集
// print(dataset.first().getInfo())                 
var base_data = dataset.median().clip(studyarea);  //中值影像,裁剪出研究区影像
print(base_data);


for (var i=2;i<=12;i++)
{
  var month_ndvi = ee.ImageCollection('COPERNICUS/S2_SR')
                  .filterDate('2023-0'+month+'-01', '2023-'+month+'-28')   //影像时间
                  
                  // Pre-filter to get less cloudy granules.
                  .filter(ee.Filter.lt('CLOUDY_PIXEL_PERCENTAGE',5))  //云量
                  .map(maskS2clouds)  //去云
                  .map(NDVI)   //添加指数)  //重命名
                  .select(['NDVI']);  //影像集;
  print(month_ndvi.first())
  var month_ndvi = month_ndvi.median().clip(studyarea).select('NDVI').rename('NDVI'+i);  //中值影像,裁剪出研究区影像
  base_data = base_data.addBands(month_ndvi)                
 }
 print(base_data)
// var NDVI;
// 导出哨兵2号影像数据
Export.image.toDrive({
  image:base_data,
  description:"sentinel2_Time_series",
  region:studyarea,
  scale:10,
  maxPixels:1e13
})  

总结

例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

文章来源:https://blog.csdn.net/d8dongdong/article/details/135140933
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。