问题
在用GDAL库批量处理数据,创建数据集并生成快视图时,出现了SetNoDataValue() not supported for this dataset错误。特别的是处理单幅数据或者批量处理的第一张数据时一切正常,只有多幅影像顺序处理时才会报错。
我的代码逻辑是用for循环顺序处理,在每次循环中对一张影像数据进行处理,完成最终处理后数据集的创建与写入;再生成快视图,这里也有数据集的创建与写入操作。
解决方法
先尝试检查代码,所有打开的或是创建的数据集指针在使用完成后是否有关闭。
检查完以上还没有解决问题,则在创建数据集部分,用GDALDriver GDALDataset创建完数据集后,不要直接就写入数据,而是先用GDALClose将其关闭,然后重新创建数据集指针,再进行后续处理。
const char* pszFormat