当前位置: 首页 > news >正文

利用 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 分析的过程中遇到任何问题,或者有其他感兴趣的地理空间分析需求,欢迎在评论区留言交流!

相关文章:

  • 多模态大语言模型arxiv论文略读(四十六)
  • Docker网络架构深度解析与技术实践
  • 阿里语音处理工具ClearerVoice-Studio项目上手指南
  • 一种改进的YOLOv11网络,用于无人机视角下的小目标检测
  • Linux虚拟机无法重启网络
  • cURL 入门:10 分钟学会用命令行发 HTTP 请求
  • 【jceks】使用keytool和hadoop credential生成和解析jceks文件(无密码storepass)
  • Unity AI-使用Ollama本地大语言模型运行框架运行本地Deepseek等模型实现聊天对话(一)
  • 马井堂-大语言模型对教学的应用分析
  • 网络基础概念:从菜鸟到入门
  • 面试算法高频08-动态规划-03
  • 新环境注册为Jupyter 内核
  • Uniapp:vite.config.js全局配置
  • 可解释人工智能(XAI):让机器决策透明化
  • AI - LangChain - 介绍(1)
  • 成员方法的详细说明(结合Oracle官方文档)
  • 9.5/Q1,GBD数据库最新高分文章解读
  • Cursor
  • JVM 内存分配策略
  • spring cloud 服务注册与发现(Service registration and discovery)
  • 匈牙利国会通过退出国际刑事法院的决定
  • 习近平访问金砖国家新开发银行
  • 王毅会见泰国外长玛里:坚决有力打击电诈等跨境犯罪
  • 我国将出台稳就业稳经济推动高质量发展若干举措,将根据形势变化及时出台增量储备政策
  • 在差异中建共鸣,《20世纪美国文学思想研究》丛书出版
  • 旧衣服旧纸箱不舍得扔?可能是因为“囤物障碍”