Python&&GDAL实现NDVI的计算方式
更新时间:2020年01月09日 09:04:12 作者:兰小莫
今天小编就为大家分享一篇Python&&GDAL实现NDVI的计算方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
很短的几句代码,可是我却花了很长的时间才写出来,因为array那里的除法运算结果老是不对,正常在-1-1之间的。从别的资料摘来处理NDVI计算的array代码处,出现了很多问题,可能它用了什么优化计算的函数,但是结果不对,果断放弃了。
直接硬算,影像波段是整数,转成浮点型数字就行,然后再参与运算得出了正确的结果范围。
这个效率还是不行,用c++&&GDAL计算速率快得多了。
from osgeo import gdal_array as ga import gdal, ogr, os, osr import numpy as np b3=r'C:\Users\suns\Desktop\b4.TIF' b4=r'C:\Users\suns\Desktop\b5.TIF' arr=ga.LoadFile(b3) arr1=ga.LoadFile(b4) ga.numpy.seterr(all="ignore") ndvi=((arr1-arr)*1.0)/((arr1+arr)*1.0) ndvi1=ga.numpy.nan_to_num(ndvi) target=r'C:\Users\suns\Desktop\ndvi1.tif' out=ga.SaveArray(ndvi1,target,format = "GTiff",prototype = b4) out=None
以上这篇Python&&GDAL实现NDVI的计算方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
相关文章
pandas中read_csv、rolling、expanding用法详解
这篇文章主要介绍了pandas中read_csv、rolling、expanding用法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-04-04Python multiprocessing.Manager介绍和实例(进程间共享数据)
这篇文章主要介绍了Python multiprocessing.Manager介绍和实例(进程间共享数据),本文介绍了Manager的dict、list使用例子,同时介绍了namespace对象,需要的朋友可以参考下2014-11-11
最新评论