本文主要是介绍GDAL读取波段数据1,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
前面用GDAL输出了一些打开文件的信息;
了解了它的基本的编程方式是,
先注册,执行GDALAllRegister();
然后打开文件,返回一个数据集指针,即GDALDataset * 类型的指针poDataset;
再通过此指针获取下面各级的信息;
下面来读取打开文件的波段数据,并输出;
首先获得波段1的指针poBand,
GDALRasterBand *poBand = poDataset->GetRasterBand(1);
int nXSize = poBand->GetXSize();
这是获取一行有多少个数据;
那么,
int nYsize = poBand->GetYSize();
这是获取了有多少行;
在前文的示例里面,获取了第一行数据,并没有输出;
poBand->RasterIO(GF_Read, 0, 0, nXSize, 1, pafScanline, nXSize, 1, GDT_Float32, 0, 0);
输出行数看一下,有507行,如果在控制台都输出的话太多看不了,先输出几行看一下;
看了一下资料,
如果把前面这句中的1都改为2,并不是读取第2行,是读取前2行,读2行;
试了一下是这样,
如果如下读取,
poBand->RasterIO(GF_Read, 0, 0, nXSize, 2, pafScanline, nXSize, 2, GDT_Float32, 0, 0);
而存储缓冲区定义为,<
这篇关于GDAL读取波段数据1的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!