我正在用C ++编写代码(MSVS 2013),使用GDAL,函数RasterIO,我在编写点值方面遇到了麻烦。
如API教程中所述,我使用以下代码在我的光栅文件中写一行:
poBand->RasterIO(GF_Write, 0, j, nXSize, 1, pafWriteline, nXSize, 1, GDT_Float32, 0, 0);
其中:
pafWriteline = (float *)CPLMalloc(sizeof(float)*nXSize);
但是,稍后,当我使用代码读取同一行时:
poBand->RasterIO(GF_Read, 0, j, nXSize, 1, pafScanline, nXSize, 1, GDT_Float32, 0, 0);
pafScanline中的所有值都是四舍五入的(看起来像整数)。
任何人都知道发生了什么事?
提前致谢!