您好,登錄后才能下訂單哦!
很短的幾句代碼,可是我卻花了很長的時間才寫出來,因為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的計算方式就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。