很短的幾句代碼,可是我卻花了很長的時間才寫出來,因為array那里的除法運算結(jié)果老是不對,正常在-1-1之間的。從別的資料摘來處理NDVI計算的array代碼處,出現(xiàn)了很多問題,可能它用了什么優(yōu)化計算的函數(shù),但是結(jié)果不對,果斷放棄了。
高臺網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、APP開發(fā)、響應式網(wǎng)站設計等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)公司公司2013年成立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設就選創(chuàng)新互聯(lián)公司。直接硬算,影像波段是整數(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