基于 GEE 探索太湖区域 2010—2020 年增强型植被指数 EVI 时空变化
目录
1 前言
2 完整代码
3 运行结果

1 前言
增强型植被指数(Enhanced Vegetation Index,EVI)是一种用于量化植被生长状态和覆盖程度的重要指标,它在监测植被动态、生态环境评估以及气候变化研究等领域发挥着关键作用。Google Earth Engine(GEE)作为一个强大的地理空间分析平台,提供了丰富的遥感数据资源和高效的数据处理能力,能够帮助我们轻松地对长时间序列的 EVI 数据进行分析和可视化。本文将详细介绍如何使用 GEE 对太湖区域 2010 - 2020 年的 EVI 数据进行处理和分析,以揭示该地区植被在这十年间的时空变化特征。本文使用的 EVI 数据来自 MODIS(Moderate Resolution Imaging Spectroradiometer)的 MOD13Q1 产品,其数据集 ID 为 MODIS/006/MOD13Q1。该产品具有 250 米的空间分辨率,每 16 天提供一次全球覆盖的影像数据,能够较好地捕捉植被的季节性变化,我们主要关注其中的 EVI 波段。
2 完整代码
// ==========================================
// 1. 定义太湖区经纬度矩形范围
// ==========================================
var roi = geometry;// ==========================================
// 2. 加载 MODIS EVI 数据集
// ==========================================
// 用 MOD13Q1 产品,16 天一景,250 米分辨率
var eviCollection = ee.ImageCollection('MODIS/006/MOD13Q1').select('EVI');// ==========================================
// 3. 设置分析时间段
// ==========================================
var startYear = 2010;
var endYear = 2020;
var years = ee.List.sequence(startYear, endYear);// ==========================================
// 4. 逐年生成每年的年均 EVI 图层
// ==========================================
var eviYearlyImages = years.map(function(year){year = ee.Number(year);var yearlyEvi = eviCollection.filterDate(year.format('%d-01-01'), year.format('%d-12-31')).filterBounds(roi).mean().clip(roi).set('year', year);return yearlyEvi;
});
// 转为影像集合
var eviYearlyCollection = ee.ImageCollection(eviYearlyImages);// ==========================================
// 5. 设置 EVI 可视化参数
// ==========================================
// 注意 MODIS EVI 原值放大了 1e4,要缩放
var eviVis = {min: 0,max: 8000, // 因为 EVI 放大了 10000 倍palette: ['white', 'lightblue', 'yellow', 'green', 'darkgreen']
};// ==========================================
// 6. 动态播放准备
// ==========================================
Map.centerObject(roi, 10);
// 每年图层可视化
var eviWithYear = eviYearlyCollection.map(function(image){var year = ee.Number(image.get('year')).format('%d年');return image.visualize(eviVis).set({'label': year});
});
// 生成动态图序列
var eviList = eviWithYear.toList(eviWithYear.size());// ==========================================
// 7. 使用 ui.Thumbnail 动态播放
// ==========================================
var thumbnailParams = {dimensions: 600,region: roi,framesPerSecond: 2,crs: 'EPSG:4326'
};
print('2010-2020年太湖区域增强型植被指数EVI变化动画:');
print(ui.Thumbnail({image: ee.ImageCollection(eviList),params: thumbnailParams,style: {height: '400px'}
}));// ==========================================
// 8. 可选:添加 2010 年和 2020 年静态对比图层
// ==========================================
var evi2010 = eviYearlyCollection.filter(ee.Filter.eq('year', 2010)).first();
var evi2020 = eviYearlyCollection.filter(ee.Filter.eq('year', 2020)).first();
Map.addLayer(evi2010, eviVis, '2010年增强型植被指数EVI');
Map.addLayer(evi2020, eviVis, '2020年增强型植被指数EVI');
// 绘制太湖区边界
var outline = ee.Image().byte().paint({featureCollection: ee.FeatureCollection(roi),color: 1,width: 2
});
Map.addLayer(outline, {palette: 'red'}, '太湖区边界');
3 运行结果
