python通过gdal读取、写入存储栅格数据。栅格数据tif转化为array数组、array数组转化为栅格tif的函数方法

您所在的位置:网站首页 array文件夹 python通过gdal读取、写入存储栅格数据。栅格数据tif转化为array数组、array数组转化为栅格tif的函数方法

python通过gdal读取、写入存储栅格数据。栅格数据tif转化为array数组、array数组转化为栅格tif的函数方法

#python通过gdal读取、写入存储栅格数据。栅格数据tif转化为array数组、array数组转化为栅格tif的函数方法| 来源: 网络整理| 查看: 265

python通过gdal读取、写入存储栅格数据。栅格数据tif转化为array数组、array数组转化为栅格tif的函数方法:

首先必须引用引用gdal的模块包。

from osgeo import gdal, gdalconst

(1)python读取tif转化为数组的函数

def read_img(self, img_path): """读取遥感数据信息""" dataset = gdal.Open(img_path, gdalconst.GA_ReadOnly) img_width = dataset.RasterXSize img_height = dataset.RasterYSize adf_GeoTransform = dataset.GetGeoTransform() im_Proj = dataset.GetProjection() img_data = np.array(dataset.ReadAsArray(0, 0, img_width, img_height), dtype=float) # 将数据写成数组,对应栅格矩阵 del dataset return img_width, img_height, adf_GeoTransform, im_Proj, img_data

(2)python数组保存为栅格tif的函数:

def arr2img(self, save_path, arr): # 保存为jpg格式 #plt.imsave(save_path, arr) # 保存为TIF格式 driver = gdal.GetDriverByName("GTiff") datasetnew = driver.Create(save_path, self.img_width, self.img_height, 1, gdal.GDT_Float32) datasetnew.SetGeoTransform(self.adf_GeoTransform) datasetnew.SetProjection(self.im_Proj) band = datasetnew.GetRasterBand(1) band.WriteArray(arr) datasetnew.FlushCache() # Write to disk.必须有清除缓存


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3