用Python将数组保存到光栅文件中的最简单方法

2024-04-27 19:16:43 发布

您现在位置:Python中文网/ 问答频道 /正文

对于一个形状为(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文件来调用它。

任何建议都将不胜感激。


Tags: 文件ofto方法innumber数组filename