个人笔记,仅供参考。
GDAL对shp文件的操作后,比如删除某条记录,并增加一些新的记录,保存之后,再打开shp,发现删除的记录还在,但是dbf文件中却已经找不到记录了,这时候需要在关闭数据集前进行一项操作, OGRDataSource *poDS;
OGRDataSource *poDS;
...
poLayer->SyncToDisk();
poDS->ExecuteSQL("repack Export_Output",NULL,NULL);
Export_Output为layername。
感谢GDAL交流3中子夜提供的方法!