python中GDAL应用的技巧
------------恢复内容开始------------
参考:python 空间数据处理 - 随笔分类 - ninic - 博客园 (cnblogs.com)
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
------------恢复内容结束------------
posted on 2021-08-05 13:47 NeverDelay 阅读(396) 评论(0) 编辑 收藏 举报