ENVI中计算植被覆盖指数_envi用掩膜文件计算植被覆盖度-程序员宅基地

技术标签: 遥感  

        转自:http://blog.sina.com.cn/s/blog_764b1e9d0102wet7.html

新的评价方法中的植被覆盖指数:评价区域(市、县)单位面积归一化植被指数(
NDVI),采用MODIS卫星的 MOD13 的 NDVI 数据,详见2015年版生态环境状况评价技术规范(HJ
192-2015)

       新标准要求利用5-9月份MODIS的MOD13的NDVI数据计算植被覆盖指数,MODIS传感器搭载在AQUA和TERRA两颗卫星上。

       MODIS数据产品分级系统:MODIS标准数据产品分级系统由5级数据构成,它们分别是:0级、1级、2级、3级和4级。

  • 0级数据:卫星地面站直接接收到的、未经处理的、包括全部数据信息在内的原始数据为0级数据。
  • 1级数据:对没有经过处理的、完全分辨率的仪器数据进行重建,数据时间配准,使用辅助数据注解,计算和增补到0级数据之后为1级数据。
  • 2级数据:在1级数据基础上开发出的、具有相同空间分辨率和覆盖相同地理区域的数据为2级数据。
  • 3级数据:3级数据是以统一的时间-空间栅格表达的变量,通常具有一定的完整性和一致性。在3级水平上,将可以集中进行科学研究,如:定点时间序列,来自单一技术的观测方程和通用模型等。
  • 4级数据:通过分析模型和综合分析3级以下数据得出的结果数据为4级数据。

     MOD13——陆地 3 级标准数据产品,内容为栅格的归一化植被指数和增强型植被指数( NDVI/EVI ),空间分辨率 250m 。

 

      下面是用ENVI软件操作一步步计算,得到植被覆盖指数的步骤,。数据处理流程为:

图 植被覆盖指数处理流程

第一步:打开数据

      为了节省数据打开时间,先把建金字塔的功能关掉。File->Preferences,Pyramids选项卡中的Greate Pyramid if None Exists项目改为No,点击OK。

关闭数据打开时建金字塔的功能

注:打开所有之后,做后续处理的时候,可以打开建金字塔的功能。

       以A2014129这景数据打开为例,File->Open As->EOS->MODIS,选择MOD13Q1.A2014129.h28v06.005.2014147204659.hdf文件, 打开,数据分为三个数据集:NDVI(归一化植被指数)、EVI(增强型植被指数)、4波段反射率数据(绿波段、红波段、两个近红外波段)。NDVI的数据有效范围为-2000~10000之间的浮点型数据。无效值用-3000填充。(见NDVI数据产品说明)。

       注:NDVI产品波段存储的DN值是扩大了10000倍的,ENVI打开自动读取的是真实的NDVI值,即-0.2~1之间的数值,无效值是-0.3。

同样的方法,打开5月的另外三景数据。

第二步:求月NDVI最大值

        利用Bandmath工具,求取月NDVI最大值,并把小于0的值赋值为0。打开工具/Band Algebra/Band Math,输入表达式:0>b1>b2>b3>b4,点击OK。

图 求每月NDVI最大值并将小于0的赋值为0

b1:选择5月第1景NDVI数据

b2:选择5月第2景NDVI数据

b3:选择5月第3景NDVI数据

b4:选择5月第4景NDVI数据

得到5月NDVI最大值的图像。

图 求取5月NDVI最大值

同样的方法,分别求6-9月的每月NDVI最大值。

第三步:求月NDVI最大值的均值

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

b1:5月NDVI最大值

b2:6月NDVI最大值

b3:7月NDVI最大值

b4:8月NDVI最大值

b5:9月NDVI最大值

图 计算月均值

第四步:投影转换

       通过Viewer Metadat工具查看计算出的NDVI月均值图的投影信息,是正弦投影,下面将其转换为Albers投影。

图 NDVI月均值数据的投影信息

    (1)在Toolbox中,选择/Raster Management/Reproject Raster,在弹出的Reproject Raster面板中,在Dataset To Reproject区域设置输入文件。单击Browse按钮,在弹出的对话框中选择NDVI月均值数据,单击OK。看到下方显示了投影坐标系的名称(Name)、基准面(Datum)和投影类型(Type)。

    (2)单击Select Output Coordinate System按钮,在弹出的Select Coordinate System面板中,选择Favorite Projected->WGS_1984_Albers,点击OK。

ENVI中计算植被覆盖指数
图 投影转换

    (3)设置重采样算法为Bilinear;设置重投影方法为Triangulation。其他按照默认即可,设置输出路径和文件名。

图 投影转换面板

得到NDVI月最大值的月均值,即公式中的Pi。

第五步:归一化处理

     正常的NDVI是0-1之间,为了便于和其他生态因子一起进行评价,将求出来的NDVI月最大值的月均值归一化到0-100之间,需要乘以一个归一化系数,即公式中的Aveg,这个系数的参考值是:0.0121165124(前提是NDVI扩大了10000倍)。下面用波段运算将NDVI的月均值进行归一化。

      打开工具/Band Algebra/Band Math,输入表达式:b1*10000*0.0121165124,点击OK。b1:5-9月NDVI月最大值的平均值-albers.dat

      得到的结果就是归一化后的NDVI月最大值的月均值。在ArcMap中进行分区域统计区域的像元均值,得到区域的植被覆盖指数。

第六步:统计各个县的植被覆盖指数

         在ArcMap中统计各个县的植被覆盖指数。启动ArcMap,分别加载处理好的NDVI最大值月均值结果,以及gd-xian.shp数据,工具为:ArcToolbox->Spatial Analyst->区域分析->以表格显示分区统计,设置如下图所示:

图 统计区域均值

       在图层中,找到该统计结果,右键->打开,即可看到统计表格,MEAN这一列,即为各个区域的植被覆盖指数。

注:为了避免地名显示为乱码的情况,用区域代码(PAC)统计。

图 ArcGIS中统计结果

注:ENVI统计结果和ArcGIS统计结果稍有差别,原因可能是两个软件对边界像元的处理方式不同。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u010666165/article/details/81155815

智能推荐

while循环&CPU占用率高问题深入分析与解决方案_main函数使用while(1)循环cpu占用99-程序员宅基地

文章浏览阅读3.8k次,点赞9次,收藏28次。直接上一个工作中碰到的问题,另外一个系统开启多线程调用我这边的接口,然后我这边会开启多线程批量查询第三方接口并且返回给调用方。使用的是两三年前别人遗留下来的方法,放到线上后发现确实是可以正常取到结果,但是一旦调用,CPU占用就直接100%(部署环境是win server服务器)。因此查看了下相关的老代码并使用JProfiler查看发现是在某个while循环的时候有问题。具体项目代码就不贴了,类似于下面这段代码。​​​​​​while(flag) {//your code;}这里的flag._main函数使用while(1)循环cpu占用99

【无标题】jetbrains idea shift f6不生效_idea shift +f6快捷键不生效-程序员宅基地

文章浏览阅读347次。idea shift f6 快捷键无效_idea shift +f6快捷键不生效

node.js学习笔记之Node中的核心模块_node模块中有很多核心模块,以下不属于核心模块,使用时需下载的是-程序员宅基地

文章浏览阅读135次。Ecmacript 中没有DOM 和 BOM核心模块Node为JavaScript提供了很多服务器级别,这些API绝大多数都被包装到了一个具名和核心模块中了,例如文件操作的 fs 核心模块 ,http服务构建的http 模块 path 路径操作模块 os 操作系统信息模块// 用来获取机器信息的var os = require('os')// 用来操作路径的var path = require('path')// 获取当前机器的 CPU 信息console.log(os.cpus._node模块中有很多核心模块,以下不属于核心模块,使用时需下载的是

数学建模【SPSS 下载-安装、方差分析与回归分析的SPSS实现(软件概述、方差分析、回归分析)】_化工数学模型数据回归软件-程序员宅基地

文章浏览阅读10w+次,点赞435次,收藏3.4k次。SPSS 22 下载安装过程7.6 方差分析与回归分析的SPSS实现7.6.1 SPSS软件概述1 SPSS版本与安装2 SPSS界面3 SPSS特点4 SPSS数据7.6.2 SPSS与方差分析1 单因素方差分析2 双因素方差分析7.6.3 SPSS与回归分析SPSS回归分析过程牙膏价格问题的回归分析_化工数学模型数据回归软件

利用hutool实现邮件发送功能_hutool发送邮件-程序员宅基地

文章浏览阅读7.5k次。如何利用hutool工具包实现邮件发送功能呢?1、首先引入hutool依赖<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.7.19</version></dependency>2、编写邮件发送工具类package com.pc.c..._hutool发送邮件

docker安装elasticsearch,elasticsearch-head,kibana,ik分词器_docker安装kibana连接elasticsearch并且elasticsearch有密码-程序员宅基地

文章浏览阅读867次,点赞2次,收藏2次。docker安装elasticsearch,elasticsearch-head,kibana,ik分词器安装方式基本有两种,一种是pull的方式,一种是Dockerfile的方式,由于pull的方式pull下来后还需配置许多东西且不便于复用,个人比较喜欢使用Dockerfile的方式所有docker支持的镜像基本都在https://hub.docker.com/docker的官网上能找到合..._docker安装kibana连接elasticsearch并且elasticsearch有密码

随便推点

Python 攻克移动开发失败!_beeware-程序员宅基地

文章浏览阅读1.3w次,点赞57次,收藏92次。整理 | 郑丽媛出品 | CSDN(ID:CSDNnews)近年来,随着机器学习的兴起,有一门编程语言逐渐变得火热——Python。得益于其针对机器学习提供了大量开源框架和第三方模块,内置..._beeware

Swift4.0_Timer 的基本使用_swift timer 暂停-程序员宅基地

文章浏览阅读7.9k次。//// ViewController.swift// Day_10_Timer//// Created by dongqiangfei on 2018/10/15.// Copyright 2018年 飞飞. All rights reserved.//import UIKitclass ViewController: UIViewController { ..._swift timer 暂停

元素三大等待-程序员宅基地

文章浏览阅读986次,点赞2次,收藏2次。1.硬性等待让当前线程暂停执行,应用场景:代码执行速度太快了,但是UI元素没有立马加载出来,造成两者不同步,这时候就可以让代码等待一下,再去执行找元素的动作线程休眠,强制等待 Thread.sleep(long mills)package com.example.demo;import org.junit.jupiter.api.Test;import org.openqa.selenium.By;import org.openqa.selenium.firefox.Firefox.._元素三大等待

Java软件工程师职位分析_java岗位分析-程序员宅基地

文章浏览阅读3k次,点赞4次,收藏14次。Java软件工程师职位分析_java岗位分析

Java:Unreachable code的解决方法_java unreachable code-程序员宅基地

文章浏览阅读2k次。Java:Unreachable code的解决方法_java unreachable code

标签data-*自定义属性值和根据data属性值查找对应标签_如何根据data-*属性获取对应的标签对象-程序员宅基地

文章浏览阅读1w次。1、html中设置标签data-*的值 标题 11111 222222、点击获取当前标签的data-url的值$('dd').on('click', function() { var urlVal = $(this).data('ur_如何根据data-*属性获取对应的标签对象

推荐文章

热门文章

相关标签