一、关于RasterIO
在GDAL中读写图像是最基本的操作,那么RasterIO也就是最基本的函数了,关于RasterIO有很多方式,这个函数的功能相当强大,下面慢慢说明。RasterIO一共有两个,一个是GDALRasterBand::RasterIO,另一个是GDALDataset::RasterIO,这两个RasterIO都可以对图像数据来进行读写,大多数情况下是一样的,但是还是有一些区别的。
二、RasterIO参数说明
下面对两个RasterIO的参数进行一个简单的说明:首先是GDALRasterBand::RasterIO ,该函数的声明如下,具体可以参考下面网址:http://gdal.org/classGDALRasterBand.html#5497e8d29e743ee9177202cb3f61c3c7
CPLErr GDALRasterBand::RasterIO ( GDALRWFlag eRWFlag,
int nXOff,
int nYOff,
int nXSize,
int nYSize,
void * pData,
int nBufXSize,
int nBufYSize,
GDALDataType eBufType,
int nPixelSpace,
int nLineSpace
)
接下来是GDALDataset::RasterIO ,该函数的什么如下,具体形式可以参考下面的网址:http://gdal.org/classGDALDataset.html#e077c53268d2272eebed10b891a05743
CPLErr GDALDataset::RasterIO ( GDALRWFlag eRWFlag,
int nXOff,
int nYOff,
int nXSize,
int nYSize,
void * pData,
int nBufXSize,
int nBufYSize,
GDALDataType eBufType,
int nBandCount,
int * panBandMap,
int nPixelSpace,
int nLineSpace,
int nBandSpace
)
由于这两个函数的参数基本一致,大多数参数都是一样的,下面就一起进行说明:
第一个参数RWFlag来指定是读数据还是写入数据,其值只能有两个即:GF_Read 和GF_Write,分别表示读取数据和写入数据。
第二个和第三个参数nXOff, nYOff表示读取或者写入图像数据的起始坐标图像的左上角坐标为(0,0)。
第四个和第五个参数 nXSize, nYSize表示读取或者写入图像数据的窗口大小,nXSize表示宽度,nYSize表示高