植被覆盖指数计算教程(ENVI)

最近接触植被覆盖指数计算相关工作,计算方法以及数据标准参考《生态环境状况评价技术规范》(HJ 192-2015),为了方便像我这样的初学者快速入手计算植被覆盖指数,制作本分析教程,有疏忽之处,请各位指正。

一、数据下载

1.注册

https://ladsweb.modaps.eosdis.nasa.gov(国外网站打开有点慢,打不开多试几次)

下载数据需要注册,我是用163邮箱注册的。打开了之后保存到书签中,方便之后快速打开。

注册完之后,点击find date,出现下面画面。

2.下载数据

(1)首先需要了解下载区域的modis轨道号

例如广东省是h28v06

 (2)选择下载时间、区域范围 

 

选择范围可以自己勾画一个多边形、矩形、圆形等,或者导入SHP、KMZ等格式的文件。

(3)设置好范围、时间后,输入需要下载影像的名称

选择需要的影像进行下载

下载MYD数据

重复操作下载MOD数据。

二、计算

1.导入数据

(1)为了节省数据打开时间,先把建立金字塔功能关闭。File-Preferences,Pyramids选项卡中的Greate Pyramid if None Exists项目改为No。(如果还未按照ENVI软件,关注软件管家公众号,下载软件,查看安装教程安装软件。)

(2)导入数据

File-Open As-EOS-MODIS依次打开文件5-9月份数据,每个月份有2个MOD、2个MYD数据。

 打开之后显示的是波段信息。重新选择ndvi波段数据显示,点击date manager

 重新选择ndvi波段数据显示,点击date manager-选择ndvi波段-load data

2.计算月最大值

利用Bandmath工具,求取每月NDVI最大值,并把小于0的值赋值为0。打开工具/Band Algebra/Band Math,输入表达式:0>b1>b2>b3>b4(输出结果为最大值波段,即每个像元位置上的最大值,所以b1-b4波段和影像平均值、时间顺序等因素无关,随意选择即可),选择输出文件夹及名称,然后点击OK。依次计算5-9月最大值。

3.计算5-9月最大值均值

打开工具/Band Algebra/Band Math,输入表达式:(b1+b2+b3+b4+b5)/5。

 4.投影转换

在Toolbox中,选择/Raster Management/Reproject Raster,在弹出的Reproject Raster面板中,在Dataset To Reproject区域设置输入文件。单击Select Output Coordinate System按钮,在弹出的Select Coordinate System面板中,选择WGS_1984_Albers,点击OK。

 

5.归一化处理

打开具/Band Algebra/Band Math,输入表达式:b1*10000*0.0121165124,点击OK。(系数参考《生态环境状况评价技术规范》(HJ 192-2015))

6.计算植被覆盖指数

(1)打开arcgis,将进行归一化之后的文件拖到arcgis中。(采用文件连接器打不开hdf文件,直接拖入可以)

(2)按掩膜提取

打开toolbox-spatial analyst工具-提取分析-按掩膜提取,输入栅格中输入进行归一化后数据,输入栅格数据或要素掩膜数据输入研究对象的矢量边界数据,点击确定。

 

(3)计算植被覆盖指数

打开toolbox-spatial analyst工具-区域分析-分区分析。 

 

 输出结果

 

 

### 如何在ENVI软件中提取植被指数 #### 使用Band Math计算NDVI 为了从多光谱影像数据中提取归一化差异植被指数(NDVI),可以利用ENVI内置的`Band Math`功能。具体操作如下: 启动ENVI并加载所需的多光谱图像文件后,在工具栏找到并点击`Basic Tools -> Band Math...`选项,弹出表达式编辑窗口。在此处输入用于计算NDVI的公式 `float(b1-b2)/(b1+b2)`[^3] ,其中`b1`代表近红外波段而`b2`表示红光波段。 完成上述设置之后,指定输出路径保存新创建的数据集,并确认执行运算过程。此时将会得到一张基于原始遥感影像所生成的新栅格图层,即为该地区的NDVI分布情况映射结果。 #### 应用阈值筛选获取二值掩膜 进一步处理可采用设定特定范围内的数值作为有效植被覆盖区间的手段来实现更精确的结果展示。再次进入`Band Math`界面或者通过`Region of Interest (ROI)`模块定义合理的上下限参数进行分类分割作业;也可以直接应用ENVI提供的交互式直方图切片器来进行直观便捷的操作。 ```python # Python脚本示例:使用envi库模拟Band Math NDVI计算流程 import numpy as np from envi import open_image, save_image def calculate_ndvi(nir_band, red_band): """Calculate Normalized Difference Vegetation Index.""" ndvi = (nir_band.astype(float) - red_band) / (nir_band + red_band) return ndvi image_path = 'path_to_your_multispectral_image' output_file = 'ndvi_result.img' img = open_image(image_path) bands_data = img.load() nir_index, red_index = 3, 0 # 假设NIR位于第四个波段位置,RED则处于第一个 result = calculate_ndvi(bands_data[nir_index], bands_data[red_index]) save_image(output_file, result) print(f"NDVI has been successfully calculated and saved to {output_file}") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值