本文主要是介绍MODIS计算NDVI注意事项,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
声明:本文为博主个人学习笔记,部分知识来源于网络,只做交流,不可商用。
数据源:modis的MOD9A1产品,分辨率500m,合成周期为8天
NDVI(归一化植被指数)计算公式:
NDVI=(NIR-R)/(NIR+R),其中NIR为近红外波段,R为红光波段,分别对应MODIS第2和第1波段。
NDBI(归一化建筑指数)计算公式:
NDBI=(M IR - N IR ) /(M IR + N IR ),其中MIR为中红外波段,NIR为近红外波段,分别对应MODIS第6和第1波段。
ENVI处理以上数据注意事项:
1.使用Basic Tools下的Band Math工具时要切换到英文下再进行公式输入。
2.以计算NDVI为例,因原始波段均是整形数据,直接采用公式(b2-b1)/(b2+b1),运算结果会出错,所以要加入float,写成(float(b2)-float(b1))/(float(b2)+float(b1))。此公式非原创,详见:利用ENVI软件计算NDVI常见错误经验总结_树懒_新浪博客 http://blog.sina.com.cn/s/blog_9d38464f0102v8fe.html
3.博主使用的是MRT投影后的数据,也并未对数据进行进一步校正等相关处理,不知是否影响计算精度,希望作此研究的大牛指教。
ArcGIS处理以上数据注意事项:
1.本文软件版本为ArcGIS 10.3,所用工具spatial analyst tools →map algebra下的raster calculator,对应9.3 spatial analyst工具条上面的栅格计算器。
2.类似的,因为原始数据均为整形数据,在ArcGIS中直接使用栅格计算器进行波段运算也会出错, 一种解决方法是先用spatial analyst tools 中的float工具将源数据转换成浮点型数据,再利用raster calculator 根据公式进行运算。
3.在运算中,出现个别小于-1和大于1的极端值,因为时间原因,博主未能仔细研究其中原因,而是用根据属性值提取的方法,提取了自己需要的数据区域。希望对此有研究的人能给博主以解答。
因为Erdas与ArcGIS在license上的兼容性问题博主未能解决,所以Erdas中以上数据的计算方法本文不再赘述,感兴趣的博友可以自行查阅相关资料。
以上,欢迎大家的批评指正。
这篇关于MODIS计算NDVI注意事项的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!