GEE实战01期:制作北京及周边地区夏季 NDVI 分布图

发布时间:2026/9/24 6:45:40

GEE实战01期:制作北京及周边地区夏季 NDVI 分布图 本期关注借助ee.ImangCollection完成影像集合与时空筛选。核心流程在不下载数据的背景下在浏览器上完成影像调用NDVI合成地图显示简单分析以及数据导出的过程。1.案例背景归一化植被指数Normalized Difference Vegetation IndexNDVI是很多初学遥感和地理信息的同学会接触到的概念。作为监测植被生长状况的常用遥感指标其计算公式为其中NIR 为近红外波段反射率RED 为红光波段反射率。NDVI 的理论取值范围为 -1 至 1。在其他条件相近时较高的 NDVI 通常对应较高的植被活力或覆盖程度。基本原理NDVI 的计算基于绿色植被在红光和近红外波段具有不同的光谱响应特征叶绿素对红光具有较强的吸收作用而叶片内部结构使近红外辐射具有较高的反射率。因此健康、生长旺盛的绿色植被通常表现出较低的红光反射率和较高的近红外反射率。提问公式为什么使用近红外波段-红光波段呢因为二者相减表示两个波段反射率的绝对差异在其他条件相近时差值越大通常意味着绿色植被的光谱特征越明显。提问公式为什么还需要使用近红外波段红光波段呢这主要起到归一化的作用NDVI 关注的不只是近红外与红光反射率相差多少更重要的是这种差异相对于两者总反射率有多大。我们今天想解决一个简单的地理问题2024 年夏季北京及周边地区的植被分布具有怎样的空间差异夏季期间区域平均 NDVI 又如何变化2.数据准备本期选择 MODIS MOD13Q1 V6.1 产品。可以在GEE中直接查询到。该产品由 NASA LP DAAC 提供是全球性的植被指数产品包含 NDVI和质量信息等波段。主要的波段信息如下空间分辨率250m时间分辨率为16天。特别说明第一MOD13Q1 已经提供计算好的 NDVI我们今天不需要再使用红光和近红外波段计算一次。这次的重点是学会影像集合操作后面的案例再专门学习 NDVI 的计算。第二产品中 NDVI 的比例因子为 0.0001因此需要将原始像元值乘以 0.0001才能得到常见的 NDVI 数值。后续在使用类似的产品也特别要注意产品的数值缩放问题。3.案例实操本专栏默认大家已经初步了解了GEE的基本使用方法如果没有学过GEE的同学可以选择前往我们的主页订阅专栏查看GEE的基础教程即可。第一步定义研究区为了方便初学者操作我们暂时不导入行政区划文件而是使用经纬度创建一个矩形研究区。// 1. 定义研究区 var roi ee.Geometry.Rectangle([ 115.7, 39.4, 117.4, 40.4 ]); // 2. 定位地图 Map.centerObject(roi, 8); // 3. 显示研究区 Map.addLayer( roi, {color: red}, Study Area );这里我们定义了一个矩形研究区域并且设置了地图的缩放级别并且将研究区设置为红色。运行后地图是这样的如果大家想修改到自己家乡附近的区域怎么办只需要通过修改矩形框里面的参数值即可这些参数分别代表矩形框的左下角和右上角。ee.Geometry.Rectangle([ xmin, ymin, xmax, ymax ]);第二步加载并筛选MODIS数据接着我们来获取数据。我们需要获取2024年夏季6月-9月研究区的影像集合。// 4. 加载MODIS数据 var dataset ee.ImageCollection( MODIS/061/MOD13Q1 ); // 5. 按研究区和时间筛选 var images dataset .filterBounds(roi) .filterDate( 2024-06-01, 2024-09-01 ); // 6. 查看筛选结果 print(影像数量, images.size()); print(影像集合, images);这份代码里面有三个关键函数值得我们学习ee.ImageCollection()创建或读取影像集合需要数据的代码一般GEE数据集查阅界面会提供filterBounds()根据空间范围筛选影像此处输入我们前面定义好的文件fiterDate根据日期筛选影像一般要定义一个起始日期和结束日期左闭右开区间我们可以看到2024年夏季研究区域一共有6景影像。如果大家想查询影像的具体信息可以点击影像的属性波段等进行查看。第三步进行NDVI的处理现在我们获取的是一个影像集合这里面一共有6景影像但要制作夏季 NDVI 空间分布图需要将其合成为一幅影像。因此我们需要对这份NDVI进行一些预处理。// 7. 质量控制与比例因子转换 var ndviCollection images.map(function(image) { // 筛选质量良好的像元 var good image .select(SummaryQA) .eq(0); // 提取NDVI并转换比例因子 var ndvi image .select(NDVI) .multiply(0.0001) .updateMask(good) .rename(NDVI); // 保留影像日期 return ndvi.copyProperties( image, [system:time_start] ); }); // 8. 计算夏季平均NDVI var summerNDVI ndviCollection .mean() .clip(roi);SummeryQA是MOD13Q1 提供的质量信息值为 0 表示质量良好的植被指数像元。这里使用比较严格的筛选只保留这部分数据。map表示对影像进行遍历操作mean()表示计算均值。第四步制作 NDVI 空间分布图接下来我们进行绘图将计算好的NDVI均值空间分布图在GEE浏览界面给出。// 9. 设置NDVI配色 var ndviVis { min: 0, max: 0.8, palette: [ #A6611A, #DFC27D, #F5F5B5, #A6D96A, #1A9850, #006837 ] }; // 10. 显示夏季平均NDVI Map.addLayer( summerNDVI, ndviVis, Summer NDVI 2024 );运行后地图将展示研究区的 NDVI 分布后续你可以尝试分析为什么有些区域 NDVI 较高而另一些区域较低较高 NDVI 区域是否主要与山地林地有关城区与周边山地是否存在明显差异第五步绘制 NDVI 时间变化曲线为了使案例更加完整我们再绘制一张研究区夏季 NDVI 变化曲线。// 11. 绘制NDVI时间序列 var chart ui.Chart.image.series({ imageCollection: ndviCollection, region: roi, reducer: ee.Reducer.mean(), scale: 1000, xProperty: system:time_start }).setOptions({ title: Summer NDVI in Beijing Region, hAxis: { title: Date }, vAxis: { title: NDVI }, lineWidth: 2, pointSize: 4, legend: { position: none } }); // 12. 输出图表 print(chart);将研究区转换成其外接矩形bounds再进行区域均值统计不然可能会出现投影报错。ui.Chart.image.series命令可以将影像集合中的空间统计结果按时间绘制为曲线是 GEE 中常用的时间序列可视化方法。这里横坐标是影像日期纵坐标是研究区平均 NDVI。第六步导出 GeoTIFF 数据如果你想把处理好的数据导出方便后续在其他软件中分析和使用怎么办我们一般采用下面的步骤导出单景影像。// 13. 导出GeoTIFF Export.image.toDrive({ image: summerNDVI, description: Beijing_NDVI_2024_Summer, folder: GEE_Export, fileNamePrefix: Beijing_NDVI_2024_Summer, region: roi, scale: 250, maxPixels: 1e9, fileFormat: GeoTIFF });运行后右侧的控制栏会出现TASK任务运行后会下载到Google Drive里面直接打开对应的链接找到文件夹保存即可。4.案例总结NDVI 通过近红外与红光波段反射率的归一化差异表征地表绿色植被特征其理论取值范围为 -1 至 1。公式中的分子反映两个波段反射率的差异分母则通过归一化减弱部分由辐照度、观测条件及仪器误差等引起的共同变化使指数更关注两个波段之间的相对关系。在本案例中我们学习了NDVI产品的调用与快速分析那么NDVI指数是否意味着对于植被覆盖的监测就非常完美呢我们来学习一下MODIS产品用户文档中对NDVI经典理论的介绍由此可见NDVI 并不能完全消除大气、土壤背景和观测几何等因素的影响。此外NDVI 对植被变化的响应具有非线性特征在高植被覆盖区域可能出现饱和现象因此需要结合具体研究对象和环境条件解释 NDVI 的变化。综上所述NDVI 既利用了植被特有的光谱差异也利用归一化处理提高了不同观测条件下的可比性但它并不是对植被生长状况的直接、无误差测量。留给你们1将研究区改成自己的家乡或其他感兴趣地区。2将2024年6—8月改成2024年12月—2025年2月并重新生成地图。3比较夏季与冬季的NDVI分布尝试从植被生长季节性角度解释差异。参考文献[1] ROUSE J W, HAAS R H, SCHELL J A, et al. Monitoring vegetation systems in the Great Plains with ERTS[C]//Third Earth Resources Technology Satellite-1 Symposium. Greenbelt: NASA, 1974.[2] TUCKER C J. Red and photographic infrared linear combinations for monitoring vegetation[J]. Remote Sensing of Environment, 1979, 8(2): 127-150.DOI: 10.1016/0034-4257(79)90013-0[3] HUETE A R. A soil-adjusted vegetation index (SAVI)[J]. Remote Sensing of Environment, 1988, 25(3): 295-309. DOI: 10.1016/0034-4257(88)90106-X[4] HUETE A, DIDAN K, MIURA T, et al. Overview of the radiometric and biophysical performance of the MODIS vegetation indices[J]. Remote Sensing of Environment, 2002, 83(1-2): 195-213. DOI: 10.1016/S0034-4257(02)00096-2[5] PETTORELLI N, VIK J O, MYSTERUD A, et al. Using the satellite-derived NDVI to assess ecological responses to environmental change[J]. Trends in Ecology Evolution, 2005, 20(9): 503-510.DOI: 10.1016/j.tree.2005.05.011
延伸阅读

更多相关文章

2026/9/24 6:45:40

ESP32 上跑 WebAssembly:WAMR 运行时原理与实操指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/24 6:40:39

用 AI 处理敏感数据前,先分清这三层的边界

问题的本质 「AI 会不会泄露我的数据」这个问题问得太笼统。把它拆成三层,答案就清楚了:数据在哪一层,决定了它有没有出网。 第一层:模型层(生成建议) 你把数据贴进对话框,让 AI 帮你写方法、…

2026/9/24 6:40:39

计算机复试PDF资料处理指南:从解析、转换到高效整理

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/24 8:45:44

2026家庭智能化升级:从伪智能到真懂你的方案选型指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/24 8:45:44

Redis命令大全

redis-cli 命令详解:从连接到高阶实战 redis-cli 是 Redis 官方提供的命令行客户端,是与 Redis 实例交互最直接、最灵活的工具。它既可以在命令行模式下直接执行单条命令后退出,也可以进入交互式 REPL 模式进行连续操作,还提供了监…

2026/9/24 8:45:44

T型、π型、L型滤波拓扑选型与截止频率计算实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/24 8:45:44

NMOS高边开关驱动方案全解析:从自举到电荷泵

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/24 8:45:44

DiT详解

前言 在Sora[1]的技术报告中,作者指出Sora是一个Diffusion Transformer。这个Diffusion Transformer便是我们这里将要介绍的DiT[2]。相较于我们之前介绍的LDM[3],DiTs也是作用在潜空间,它最大的改进是将U-Net的CNN替换为了Transformer。同时…

2026/9/24 8:40:44

LVM从零配置到在线扩容:Linux磁盘管理的实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/23 12:07:00

GAMP 5 基于风险的计算机化系统验证:软件分类与审计追踪实践

简介:《A Risk-Based Approach to Compliant GxP Computerized Systems》即业内熟知的GAMP 5指南,面向制药企业质量与IT合规人员、验证工程师及计算机化系统管理者,用于解决GxP法规环境下系统合规性难以科学落地的问题。文档以风险管理为主线…

2026/9/23 12:06:55

安全托管MSSP实战:从静态防御到人机协同的攻防运营与应急响应

简介:这份PPT围绕互联网业务安全托管服务展开,面向企业安全负责人、IT运维人员及关注MSSP/MSS选型的读者,重点回应传统安全过度依赖人工、碎片化静态防御难以对抗产业化攻击等痛点。资源共1个pptx文件,包体约30.63MB,以…

2026/9/24 0:00:21

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为…

2026/9/24 0:00:21

单细胞注释实战:基于Scanpy的标记基因与参考映射流程解析

简介:一份基于单细胞RNA测序数据的细胞类型注释算法研究Python毕业设计源码,针对计算机相关专业正在做毕设或需要项目实战的学习者,可用于课程设计与期末大作业。项目代码完整、经导师指导评审通过,可直接运行,覆盖数据…

2026/9/24 0:00:21

C#源生成器实战:用增量生成器替代反射,告别AOT崩溃

第一次在项目里被反射卡住,是在一个老旧的WinForms模块里:几十个类依赖PropertyChanged通知,运行时反射读属性、发通知,每次启动慢半拍不说,一上.NET Native/AOT裁剪模式几乎全面崩盘。后来我把这段逻辑全部改成C#源生…

2026/9/22 16:34:32

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/22 20:01:30

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/22 13:25:41

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码