1.gdal數據類型
(1)GDT_Byte(int8) (2)GDT_UInt16 (3)GDT_Int16 (4)GDT_UInt32 (5)GDT_Int32 (6)GDT_Float32 (7)GDT_Float64
2.寫GeoTiff文件
from osgeo import gdal
#讀取某一類型的數據,需要先載入數據驅動,初始化一個對象
driver = gdal.GetDriverByName("GTiff")
#創建空文件,並確定開辟多大內存;每個像素都有一個對應的值,這個值得類型用數據類型指定。這里的數據類型是gdal數據類型。
dataset = driver.Create("fdem_new.tif", 柵格矩陣的列數, 柵格矩陣的行數, 波段數, 數據類型)
#設置頭文件信息
#(1)寫入仿射變換參數
dataset.SetGeoTransform(左上角x坐標,東西方向上圖像的分辨率,地圖的旋轉角度,左上角y坐標,地圖的旋轉角度,南北方向上地圖的分辨率)
#(2)寫入投影信息(這里我所用的投影是從上一篇文章里的tif文件讀來的)
dataset.SetProjection(im_proj)
#寫入數據體
#為了方便,這里的im_bands是從上一篇文章里的tif文件所讀取到的波段數,im_data是從上一篇文章里的tif文件所讀取到的數據
if im_bands == 1:
dataset.GetRasterBand(1).WriteArray(im_data) #寫入數組數據
else:
for i in range(im_bands):
dataset.GetRasterBand(i+1).WriteArray(im_data[i])
#釋放內存空間
del dataset