landsat8波段疊加(layer stacking)


許久沒更。最近一直在看IDL,忽略了gdal的學習。

今天做了landsat8的輻射定標,需要通過reflectance gains/bias來進行波段運算。由於landsat8 oli未提供一個完整的疊加數據,所以首先第一步就是要將所有波段進行一個疊加。這里分享一下代碼。

 

解釋一下:

首先獲取tiff驅動,通過第一個波段讀取prj\geotransform,然后創建tiff文件導入這兩個信息。

隨后遍歷文件,每次都打開波段文件,讀取數組,隨后通過GetRasterBand方法來新增波段,用WriteArray寫入數組。

此外,ds.RasterCount可以獲取柵格影像的波段數(ds為數據集)。

 

此外,其實不借助gdal也可以進行波段合成。只要有read/write功能的函數就可以,每次讀取一個band,就readasarray,然后存儲為一個多維數組再創建tif文件即可。

下次會補充IDL進行波段疊加的方法,畢竟對於筆者這么一個不會寫正則表達式的人,相比python,還是在IDL里面進行輻射定標方便一點。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM