python 读取geotiff_python gdal 写GeoTiff文件

python 读取geotiff_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_Float642.写GeoTiff文件fromosgeoimportgdal#读取某一类型的数据,需要先载入数据驱动,初始化一个对象driver=gdal.GetDriv…

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

今天的文章python 读取geotiff_python gdal 写GeoTiff文件分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/9154.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注