C#+ArcEgine开发(2)添加shp和lyr文件

都是《ArcGIS Egine+C#入门经典》里的例子,可以找来看看
数据都是用的ArcEgine安装好后自带的数据
路径应该是   ArcGIS\DeveloperKit10.2\Samples\data
---------------------------------------------------------------------------------------------------------------------------
在上一个例子的窗体上拖一个 menuStrip进去,再拖一个 openFileDialog进去
最后的成果是这样的

1、添加shapfile文件
代码如下:

 private void 添加shp文件ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            IWorkspaceFactory pWorkspaceFactory = new ShapefileWorkspaceFactory();
            //文件过滤,选择后缀为.shp
            openFileDialog1.Filter = "ShapeFile文件(*.shp)|*.shp";
            if(openFileDialog1.ShowDialog()==DialogResult.OK)
            {
                string pPathName = openFileDialog1.FileName;
                string pFolder = System.IO.Path.GetDirectoryName(pPathName);
                string pFileName = System.IO.Path.GetFileName(pPathName);
                IWorkspace pWorkspace = pWorkspaceFactory.OpenFromFile(pFolder, 0);
                IFeatureWorkspace pFeatureWorkspace = pWorkspace as IFeatureWorkspace;
                IFeatureClass pFC = pFeatureWorkspace.OpenFeatureClass(pFileName);
                IFeatureLayer pFLayer = new FeatureLayerClass();
                pFLayer.FeatureClass = pFC;
                pFLayer.Name = pFC.AliasName;
                ILayer pLayer = pFLayer as ILayer;
                IMap pMap = axMapControl1.Map;
                pMap.AddLayer(pLayer);
                axMapControl1.ActiveView.Refresh();
            }
           

        }

2、添加lyr文件

 private void 添加lyr文件ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            openFileDialog1.Filter = "lyr文件(*.lyr)|*.lyr";
            //openFileDialog1.InitialDirectory = @"C:\Program Files (x86)\ArcGIS\DeveloperKit10.2\Samples\data\World";
            //openFileDialog1.Multiselect = false;
            //DialogResult pDialogResult = openFileDialog1.ShowDialog();
            //if (pDialogResult != DialogResult.OK)
            //    return;
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                string pFileName = openFileDialog1.FileName;
                axMapControl1.AddLayerFromFile(pFileName);
                axMapControl1.ActiveView.Refresh();
            }          
             
        }

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值