介绍ArcGIS中各种数据的打开方法——mdb(个人数据库)

Posted the_path_of_grace

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了介绍ArcGIS中各种数据的打开方法——mdb(个人数据库)相关的知识,希望对你有一定的参考价值。

3、打开存储在Access GeoDatabase的要素类

使用工作空间打开一个Access库中的一个要素类。

private void OpenWorkspaceFromFileAccess(string clsName, string DBPath)

 

定义函数OpenWorkspaceFromFileAccess,输入参数包括要素类名和该数据库文件所在的路径,返回值为打开该要素类获得的要素对象FeatureClass。

 

介绍一种方法

#region 打开个人数据库中的要素
        private void 打开个人数据库中的要素toolStripLabel2_Click(object sender, EventArgs e)
        {

            //方法:
            AddMDBFile();
        }
        /// <summary>
        /// 方法:使用工作空间打开一个Access库中的一个要素类
        /// </summary>
        private void AddMDBFile()
        {
            OpenFileDialog ofd = new OpenFileDialog();
            ofd.Title = "打开个人数据库";
            ofd.Filter = "Personal GDB(*.mdb)|*.mdb";
            ofd.InitialDirectory = m_Path;
            if (ofd.ShowDialog() != DialogResult.OK)
                return;
            string DBPath = ofd.FileName;
            OpenWorkspaceFromFileAccess("广西师范学院平面图", DBPath);
        }
        /// <summary>
        /// 方法补充:使用工作空间打开一个Access库中的一个要素类
        /// </summary>
        /// <param name="clsName">文件名</param>
        /// <param name="DBPath">文件路径</param>
        private void OpenWorkspaceFromFileAccess(string clsName, string DBPath)
        {
            //排除没有打开指定数据的情况
            if(DBPath!=m_Path+"\\Access.mdb")
            {
                MessageBox.Show("请打开指定数据库!");
                return;
            }
            //新建一个Access的工作空间工厂
            IWorkspaceFactory pWorkspaceFactory = new AccessWorkspaceFactoryClass();
            IWorkspace pWorkspace = pWorkspaceFactory.OpenFromFile(DBPath, 0);
            IFeatureWorkspace pAccessWorkspace=pWorkspace as IFeatureWorkspace;
            IFeatureClass pFeatureClass = pAccessWorkspace.OpenFeatureClass(clsName);
            IFeatureLayer pFLayer = new FeatureLayerClass();
            pFLayer.FeatureClass = pFeatureClass;
            pFLayer.Name = clsName;
            this.axMapControl1.AddLayer(pFLayer);
            this.axMapControl1.Refresh();
        }
        #endregion

 

小提示:

AccessWorkspaceFactoryClass 需要引用using ESRI.ArcGIS.DataSourcesFile;

 

谢谢观看!本人初学GIS二次开发,如果有不对的地方,请多多包涵!

以上是关于介绍ArcGIS中各种数据的打开方法——mdb(个人数据库)的主要内容,如果未能解决你的问题,请参考以下文章

我有几个MDB文件,但是不知道怎么用ARCGIS打开

介绍ArcGIS中各种数据的打开方法——tin(栅格文件)

ArcGIS怎么打开mdb

arcgis如何将注记从mdb导出到gdb数据库?

arcgis9.2能不能打开10制作的文件????急!!!

arcgis打不开mdb格式的文件是怎么回事?