基于 GEE MODIS 数据实现 7 大遥感指数计算与可视化
目录
一、核心代码分段解析
(一)初始化设置与数据准备
(二)波段提取
(三)可视化参数设置
(四)各类指数计算与可视化
二、关键技术要点
三、运行结果
若觉得代码对您的研究 / 项目有帮助,欢迎点击打赏支持!需要完整代码的朋友,打赏后可在后台私信(复制文章标题发给我),我会尽快发您完整可运行代码,感谢支持!
本代码基于 Google Earth Engine(GEE)平台,以特定区域(roi)为研究范围,获取 2020 年全年的 MODIS 卫星影像数据,通过影像合成得到年度最大值合成影像后,计算多种常用的遥感植被指数和地表参数指数,并将部分指数可视化展示在地图上,为区域生态环境监测、植被生长状况评估等研究提供数据支持。
一、核心代码分段解析
(一)初始化设置与数据准备
- 区域与地图配置:首先定义研究区域变量
roi
(需提前通过表格等方式获取该区域的地理边界信息),并使用Map.centerObject(roi, 9)
将地图视野中心定位到该区域,设置地图缩放级别为 9,方便后续查看影像数据。 - 波段名称映射:定义两个列表
rawName
和newName
,分别对应 MODIS 影像的原始波段名称和便于理解的自定义名称。原始波段为 7 个反射波段,自定义名称明确了各波段的类型,如红光(Red)、近红外(NIR)、蓝光(Blue)等,为后续波段选择和计算提供清晰标识。 - 影像集合获取与筛选:通过
ee.ImageCollection
调用 MODIS 卫星的 MOD09A1 数据集(空间分辨率为 500 米,时间分辨率为 8 天的地表反射率产品)。随后通过filterBounds(roi)
筛选出研究区域内的影像,filterDate
限定时间范围为 2020 年全年,select
方法根据前面定义的波段名称列表,将原始波段重命名为自定义名称,得到处理后的影像集合MODISCollection
。 - 年度最大值合成影像生成:使用
MODISCollection.max()
对全年影像按像素进行最大值合成,得到年度内植被生长状况最佳或地表反射率最高的影像,再通过clip(roi)
裁剪得到研究区域内的合成影像image
,并打印该影像信息以便查看。
(二)波段提取
从合成影像image
中分别提取各个波段并赋值给对应的变量,如提取红光波段赋值给RED
,近红外波段赋值给NIR
,后续计算各类指数时直接调用这些变量,简化代码结构。
(三)可视化参数设置
定义可视化调色板palette
为蓝、白、绿三色,设置可视化参数viz
,指定影像显示的数值范围(最小值 - 0.5,最大值 1)和调色板,为后续指数的地图展示统一视觉风格。
(四)各类指数计算与可视化
- NDVI(Normalized Difference Vegetation Index):
- 计算逻辑:通过表达式
(NIR - RED)/(NIR + RED)
计算,利用近红外波段与红光波段的反射率差异来反映植被的覆盖度和生长活力,数值越高通常表示植被生长越旺盛。 - 后续操作:将计算结果命名为 “NDVI”,并通过
Map.addLayer
将其添加到地图上,设置显示名称为 “NDVI”,默认显示该图层。
- 计算逻辑:通过表达式
- BSl(Bare Soil index):
- 计算逻辑:基于表达式
((SWIR1 + RED) - (NIR + BLUE)) / ((NIR + RED) + (NIR + BLUE))
,结合短波红外、红光、近红外和蓝光波段,突出建筑用地等人工地表信息,数值较高区域更可能为建筑用地或裸地。 - 后续操作:命名后添加到地图,设置为默认不显示(
false
参数)。
- 计算逻辑:基于表达式
- NDSl(Normalized Difference Soil lndex):
- 计算逻辑:通过
(SWIR1 - NIR) / (SWIR1 + NIR)
计算,利用短波红外与近红外波段的差异识别雪盖区域,高数值区域大概率为积雪覆盖。 - 后续操作:命名后添加到地图,默认不显示。
- 计算逻辑:通过
- EVI(Enhanced Vegetation Index):
- 计算逻辑:表达式为
2.5 * ((NIR - RED) / (NIR + 6 * RED - 7.5 * BLUE + 1))
,相比 NDVI,引入了蓝光波段,减少了大气气溶胶和土壤背景的影响,能更准确地反映植被生长状况,尤其适用于高植被覆盖区域。 - 后续操作:命名后添加到地图,默认不显示。
- 计算逻辑:表达式为
- LSWl(Land Surface Water Index):
- 计算逻辑:通过
(NIR - SWIR1) / (NIR + SWIR1)
计算,用于识别地表水体(如河流、湖泊等),高数值区域多为水体。 - 后续操作:命名后添加到地图,默认不显示。
- 计算逻辑:通过
- SlPl(Structure Insensitive Pigment Index):
- 计算逻辑:基于
(NIR - BLUE) / (NIR + Red)
,通过近红外、蓝光和红光波段的组合,反映植被受到的环境胁迫(如干旱、病虫害等)情况。 - 后续操作:命名后添加到地图,默认不显示。
- 计算逻辑:基于
- EBl(Enhanced Built-up Index):
- 计算逻辑:表达式为
(Red + GREEN + BLUE) / ((GREEN / BLUE) * (Red - BLUE +1))
,结合红、绿、蓝三个可见光波段,用于评估地表的亮度特征,可辅助分析区域生态环境的整体状况。 - 后续操作:命名后添加到地图,默认不显示。
- 计算逻辑:表达式为
二、关键技术要点
- 影像合成策略:采用最大值合成法,能有效减少云、大气等噪声对影像的影响,突出年度内地表的最佳状态,适合长期植被监测等研究。
- 指数计算逻辑:各类指数均基于不同波段的物理特性组合,针对性地提取特定地表信息,满足不同的研究需求,如植被、水体、建筑用地、积雪等的识别与评估。
- 可视化控制:通过设置图层的显示状态(默认显示 / 隐藏),优先展示核心指数(如 NDVI),同时保留其他指数供用户按需查看,提升操作的灵活性。
三、运行结果







若觉得代码对您的研究 / 项目有帮助,欢迎点击打赏支持!需要完整代码的朋友,打赏后可在后台私信(复制文章标题发给我),我会尽快发您完整可运行代码,感谢支持!