时 间 记 忆
最 新 评 论
专 题 分 类
最 新 日 志
最 新 留 言
搜 索
用 户 登 录
友 情 连 接
博 客 信 息


 
AO开发示例代码之——加载shapefile
[ 2008-7-7 13:44:00 | By: 兔九妹 ]
 

        private IFeatureClass AddData()
        {
            OpenFileDialog dlg = new OpenFileDialog();
            dlg.Filter = "Shapefiles文件(*.shp)|*.shp|所有文件 (*.*)|*.*";
            dlg.DefaultExt = "*.shp";
            dlg.Title = "加载数据";
            dlg.Multiselect = true;
            //定义存放打开 IFeatureClass 的字符串数组
 
            string FullFileName;
            if (dlg.ShowDialog() == DialogResult.OK)
            {
                FullFileName = dlg.FileName;  //E:\Work\taihu\data\shape\\taiall_region.shp

                string WorkSpacePath = System.IO.Path.GetDirectoryName(FullFileName);  //E:\Work\taihu\data\shape
                string ShapeFileName = System.IO.Path.GetFileName(FullFileName);   //taiall_region.sh
           

                //创建工作空间工厂
                IWorkspaceFactory m_WorkspaceFactory = new ShapefileWorkspaceFactoryClass();

                //打开工作空间
                IWorkspace m_Workspace = m_WorkspaceFactory.OpenFromFile(WorkSpacePath, 0);
                IFeatureWorkspace m_FeatureWorkspace = m_Workspace as IFeatureWorkspace;

                //打开要素图层
                IFeatureClass m_FeatureClass = m_FeatureWorkspace.OpenFeatureClass(ShapeFileName);
               
                //关联图层和要素类
                IFeatureLayer m_FeatureLayer = new FeatureLayerClass();
                m_FeatureLayer.FeatureClass = m_FeatureClass;
                ILayer m_Layer = m_FeatureLayer as ILayer;


                //添加到地图控件中
                this.MainMap.Map.AddLayer(m_Layer);

                MainMap.ActiveView.Extent = MainMap.FullExtent;
                MainMap.ActiveView.Refresh();
                return m_FeatureClass;

            }
            else
                return null;
        }

 
 
发表评论:
Powered by Oblog.
错误: 无法读取页脚文件。