打开地图文件和shape文件代码加载Mxd文档

本文介绍了使用代码加载MXD地图文档及Shape文件的方法。通过示例代码展示了如何通过AxMapControl.LoadMxFile方法加载MXD文件,并实现Shape文件的选择与路径分解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

代码加载Mxd文档

用代码添加Mxd文档,用到AxMapControl.LoadMxFile(sFilePath),我们只要将Mxd文档的路径传给这个方法即可

/// <summary>
        /// 打开地图文件
        /// </summary>
        /// <returns>文件的完整路径</returns>
        public string OpenMxd()
        {
            string MxdPath = "";
            OpenFileDialog OpenMXD = new OpenFileDialog();
            OpenMXD.Title = "打开地图";
            OpenMXD.InitialDirectory = "F:";
            OpenMXD.Filter = "地图文件(*.mxd)|*.mxd";
            if (OpenMXD.ShowDialog() == DialogResult.OK)
            {
                MxdPath = OpenMXD.FileName;
            }
            return MxdPath;
        }
        /// <summary>
        /// 打开Shape文件,需要两个参数,shp文件所在目录,文件名
        /// </summary>
        /// <returns>数组,shp文件所在目录,文件名</returns>
        public string[] OpenShapeFile()
        {
            string[] ShpFile = new string[2];
            OpenFileDialog OpenShpFile = new OpenFileDialog();
            OpenShpFile.Title = "打开Shape文件";
            OpenShpFile.InitialDirectory = "F:";
            OpenShpFile.Filter = "Shape文件(*.shp)|*.shp";
            if (OpenShpFile.ShowDialog() == DialogResult.OK)
            {
                string ShapPath = OpenShpFile.FileName;
                //利用\\将文件路径分为两部分
                int Postion = ShapPath.LastIndexOf("\\");
                string FilePath = ShapPath.Substring(0, Postion);
                string ShpName = ShapPath.Substring(Postion+1);
                ShpFile[0] = FilePath;
                ShpFile[1] = ShpName;
            }
            return ShpFile;
        }
        private void btnOpen_Click(object sender, EventArgs e)
        {
            //OpenFileDialog OpenMXD = new OpenFileDialog();
            //OpenMXD.Title = "打开地图";
            //OpenMXD.InitialDirectory = "F:";
            //OpenMXD.Filter = "地图文件(*.mxd)|*.mxd";
            //if (OpenMXD.ShowDialog() == DialogResult.OK)
            //{
            //    string MxdPath = OpenMXD.FileName;
            //    axMapControl1.LoadMxFile(MxdPath);
            //    //控件的LoadMXFIle是用来加载地图文档的。可以封装成函数OpenMxd()
            //}
           axMapControl1.LoadMxFile(OpenMxd());
               
        }

转载于:https://www.cnblogs.com/qiushuixizhao/p/3234336.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值