python gdal 写GeoTiff文件


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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM