赞
踩
- from scipy.io import loadmat
- from osgeo import gdal
- # import numpy as np
-
- # 读取.mat文件中的数据
- data = loadmat('my.mat')
- print(data.keys()) #判断key的值是什么,修改下面的key
- data_array = data['Z']
- print(data_array.shape) #行,列 ,波段
-
- # 读取已知的地理信息
- old_tif = gdal.Open('old.tif')
- old_transform = old_tif.GetGeoTransform()
- old_projection = old_tif.GetProjection()
-
-
- # 创建一个新的.tif文件,并将原始数据写入其中
- new_tif = gdal.GetDriverByName('GTiff').Create('new.tif', data_array.shape[1], data_array.shape[0], data_array.shape[2], gdal.GDT_Float32) #宽度,高度,波段
- new_tif.SetGeoTransform(old_transform)
- new_tif.SetProjection(old_projection)
-
- for i in range(data_array.shape[2]):
- new_tif.GetRasterBand(i+1).WriteArray(data_array[:, :, i])
-
- new_tif.FlushCache()
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。