之前导出了月度合成数据集,对于合成季度的数据集,有以下两种方法。
第一种(参考链接):这种方法比较麻烦,相当于四个季度写四次代码,但是很容易理解,就是对时间范围内的数据进行合成,mean、max等,然后进行导出即可。
数据集及时间范围如下:
var collection=ee.ImageCollection('MODIS/061/MOD13Q1')
//此数据是16天合成的NDVI数据集
//也可以根据自己的需要导出LANDSAT8计算的NDVI指数等
.filterDate('2021-01-01', '2022-01-01')
.select('NDVI');
第一种方法导出第四季度数据集:
for (var i=2021; i<2022; i++){
var winter = ee.Image(collection.filterBounds(region)
.filterDate(i+"-10-1", i+"-12-31")
.mean());
}
print(winter);
进行比例变换并导出,导出就也得导出四次
var clipped_winter=winter.clip(region).multiply(0.0001);
//以下根据自己的情况修改
Export.image.toDrive({
image: clipped_winter,
description: 'winter',
crs: "EPSG:4326",
scale: 500,
region: region,
maxPixels: 1e13,
folder: 'Gangcha'
});
第二种方法,一次性计算,一次性导出,相比第一种方法较为简单。
var start = ee.Date('2021-01-01');
var end = ee.Date('2022-01-01');
var numbQuarters = end.difference(start, 'month').divide(3).ceil();
var collection=ee.ImageCollection('MODIS/061/MOD13Q1')
.filterDate(start, end)
.select('NDVI');
print(collection);
//这是核心内容
var quarterlyImages = ee.ImageCollection.fromImages(
ee.List.sequence(1, numbQuarters).map(function(quarter){
var startTemp = start.advance(ee.Number(quarter).subtract(1).multiply(3), 'month');
var endTemp = start.advance(ee.Number(quarter).multiply(3), 'month');
var subset = collection.filterDate(startTemp,endTemp);
return subset.mean().set('system:time_start',startTemp);
}));
print('quarterlyImages', quarterlyImages);
//进行比例变换、导出,和第一种方法一样
var batch = require('users/fitoprincipe/geetools:batch');
var clipped = quarterlyImages.map(function (image) {
return image.clip(region).multiply(0.0001);
});
// Download images for a set region
batch.Download.ImageCollection.toDrive(
clipped,//图像
'Gangcha', //文件夹
{
region: region,//研究区范围
crs: 'EPSG:4326',//坐标系
scale: 500,
maxPixels: 1e13,
type: 'float'});
导出到ENVI中查看,因为都是利用MEAN()方法导出,所有值应该是一样的。