-
void GDALAllRegister(void)注册所有已知的GDAL驱动器(
Driver)。在程序开头使用即可。 -
GDALDriver *GetDriverByName(const char*)通过名字搜索得到对应的
Driver通常会这样使用来创建一个
GTiff的Driver:cpp复制代码1GDALDriver* poDriver = GetGDALDriverManager()->GetDriverByName("GTiff"); -
GDALDatasetH GDALOpen(const char *pszFilename, GDALAccess eAccess)通过某种读写模式(实验中通常是只读GA_ReadOnly)打开一个图片,并将数据以
GDALDataset类存储。cpp复制代码1GDALDataset* data = (GDALDataset*)GDALOpen(filePath, GA_ReadOnly); -
GDALRasterBand *GetRasterBand(int)实验中,通常用作从
Dataset中获取对应条带数的数据,以GDALRasterBand类存储。cpp复制代码1GDALRasterBand* band = data->GetRasterBand(1); -
int GetRasterXSize()/int GetRasterYSize()获取该栅格图像的X/Y像素数
cpp复制代码1int xSize = band->GetRasterXSize(); 2int ySize = band->GetRasterYSize(); -
CPLErr RasterIO(GDALRWFlag, int, int, int, int, void*, int, int, GDALDataType, int, int*, GSpacing, GSpacing, GSpacing, GDALRasterIOExtraArg *psExtraArg)用于对对应条带数据进行IO操作,可读可写。
读:
cpp复制代码1band->RasterIO(GF_Read, 0, 0, 1, 1, data, 1, 1, GDT_Float64, 0, 0); 2//(0,0):偏移量 3//(1,1):数据的大小 4//data: 数据存储地址 5//(1,1):数组的大小 6//GDT_Float64:数据格式写:
cpp复制代码1band->RasterIO(GF_Write, 0, 0, 1, 1, data, 1, 1, GDT_Float64, 0, 0); -
void GDALClose(GDALDatasetH)用于程序结束时,关闭打开的图像。
Comments