//获取要素工作空间 public static ESRI.ArcGIS.Geodatabase.IFeatureWorkspace GetAeWorkspace(string mdbFile) { ESRI.ArcGIS.Geodatabase.IFeatureWorkspace featureWorkspace; ESRI.ArcGIS.Geodatabase.IWorkspaceFactory workspaceFactory = new ESRI.ArcGIS.DataSourcesGDB.AccessWorkspaceFactoryClass(); featureWorkspace = workspaceFactory.OpenFromFile(mdbFile, 0) as ESRI.ArcGIS.Geodatabase.IFeatureWorkspace; //featureClass = featureWorkspace.OpenFeatureClass(featureName); //ReleaseAE.ReleaseAEObject(featureWorkspace); System.Runtime.InteropServices.Marshal.ReleaseComObject(workspaceFactory); return(featureWorkspace); }
/// <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); }
//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; }
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); }