Python&&GDAL实现NDVI的计算方式


Posted in Python onJanuary 09, 2020

很短的几句代码,可是我却花了很长的时间才写出来,因为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的计算方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中列表(list)操作方法汇总
Aug 18 Python
Python中使用partial改变方法默认参数实例
Apr 28 Python
实例讲解Python编程中@property装饰器的用法
Jun 20 Python
python使用matplotlib绘图时图例显示问题的解决
Apr 27 Python
Python简单删除列表中相同元素的方法示例
Jun 12 Python
Python基础教程之内置函数locals()和globals()用法分析
Mar 16 Python
python 限制函数调用次数的实例讲解
Apr 21 Python
python寻找list中最大值、最小值并返回其所在位置的方法
Jun 27 Python
python 实现一次性在文件中写入多行的方法
Jan 28 Python
Python使用pymongo库操作MongoDB数据库的方法实例
Feb 22 Python
Python collections.defaultdict模块用法详解
Jun 18 Python
用python发送微信消息
Dec 21 Python
Python-numpy实现灰度图像的分块和合并方式
Jan 09 #Python
Pytorch 搭建分类回归神经网络并用GPU进行加速的例子
Jan 09 #Python
使用PyTorch训练一个图像分类器实例
Jan 08 #Python
pytorch 实现将自己的图片数据处理成可以训练的图片类型
Jan 08 #Python
pytorch下大型数据集(大型图片)的导入方式
Jan 08 #Python
Python 实现训练集、测试集随机划分
Jan 08 #Python
Pyecharts绘制全球流向图的示例代码
Jan 08 #Python
You might like
Linux下ZendOptimizer的安装与配置方法
2007/04/12 PHP
简单的PHP多图上传小程序代码
2011/07/17 PHP
str_replace只替换一次字符串的方法
2013/04/09 PHP
用HTML/JS/PHP方式实现页面延时跳转的简单实例
2016/07/18 PHP
TP - 比RBAC更好的权限认证方式(Auth类认证)
2021/03/09 PHP
由prototype_1.3.1进入javascript殿堂-类的初探
2006/11/06 Javascript
百度判断手机终端并自动跳转js代码及使用实例
2014/06/11 Javascript
jQuery遍历对象、数组、集合实例
2014/11/08 Javascript
js闭包的用途详解
2014/11/09 Javascript
jQuery实现精美的多级下拉菜单特效
2015/03/14 Javascript
JS和css实现检测移动设备方向的变化并判断横竖屏幕
2015/05/25 Javascript
浅谈jQuery this和$(this)的区别及获取$(this)子元素对象的方法
2016/11/29 Javascript
关于 jQuery Easyui异步加载tree的问题解析
2016/12/06 Javascript
Bootstrap3多级下拉菜单
2017/02/24 Javascript
JavaScript实现隐藏省略文字效果的方法
2017/04/27 Javascript
angularjs之$timeout指令详解
2017/06/13 Javascript
Vue中自定义全局组件的实现方法
2017/12/08 Javascript
微信小程序如何获取手机验证码
2018/11/04 Javascript
详解webpack4之splitchunksPlugin代码包分拆
2018/12/04 Javascript
抖音上用记事本编写爱心小程序教程
2019/04/17 Javascript
Tornado Web服务器多进程启动的2个方法
2014/08/04 Python
简单讲解Python中的闭包
2015/08/11 Python
python实现可以断点续传和并发的ftp程序
2016/09/13 Python
python利用requests库进行接口测试的方法详解
2018/07/06 Python
对pandas处理json数据的方法详解
2019/02/08 Python
numpy中的ndarray方法和属性详解
2019/05/27 Python
详解Pandas之容易让人混淆的行选择和列选择
2019/07/10 Python
python过滤中英文标点符号的实例代码
2019/07/15 Python
python实现在函数中修改变量值的方法
2019/07/16 Python
python list多级排序知识点总结
2019/10/23 Python
python 实现保存最新的三份文件,其余的都删掉
2019/12/22 Python
python实现图片,视频人脸识别(opencv版)
2020/11/18 Python
CSS3实现swap交换动画
2016/01/19 HTML / CSS
股东协议书范本2016
2016/03/21 职场文书
会议承办单位欢迎词
2019/07/09 职场文书
分析设计模式之模板方法Java实现
2021/06/23 Java/Android