Python&&GDAL实现NDVI的计算方式
2020-02-13 11:49
330 查看
很短的几句代码,可是我却花了很长的时间才写出来,因为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的计算方式就是小编分享给大家的全部内容了,希望能给大家一个参考
您可能感兴趣的文章:
相关文章推荐
- Python&&GDAL实现NDVI的计算
- 相似度计算方式的总结:java或python实现代码
- 计算带括号的四则运算表达式,这个实现方式你想过吗?
- 学习Python---Python实现方式
- Python编程:以String方式进行大数计算
- python中package机制的两种实现方式(转载)
- 练习2-1 编写一个程序一确定分别由signed及unsigned限定的char,short,int及long类型变量的取值范围。采用打印标准头文件中的相应值以及直接计算两种方式实现。通过直接计算来确定浮点类型的取值范围是一项难度很大的任务。
- [转载]python中package机制的两种实现方式
- 各种相似度计算的python实现
- python中package机制的两种实现方式
- [Python]计算100以内的素数--一行代码filter方式
- 【Python】Python实现马氏距离计算
- 用python做服务端时实现守候进程的那些方式 推荐
- 二叉树的基本性质、存储方式与遍历(Python实现)
- python简单实现计算过期时间的方法
- 计算4000000000内的最大f(n)=n值---字符串的问题python实现(五岁以下儿童)
- 重载Python FTP_TLS 实现Implicit FTP Over TLS方式下载文件
- python中package机制的两种实现方式
- 用 Python实现C的读入方式
- 实现计算算式字符串的2种方式(方式1)