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:[email protected]