Python&&GDAL實(shí)現(xiàn)NDVI的計(jì)算方式
很短的幾句代碼,可是我卻花了很長的時(shí)間才寫出來,因?yàn)閍rray那里的除法運(yùn)算結(jié)果老是不對,正常在-1-1之間的。從別的資料摘來處理NDVI計(jì)算的array代碼處,出現(xiàn)了很多問題,可能它用了什么優(yōu)化計(jì)算的函數(shù),但是結(jié)果不對,果斷放棄了。
直接硬算,影像波段是整數(shù),轉(zhuǎn)成浮點(diǎn)型數(shù)字就行,然后再參與運(yùn)算得出了正確的結(jié)果范圍。
這個(gè)效率還是不行,用c++&&GDAL計(jì)算速率快得多了。
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實(shí)現(xiàn)NDVI的計(jì)算方式就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python語言實(shí)現(xiàn)獲取主機(jī)名根據(jù)端口殺死進(jìn)程
這篇文章主要介紹了Python語言實(shí)現(xiàn)獲取主機(jī)名根據(jù)端口殺死進(jìn)程的相關(guān)資料,需要的朋友可以參考下2016-03-03Flask框架 CSRF 保護(hù)實(shí)現(xiàn)方法詳解
這篇文章主要介紹了Flask框架 CSRF 保護(hù)實(shí)現(xiàn)方法,結(jié)合實(shí)例形式詳細(xì)分析了Flask-WTF針對CSRF攻擊的防護(hù)相關(guān)操作技巧,需要的朋友可以參考下2019-10-10Python 實(shí)現(xiàn)任意區(qū)域文字識別(OCR)操作
這篇文章主要介紹了Python 實(shí)現(xiàn)任意區(qū)域文字識別(OCR)操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03selenium+python實(shí)現(xiàn)文件上傳操作的方法實(shí)例
文件上傳功能是我們在日常開發(fā)中經(jīng)常會(huì)遇到的一個(gè)需求,下面這篇文章主要給大家介紹了關(guān)于selenium+python實(shí)現(xiàn)文件上傳操作的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2021-08-08Python導(dǎo)入Excel數(shù)據(jù)表的幾種實(shí)現(xiàn)方式
在Python中可以使用許多庫來處理Excel文件,下面這篇文章主要給大家介紹了關(guān)于Python導(dǎo)入Excel數(shù)據(jù)表的幾種實(shí)現(xiàn)方式,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-01-01Python+Tkinter實(shí)現(xiàn)簡單的畫圖軟件
這篇文章主要為大家詳細(xì)介紹了如何利用Python和Tkinter實(shí)現(xiàn)編寫一個(gè)簡單的畫圖軟件,可以實(shí)現(xiàn)畫圖、保存、撤銷等功能,感興趣的可以了解一下2023-04-04pandas中read_csv、rolling、expanding用法詳解
這篇文章主要介紹了pandas中read_csv、rolling、expanding用法詳解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04打包遷移Python?env環(huán)境的三種方法總結(jié)
平常工作中可能遇到python虛擬環(huán)境遷移的場景,總結(jié)了如下幾個(gè)方法,下面這篇文章主要給大家介紹了關(guān)于打包遷移Python?env環(huán)境的三種方法,需要的朋友可以參考下2024-08-08Python multiprocessing.Manager介紹和實(shí)例(進(jìn)程間共享數(shù)據(jù))
這篇文章主要介紹了Python multiprocessing.Manager介紹和實(shí)例(進(jìn)程間共享數(shù)據(jù)),本文介紹了Manager的dict、list使用例子,同時(shí)介紹了namespace對象,需要的朋友可以參考下2014-11-11