Python GDAL Raster 学习笔记 之 gdal_array
最近在学习python gdal栅格计算,为了以后使用方便,就写了读写转换存储的函数,在即将告成的时候,发现了新大陆,就是gdal_array包,很多功能都已经有了,我还在闭门造车,重复造轮子。。。好吧,那就学习学习gdal_array包吧!
常用函数有如下几个:
flip_code(array.dtype) -> 返回数据类型(GDT_Byte/GDT_CFloat32/...)
def flip_code(code):
OpenArray() -> Dataset (Dataset是数据集类)
def OpenArray(array, prototype_ds=None, interleave='band'):
return ds
LoadFile() -> 将图像读取成numpy.ndarray
def LoadFile(filename, xoff=0, yoff=0, xsize=None, ysize=None, buf_xsize=None, buf_ysize=None, buf_type=None, resample_alg=gdal.GRIORA_NearestNeighbour, callback=None, callback_data=None, interleave='band', band_list=None):
SaveArray() -> 将array写入Gtiff文件
def SaveArray(src_array, filename, format="GTiff", prototype=None, interleave='band'):
DatasetReadAsArray() -> numpy.ndarray
def DatasetReadAsArray(ds, xoff=0, yoff=0, win_xsize=None, win_ysize=None, buf_obj=None, buf_xsize=None, buf_ysize=None, buf_type=None, resample_alg=gdal.GRIORA_NearestNeighbour, callback=None, callback_data=None, interleave='band', band_list=None):
DatasetWriteArray() -> 将array写入ds数据集所在位置
def DatasetWriteArray(ds, array, xoff=0, yoff=0, band_list=None, interleave='band', resample_alg=gdal.GRIORA_NearestNeighbour, callback=None, callback_data=None):