1. 程式人生 > >GDAL書籍中刪除資料勘誤(C#語言)

GDAL書籍中刪除資料勘誤(C#語言)

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]

QQ :[email protected]