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解析json实例方法
Nov 19 Python
在Python的Django框架中显示对象子集的方法
Jul 21 Python
20个常用Python运维库和模块
Feb 12 Python
Python内置函数reversed()用法分析
Mar 20 Python
如何使用python爬虫爬取要登陆的网站
Jul 12 Python
Python 实现大整数乘法算法的示例代码
Sep 17 Python
解决Python二维数组赋值问题
Nov 28 Python
Django后台管理系统的图文使用教学
Jan 20 Python
pycharm设置默认的UTF-8编码模式的方法详解
Jun 01 Python
浅析Python 责任链设计模式
Sep 11 Python
python实现b站直播自动发送弹幕功能
Feb 20 Python
pytorch 如何把图像数据集进行划分成train,test和val
May 31 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
php中var_export与var_dump的区别分析
2010/08/21 PHP
解析CI即CodeIgniter框架在Nginx下的重写规则
2013/06/03 PHP
php删除字符串末尾子字符,删除开始字符,删除两端字符(实现代码)
2013/06/27 PHP
Laravel框架FormRequest中重写错误处理的方法
2019/02/18 PHP
laravel 解决Eloquent ORM的save方法无法插入数据的问题
2019/10/21 PHP
javascript-表格排序(降序/反序)实现介绍(附图)
2013/05/30 Javascript
javascript学习笔记(二)数组和对象部分
2014/09/30 Javascript
javascript实现保留两位小数的多种方法
2015/12/18 Javascript
详解Webwork中Action 调用的方法
2016/02/02 Javascript
再次谈论React.js实现原生js拖拽效果引起的一系列问题
2016/04/03 Javascript
深入浅析JavaScript中的constructor
2016/04/19 Javascript
微信小程序 Video API实例详解
2016/10/02 Javascript
Vue.JS入门教程之处理表单
2016/12/01 Javascript
JavaScript在form表单中使用button按钮实现submit提交方法
2017/01/23 Javascript
jQuery倒计时代码(超简单)
2017/02/27 Javascript
js实现前端图片上传即时预览功能
2017/08/02 Javascript
浅谈vue中改elementUI默认样式引发的static与assets的区别
2018/02/03 Javascript
vue 实现全选全不选的示例代码
2018/03/29 Javascript
vue 项目打包通过命令修改 vue-router 模式 修改 API 接口前缀
2018/06/13 Javascript
js中Array对象的常用遍历方法详解
2019/01/17 Javascript
JS根据json数组多个字段排序及json数组常用操作
2019/06/06 Javascript
js变量值传到php过程详解 将php解析成数据
2019/06/26 Javascript
JS实现提示效果弹出及延迟隐藏的功能
2019/08/26 Javascript
js删除对象中的某一个字段的方法实现
2021/01/11 Javascript
python将每个单词按空格分开并保存到文件中
2018/03/19 Python
python开根号实例讲解
2020/08/30 Python
让IE9以下版本的浏览器兼容HTML5的方法
2014/03/12 HTML / CSS
迷你分体式空调:SoGoodToBuy
2018/08/07 全球购物
如何获取某个日期是当月的最后一天
2013/12/05 面试题
软件测试英文面试题
2012/10/14 面试题
爱国卫生月实施方案
2014/02/21 职场文书
2015年酒店服务员工作总结
2015/05/18 职场文书
和谐拯救危机观后感
2015/06/15 职场文书
培训后的感想
2015/08/07 职场文书
解决MySQL存储时间出现不一致的问题
2021/04/28 MySQL
教你如何用Python实现人脸识别(含源代码)
2021/06/23 Python