C# -打开gdb文件

来源:互联网 发布:谭浩强c语言入门下载 编辑:程序博客网 时间:2024/05/29 14:24

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using ESRI.ArcGIS.DataSourcesGDB;
using System.IO;
using ESRI.ArcGIS.Geodatabase;
using ESRI.ArcGIS.Carto;

namespace gdb
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            IWorkspaceFactory pFactory = new FileGDBWorkspaceFactory();

            FolderBrowserDialog openFileDialog1 = new FolderBrowserDialog();

            openFileDialog1.Description = "(*.gdb)|*.gdb";
                  
            DialogResult pDialogResult = openFileDialog1.ShowDialog();
            if (pDialogResult != DialogResult.OK)
                return;
            string pPath = openFileDialog1.SelectedPath;
        
            string pFileName = Path.GetFileName(pPath);
            //打开工作空间

            IWorkspace pWorkspace = pFactory.OpenFromFile(pPath, 0);
            //打开要素集
          
            IFeatureWorkspace pFeatureWorkspace = pWorkspace as IFeatureWorkspace;
            MessageBox.Show("请输入你要打开的文件");

            IFeatureClass pFC = pFeatureWorkspace.OpenFeatureClass("TERA");

            //chuangjian tu ceng
            IFeatureLayer pFLayer = new FeatureLayerClass();
            pFLayer.FeatureClass = pFC;
            //guanlian tu ceng he yao su ceng
            pFLayer.Name = pFC.AliasName;
            ILayer pLayer = pFLayer as ILayer;
            IMap pMap = axMapControl1.Map;
            //tianjia dao di tu kong jian
            pMap.AddLayer(pLayer);

        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {

        }
    }
}