numpy array to geotif using gdal

使用GADL库进行读取和保存

import gdal

file = "GLASS_FAPAR_2001217_GEO500m_NEChina.tif"
ds = gdal.Open(file)
band = ds.GetRasterBand(1)
arr = band.ReadAsArray()
[rows, cols] = arr.shape

arr_out = arr.copy()

driver = gdal.GetDriverByName("GTiff")
outFileName = 'new.tif'
outdata = driver.Create(outFileName, cols, rows, 1,  band.DataType)
outdata.SetGeoTransform(ds.GetGeoTransform())##sets same geotransform as input
outdata.SetProjection(ds.GetProjection())##sets same projection as input
outdata.GetRasterBand(1).WriteArray(arr_out)
#outdata.GetRasterBand(1).SetNoDataValue(10000)##if you want these values transparent
outdata.FlushCache() ##saves to disk!!
outdata = None
band=None
ds=None
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容