/// <summary>
        /// 创建要素工作空间
        /// </summary>
        /// <param name="MDBPath"></param>
        /// <returns></returns>
        public static ESRI.ArcGIS.Geodatabase.IFeatureWorkspace CreateAeWorkspace(string MDBPath)
        {
            ESRI.ArcGIS.DataSourcesGDB.AccessWorkspaceFactoryClass pwsf = new ESRI.ArcGIS.DataSourcesGDB.AccessWorkspaceFactoryClass();
            string mdbparentPath = System.IO.Path.GetDirectoryName(MDBPath);
            string mdbName       = System.IO.Path.GetFileNameWithoutExtension(MDBPath);

            pwsf.Create(mdbparentPath, mdbName, null, 0);
            ESRI.ArcGIS.Geodatabase.IWorkspace targetWorkspace = pwsf.OpenFromFile(MDBPath, 0);
            System.Runtime.InteropServices.Marshal.ReleaseComObject(pwsf);
            return(targetWorkspace as ESRI.ArcGIS.Geodatabase.IFeatureWorkspace);
        }
示例#2
0
        //added by chulili
        //函数功能:创建PDB工作空间  传入参数:工作空间所在文件夹路径  工作空间名称 传出参数:工作空间
        //代码来源:借鉴同事代码
        public static IWorkspace CreatePDBWorkSpace(string path,string filename)
        {
            IWorkspaceFactory pWorkspaceFactory = new ESRI.ArcGIS.DataSourcesGDB.AccessWorkspaceFactoryClass();
            if (System.IO.File.Exists(filename))
            {
                if (pWorkspaceFactory.IsWorkspace(filename))
                {
                    IWorkspace pTempWks = pWorkspaceFactory.OpenFromFile(filename, 0);
                    pWorkspaceFactory = null;
                    return pTempWks;
                }
            }

            IWorkspaceName pWorkspaceName = pWorkspaceFactory.Create("" + path + "", "" + filename + "", null, 0);
            IName name = (ESRI.ArcGIS.esriSystem.IName)pWorkspaceName;
            IWorkspace PDB_workspace = (IWorkspace)name.Open();
            pWorkspaceFactory = null;
            return PDB_workspace;

        }
示例#3
0
        public IWorkspace CreateFileGDBWorkSpace(string filename)
        {
            IWorkspaceFactory pWorkspaceFactory = new ESRI.ArcGIS.DataSourcesGDB.AccessWorkspaceFactoryClass();

            if (System.IO.File.Exists(filename))
            {
                if (pWorkspaceFactory.IsWorkspace(filename))
                {
                    IWorkspace pTempWks = pWorkspaceFactory.OpenFromFile(filename, 0);
                    return(pTempWks);
                }
            }

            IWorkspaceName pWorkspaceName = pWorkspaceFactory.Create("" + System.IO.Path.GetDirectoryName(filename) + "", "" + System.IO.Path.GetFileNameWithoutExtension(filename) + "", null, 0);
            IName          name           = (ESRI.ArcGIS.esriSystem.IName)pWorkspaceName;

            IWorkspace fileGDB_workspace = (IWorkspace)name.Open();

            return(fileGDB_workspace);
        }