云计算百科
云计算领域专业知识百科平台

利用 Google Earth Engine 探索江宁区 2010 - 2020 年 EVI 时空变化

引言

增强型植被指数(Enhanced Vegetation Index,EVI)是一种用于量化植被生长状态和覆盖程度的重要指标,它在监测植被动态、生态环境评估以及气候变化研究等领域发挥着关键作用。Google Earth Engine(GEE)作为一个强大的地理空间分析平台,提供了丰富的遥感数据资源和高效的数据处理能力,能够帮助我们轻松地对长时间序列的 EVI 数据进行分析和可视化。本文将详细介绍如何使用 GEE 对南京市江宁区 2010 – 2020 年的 EVI 数据进行处理和分析,以揭示该地区植被在这十年间的时空变化特征。

一、数据与研究区域概述

1.1 研究区域

江宁区位于南京市中南部,是南京重要的经济、文化和生态区域。该区域地形多样,涵盖了山地、平原、水域等多种地貌类型,植被类型丰富,包括森林、农田、城市绿地等。因此,对江宁区的 EVI 进行分析,有助于了解该地区的生态环境变化和植被生长状况。

1.2 数据来源

本文使用的 EVI 数据来自 MODIS(Moderate Resolution Imaging Spectroradiometer)的 MOD13Q1 产品,其数据集 ID 为 MODIS/006/MOD13Q1。该产品具有 250 米的空间分辨率,每 16 天提供一次全球覆盖的影像数据,能够较好地捕捉植被的季节性变化。我们主要关注其中的 EVI 波段。

二、代码实现步骤详解

2.1 定义研究区域

// ==========================================
// 1. 定义江宁区经纬度矩形范围
// ==========================================
var jiangning = ee.Geometry.Rectangle([118.5, 31.7, 119.2, 32.2]);

通过 ee.Geometry.Rectangle 函数,我们使用经纬度坐标定义了江宁区的矩形范围。这个范围将作为后续数据筛选和分析的地理边界。

2.2 加载 MODIS EVI 数据集

// ==========================================
// 2. 加载 MODIS EVI 数据集
// ==========================================
// 用 MOD13Q1 产品,16 天一景,250 米分辨率
var eviCollection = ee.ImageCollection('MODIS/006/MOD13Q1')
.select('EVI');

使用 ee.ImageCollection 函数加载 MODIS MOD13Q1 数据集,并通过 .select('EVI') 方法只选择 EVI 波段,以减少数据处理量。

2.3 设置分析时间段

// ==========================================
// 3. 设置分析时间段
// ==========================================
var startYear = 2010;
var endYear = 2020;
var years = ee.List.sequence(startYear, endYear);

定义了分析的起始年份和结束年份,并使用 ee.List.sequence 函数生成一个包含这些年份的列表,为后续逐年分析做准备。

2.4 逐年生成每年的年均 EVI 图层

// ==========================================
// 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(jiangning)
.mean()
.clip(jiangning)
.set('year', year);
return yearlyEvi;
});

// 转为影像集合
var eviYearlyCollection = ee.ImageCollection(eviYearlyImages);

使用 .map 函数遍历年份列表,对每年的 EVI 数据进行筛选、计算均值、裁剪,并为每个影像添加年份属性。最后将处理后的影像列表转换为影像集合,方便后续统一处理。

2.5 设置 EVI 可视化参数

// ==========================================
// 5. 设置 EVI 可视化参数
// ==========================================
// 注意 MODIS EVI 原值放大了 1e4,要缩放
var eviVis = {
min: 0,
max: 8000, // 因为 EVI 放大了 10000 倍
palette: ['white', 'lightblue', 'yellow', 'green', 'darkgreen']
};

由于 MODIS 的 EVI 数据原值被放大了 10000 倍,因此在设置可视化参数时,min 和 max 值需要相应调整。palette 定义了颜色映射方案,从白色到深绿色,直观地表示 EVI 值从低到高的变化。

2.6 动态播放准备

// ==========================================
// 6. 动态播放准备
// ==========================================
Map.centerObject(jiangning, 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());

将地图视图定位到江宁区,并设置缩放级别为 10。对每年的 EVI 影像进行可视化处理,并添加年份标签。最后将可视化后的影像集合转换为列表,为生成动态动画做准备。

2.7 使用 ui.Thumbnail 动态播放

// ==========================================
// 7. 使用 ui.Thumbnail 动态播放
// ==========================================
var thumbnailParams = {
dimensions: 600,
region: jiangning,
framesPerSecond: 2,
crs: 'EPSG:4326'
};

print('2010 – 2020 江宁区 EVI 变化动画:');
print(ui.Thumbnail({
image: ee.ImageCollection(eviList),
params: thumbnailParams,
style: {height: '400px'}
}));

通过 ui.Thumbnail 函数生成一个动态动画,展示江宁区 2010 – 2020 年 EVI 的逐年变化。设置了动画的分辨率、区域范围、播放速度和坐标参考系统等参数。

2.8 可选:添加 2010 年和 2020 年静态对比图层

// ==========================================
// 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(jiangning),
color: 1,
width: 2
});
Map.addLayer(outline, {palette: 'red'}, '江宁区边界');

提取 2010 年和 2020 年的年均 EVI 影像,并添加到地图上进行静态对比。同时,绘制江宁区的边界,方便直观地观察该区域内 EVI 的变化。

三、结果分析与意义

通过上述代码的运行,我们可以得到江宁区 2010 – 2020 年 EVI 的动态变化动画和 2010 年与 2020 年的静态对比图。从动态动画中,我们可以直观地观察到植被的季节性变化以及长期的趋势,例如某些区域的植被覆盖度是否增加或减少。静态对比图则可以更清晰地比较两个关键年份之间的 EVI 差异,有助于分析该地区在这十年间的生态环境变化,如城市化进程对植被的影响、生态保护措施的效果等。

四、总结与拓展

本文详细介绍了如何使用 Google Earth Engine 对江宁区 2010 – 2020 年的 EVI 数据进行处理和分析,通过动态动画和静态对比图展示了该地区植被的时空变化特征。在实际应用中,我们还可以进一步拓展分析,例如计算 EVI 的变化率、进行趋势分析、结合其他环境数据(如气象数据、地形数据)进行综合研究等。希望本文能够为相关领域的研究人员和爱好者提供有益的参考。

如果你在使用 GEE 进行 EVI 分析的过程中遇到任何问题,或者有其他感兴趣的地理空间分析需求,欢迎在评论区留言交流!

赞(0)
未经允许不得转载:网硕互联帮助中心 » 利用 Google Earth Engine 探索江宁区 2010 - 2020 年 EVI 时空变化
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!