GDAL书籍中关于C#版本删除数据的时候,不能完全删除数据,由于我对C#不了解导致代码有点问题,非常感谢@Bingoyin指出并给出修改方案。此外对于栅格图像的删除、重命名,矢量数据的删除和重命名都有同样的问题,修改方式也都一样,具体如下。
以栅格数据为例,具体修改为:
static void RasterDelete(string strFile) { // 注册栅格驱动 Gdal.AllRegister(); Driver oDriver = null; {//此处需要修改 //打开图像 Dataset oDS = Gdal.Open(strFile, Access.GA_Update); if (oDS == null) { File.Delete(strFile); return; } oDriver = oDS.GetDriver(); if (oDriver == null) { File.Delete(strFile); return; } } if (oDriver.Delete(strFile) == GdalConst.CE_None) return; else File.Delete(strFile); }
修改为:
static void RasterDelete(string strFile) { // 注册栅格驱动 Gdal.AllRegister(); Driver oDriver = null; //打开图像 using(Dataset oDS = Gdal.Open(strFile, Access.GA_Update)) { if (oDS == null) { File.Delete(strFile); return; } oDriver = oDS.GetDriver(); if (oDriver == null) { File.Delete(strFile); return; } } if (oDriver.Delete(strFile) == GdalConst.CE_None) return; else File.Delete(strFile); }
最后感谢各位的支持,如果有任何疑问,请联系我,谢谢。
EMail:liminlu0314@163.com
QQ :liminlu0314@163.com