在C++中使用GDAL庫(kù)來(lái)讀寫(xiě)柵格數(shù)據(jù),可以按照以下步驟進(jìn)行:
#include "gdal/gdal.h"
GDALAllRegister();
GDALDataset *poDataset = (GDALDataset *)GDALOpen("path/to/raster.tif", GA_ReadOnly);
if(poDataset == NULL) {
// 處理打開(kāi)失敗的情況
}
int nXSize = poDataset->GetRasterXSize();
int nYSize = poDataset->GetRasterYSize();
int nBands = poDataset->GetRasterCount();
GDALRasterBand *poBand = poDataset->GetRasterBand(1);
GDALDataType eType = poBand->GetRasterDataType();
int nXOff = 0, nYOff = 0, nXSize = 100, nYSize = 100; // 讀取的區(qū)域大小
int *pData = new int[nXSize * nYSize];
poBand->RasterIO(GF_Read, nXOff, nYOff, nXSize, nYSize, pData, nXSize, nYSize, eType, 0, 0);
int *pData = new int[nXSize * nYSize]; // 要寫(xiě)入的數(shù)據(jù)
poBand->RasterIO(GF_Write, nXOff, nYOff, nXSize, nYSize, pData, nXSize, nYSize, eType, 0, 0);
GDALClose(poDataset);
以上是使用GDAL庫(kù)讀寫(xiě)柵格數(shù)據(jù)的基本步驟,開(kāi)發(fā)者可以根據(jù)具體需求進(jìn)行定制化操作。