python gdal 栅格数据创建
官方的python API文档极其简陋,基本上就是在C的基础上自动生成的文档,可读性较差,一些参数根本不知道其意思和写法。如果没有C、C++基础,基本也就无法查到明确的用法。就拿创建一个压缩的GTiff影像文件来说。官方的文档说明如下:
创建栅格文件的主要接口是:
Create(self, *args, **kwargs)
Create(Driver self, char const * utf8_path, int xsize, int ysize, int bands=1, GDALDataType eType, char ** options=None) -> Dataset
用来限定文件特殊格式的选项是options参数,默认是None。
可是具体如何设置,官方文档居然没有给出。既没有详细参数说明,有没有具体示例。要想知道具体参数,只能去查阅gdal c/c++的API文档了。python 的gdalAPI就是这么的蛋疼。
下面一个示例讲述如何创建一个压缩的GTiff文件。
from osgeo import gdal
driver = gdal.GetDriverByName('GTiff')
out_raster = driver.Create(out_file, cols, rows, 1, edt,
options=["TILED=YES", "COMPRESS=LZW"])
out_raster.SetGeoTransform(src_geo)
outband = out_raster.GetRasterBand(1)
merge_data = np.where(tmp_data == footprint_value, 0, 1)
outband.WriteArray(merge_data)
outband.SetNoDataValue(nodata)
out_raster.SetProjection(src_proj)
outband.FlushCache()