GEE python高阶——如何使用geemap和eemont包基于MODIS影像计算GNDVI,NBR,NDWI指数并可视化(山西省太原市为例)

 这里我们进行使用geemap和eemont包基于MODIS影像计算GNDVI,NBR,NDWI指数,这里很方便的省去了计算指数、去云和缩放等功能,非常方便。

 简介

GNDVI (Green Normalized Difference Vegetation Index)是一种用于评估植被覆盖状况的指数。它是通过测量红光波段和近红外波段之间的比值来计算的。GNDVI的公式如下:

GNDVI = (NIR - Green) / (NIR + Green)

其中,NIR代表近红外波段的反射值,Green代表绿色波段的反射值。

GNDVI的值范围在-1到1之间。数值越高,表示植被覆盖越多。因为植物叶绿素对近红外波长的反射较强,而对绿色波长的吸收较高,所以植被覆盖越多,GNDVI的值越高。

NBR (Normalized Burn Ratio)是一种用于评估火灾烧伤程度的指数。它是通过测量近红外波段和短波红外波段之间的比值来计算的。NBR的公式如下:

NBR = (NIR - SWIR) / (NIR + SWIR)

其中,NIR代表近红外波段的反射值,SWIR代表短波红外波段的反射值。

NBR的值范围在-1到1之间。数值越高,表示火灾烧伤程度越严重。因为烧伤地表会导致植被叶片受损,从而使短波红外辐射增加,所以烧伤地表的NBR值较高。

NDWI (Normalized Difference Water Index)是一种用于评估水体分布的指数。它是通过测量近红外波段和短波红外波段之间的比值来计算的。NDWI的公式如下:

NDWI = (Green - NIR) / (Green + NIR)

其中,Green代表绿色波段的反射值,NIR代表近红外波段的反射值。

NDWI的值范围在-1到1之间。数值越高,表示水体分布越广。因为水体对近红外辐射的反射较高,而对绿光辐射的吸收较低,所以水体的NDWI值较高。

利用遥感影像计算这些指数,首先需要获取相应的波段数据。通常,遥感影像会提供多个波段的反射值。然后,根据指数的公式,将波段数据代入计算即可得到相应的指数值。

在计算指数之前,需要进行一些预处理步骤,如大气校正、辐射校正和影像配准等。这些步骤可以提高指数计算的精度和准确性。

计算完成后,可以根据指数的数值范围进行分类和分析。例如,通过GNDVI可以评估植被覆盖的分布情况,通过NBR可以评估火灾烧伤的程度,通过NDWI可以评估水体的分布情况。这些信息可以用于环境监测、农业管理、自然灾害评估等领域。

总之,GNDVI、NBR和NDWI是通过遥感影像计算的指数,用于评估植被覆盖、火灾烧伤和水体分布等情况。计算这些指数需要获取相应波段的反射数据,并进行预处理步骤。计算完成后,可以根据指数的数值范围进行分类和分析。这些指数在环境监测和自然资源管理中有着重要的应用价值。

安装

#!pip install eemont
#!pip install geemap

导入安装包

import ee, eemont, geemap
import geemap.colormaps as cm

GEE授权

Map = geemap.Map()

加载数据

#获取研究区
query = 'Taiyuan, Shanxi, China'
BBoxFromQuery = ee.Geometry.BBoxFromQuery(query,user_agent = 'eemont-tutorial-011')

#数据预处理
MOD09GA = (ee.ImageCollection('MODIS/006/MOD09GA')
           .filterDate('2020-01-01','2021-01-01')
           .maskClouds()
           .scaleAndOffset()
           .spectralIndices(['GNDVI','NBR','NDWI'])
           .median().clip(BBoxFromQuery))
#引入调色板
vegetationPalette = cm.palettes.ndvi
waterPalette = cm.palettes.ndwi
burnPalette = cm.palettes.inferno

#设定可视化不同波段的
GNDVIvis = {'min':0,'max':1,'palette':vegetationPalette,'bands':'GNDVI'}
NBRvis = {'min':0,'max':1,'palette':burnPalette,'bands':'NBR'}
NDWIvis = {'min':0,'max':1,'palette':waterPalette,'bands':'NDWI'}

加载到地图中

Map.addLayer(MOD09GA,GNDVIvis,'GNDVI')
Map.add_colorbar(GNDVIvis['palette'],caption = 'GNDVI')
Map

加载后的结果 

GNDVI

NBR

Map2 = geemap.Map()
Map2.addLayer(MOD09GA,NBRvis,'NBR')
Map2.add_colorbar(NBRvis['palette'],label = 'NBR')
Map2

NDWI

Map3 = geemap.Map()
Map3.addLayer(MOD09GA,NDWIvis,'NDWI')
Map3.add_colorbar(NDWIvis['palette'],label = 'NDWI')
Map3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

此星光明

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值