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