Пример #1
0
        /// <summary>
        /// 通过Layer名删除Layer
        /// </summary>
        /// <param name="myDS"></param>
        /// <param name="layerName"></param>
        /// <returns></returns>
        public static bool deleteLayerByName(this OSGeo.OGR.DataSource myDS, string layerName)
        {
            bool isDelete   = false;
            int  layerCount = myDS.GetLayerCount();

            for (int i = 0; i < layerCount; i++)
            {
                OSGeo.OGR.Layer itm = myDS.GetLayerByIndex(i);
                if (itm.GetName() == layerName)
                {
                    itm.Dispose();
                    myDS.DeleteLayer(i);
                    isDelete = true;
                    break;
                }
                else
                {
                    itm.Dispose();
                }
            }
            return(isDelete);
        }