MODIS NDVI数据处理相关问题

现NDVI产品数据处理过程中遇到以下问题:

问题1:    NDVI是归一化植被指数,它的取值范围是-1—1,如何理解?

方法 :    对于陆地表面覆盖来说,云、雨、雪在可见光比近红外波段有较高的反射作用,所以NDVI为负值;岩石、裸土的NDVI一般为0;有植被覆盖的地方一般大于0。

问题2:    导入ENVI进行查看,发现未拼接重投影之前影像数据范围为-3000—0.99880,拼接重投影之后影像数据范围在-3000—9988。是数据值发生了改变吗?

方法 :    ENVI — Basic Tool — Preprocessing — Data-Specific Utilities — View HDF Attribute

(在envi里面查看NDVI波段参数)

可以发现它的有效值范围为(-2000—10000),因此数据值-3000是无效值,其他的值是乘以了10000这个系数(scale_factor),因此在拼接重投影过程中ndvi值并没有发生变化。还有些值如32767等表示有云 。

问题3:     按上面所述,它的根本值没有发生改变,但是毕竟一部分数值已经扩大了啊,怎么处理比较合理?

方法 :     ENVI — Basic Tools — Band Math

(波段运算,把负值去掉)

在弹出的对话框Band Math中,Enter an expression: (b1 lt 0)*0+(b1 ge 0)*(b1*0.0001)。

这个公式意思就是:要是值小于0 就乘以0,使其变为0;同时,值大于等于0的话就乘以0.0001这个系数。

这样就OK了。关于B1 代表 所选的那个影像。

问题4:    如何通过NDVI来计算植被覆盖度?

方法 :   一般都是用的像元二值模型。利用NDVI值得到植被覆盖度。

公式:   fc = (NDVI - NDVIsoil)/( NDVIveg - NDVIsoil)

取 NDVIsoil = NDVImin, NDVIveg = NDVImax。

(1)得到NDVI数据

(2)查出NDVI影像的最大最小值: 在scroll 窗口右键 — Quick Statistics

对于最小值,由于是计算植被覆盖度,植被的NDVI应该是大于0 ,因此应该选择大于0的最小值。

对于最大值,最大值不是1(红光波段反射率不等于0),因此应该选择数量大于0值小于1的最大值。

注意:    最大最小值提取需要设置置信度。如果置信度是0, 则NDVImin取所有像元中最小的值,NDVImax取所有像元中最大的;如果取置信度是1 ,则NDVImin取像元中像元值累计概率1%附近的像元值,NDVImax取99%附近的那个像元值(注意是像元值的累积概率:累计概率=累积像元个数/总像元个数),同理其他也一样。

问题:   置信度如何获得?

(3)波段计算:   Basic Tool — Band match

输入计算公式:  float((b1-minb1)/(maxb1-minb1))

问题5:    如何查看NDVI数据的“波谱曲线”(也就是spectral profile)呢?

方法 :    执行Basic Tool → Layer Stacking,将同一年份的某几个月,或者将某几年的数据放到同一文件夹里进行多期数据波段叠加,然后点击Pixel Locator,输入特定像元的位置,查看特定像元出的Z profile,此时看到,Envi做出的曲线图并不好看,可以将其导出为ASCII,然后在Excel中作图。

MODIS NDVI数据处理相关问题

时间: 2024-10-15 03:58:30

MODIS NDVI数据处理相关问题的相关文章

ArcGIS Python实现Modis NDVI批量化月最大合成

最大合成法(MVC)能够在Envi中的Band Math中进行,式子是B1>B2,可是无法批量化.本文实如今ArcGIS中利用Python代码批量进行,例如以下: 用到的Modis NDVI数据是在MRT中进行拼接与转投影后的月数据,一个月有两期,数据格式是.tif,文件名称的格式如:20040101.1_km_16_days_NDVI.tif.20040102.1_km_16_days_NDVI.tif代表2004年1月份的两期数据.本次处理的为2004-2013年的10年的数据. Pytho

ArcGIS Python实现Modis NDVI月最大合成

最大合成法(MVC)可以在Envi中的Band Math中进行,式子是B1>B2,但是无法批量化:本文实现在ArcGIS中利用Python代码批量进行,如下: 用到的Modis NDVI数据是在MRT中进行拼接与转投影后的月数据,一个月有两期,数据格式是.tif,文件名的格式如:20040101.1_km_16_days_NDVI.tif,20040102.1_km_16_days_NDVI.tif代表2004年1月份的两期数据.本次处理的为2004-2013年的10年的数据. Python代码

激光雷达点云数据处理相关算法库收集 【转】

1.CGAL,Computational Geometry Algorithms Library,计算几何算法库,设计目标是,以C++库的形式,提供方便,高效,可靠的几何算法.CGAL可用于各种需要几何计算的领域,如计算机图形学,科学可视化,计算机辅助设计和建模,地理信息系统,分子生物学,医学成像,机器人运动规划,网格生成,数值方法等等. 计算几何算法库(CGAL),提供计算几何相关的数据结构和算法,诸如三角剖分(2D约束三角剖分及二维和三维Delaunay三角剖分),Voronoi图(二维和三

oracle,mongodb数据处理相关

任务一:将项目运行日志进行自动备份,处理后放入mongodb中. 难点:字符串切割,日期时间格式处理,linux定时任务 过程:日志处理无外乎将有效字段从非结构化的日志文本中截取出来,抽取有效信息供下一步分析使用.本项目中的日志信息其实已经相当结构化了,字符串切割里面的问题主要是一行数据切割一次无法完整的获取所有信息,需要用不同的切割方式再进行获取. 在处理切割得到的字符串时间时,遇到了一些小问题.01/Jan/2018:01:14:42 ,这个格式的文本时间,直接用simpledateform

ArcGIS Python实现Modis NDVI批量求年最大值

一年中的12个月份的月最大合成(mvc)数据放在"F:\\Vegetation Change\\Data\\GIMMS Data\\1MVC\\",数据名称格式为mvc_198801,mvc_198802........mvc_198812.处理年份为1981-2006,代码为: import arcpy arcpy.CheckOutExtension("spatial") for i in range(1981,2007): a1 = "F:\\Vege

python数据处理相关的一些知识点(学习点)

自己总结了一下就是存储,消息处理(异步,阻塞,队列,消息中间件) 参考岗位需求 数据爬虫工程师的岗位职责:1.分布式网络爬虫研发:不断完善现有抓取系统,通过对抓取.解析.调度.存储等模块的拆分与优化,形成具有本地服务特色的定向爬虫引擎,持续改进与迭代完善,推进开放服务建设;2.抓取数据需求支持:不断满足精细化运营需求,在保证抓取系统不断前进的基础上,完成日常抓取与解析任务,对数据的稳定性负责. 3.对异步处理或消息处理模式比较了解,熟悉并在项目中使用过twisted框架或消息中间件(如rabbi

练习和数据处理相关内容

#猴子一天摘了些桃子,第一天吃了一半加一个,到第十天只剩一个了,求第一天有几个? i=1 c=0 for x in range (1,10): c=i+1 i=2*c if x==9: print(i) print(round(2.5),round(2.5001),round(3.5),round(3.5001)) (3.0, 3.0, 4.0, 4.0) 可以看出是四舍五入 print(round(-2.5),round(-2.5001),round(-3.5),round(-3.5001))

大数据vs计算机

大数据有两个方向,一个是偏计算机的,另一个是偏经济的.你学过Java,所以你可以偏将计算机 基础1. 读书<Introduction to Data Mining>,这本书很浅显易懂,没有复杂高深的公式,很合适入门的人.另外可以用这本书做参考<Data Mining : Concepts and Techniques>.第二本比较厚,也多了一些数据仓库方面的知识.如果对算法比较喜欢,可以再阅读<Introduction to Machine Learning>.当然,还

team talk 主要框架

Android TeamTalk的原型是Android-IM, 注:本文假设你已经有Android开发环境,且对Android开发的基本常识有所了解 本文以eclipse为例启动Eclipse,导入Android客户端项目,请确保你当前的Android SDK是最新版. 如果编译出错,请修改项目根目录下的 project.properties 文件. 一.程序所依赖项目信息 1.mgimlibs git地址:http://gitlab.mogujie.org/androidop-team/mgi