【发布时间】:2016-06-06 01:27:30
【问题描述】:
有一个 (100, 100) 形状的二维数组,我想将它保存到 .tiff 格式的光栅文件中。
我可以使用gdal 包来读取已经存在的tiff 文件。但我仍然找不到将二维数组转换为 tiff 文件的简单方法。
使用plt.imsave("xx.tif",array) 或
def array_to_raster(array):
"""Array > Raster
Save a raster from a C order array.
:param array: ndarray
"""
dst_filename = 'xxx.tiff'
x_pixels = 100 # number of pixels in x
y_pixels = 100 # number of pixels in y
driver = gdal.GetDriverByName('GTiff')
dataset = driver.Create(
dst_filename,
x_pixels,
y_pixels,
1,
gdal.GDT_Float32, )
dataset.GetRasterBand(1).WriteArray(array)
dataset.FlushCache() # Write to disk.
return dataset, dataset.GetRasterBand(1)
他们都没有达到我的目标。第二种方法改编自here,它可以将数组转换为带有投影的geotiff。
有没有一些简单的方法可以将数组保存到.tiff,所以下次我可以通过导入tiff文件来调用它。
任何建议将不胜感激。
【问题讨论】:
标签: python arrays gis tiff raster