zoukankan      html  css  js  c++  java
  • 三种方法加载MXD文档 (LoadMxFile方法和IMapDocument方法和IMapDocument方法)

    LoadMxFile方法加载MXD文档:
    private void loadMxFile方法ToolStripMenuItem_Click(object sender, EventArgs e) { //加载数据前如果有数据则清空 try { OpenFileDialog pOpenFileDialog = new OpenFileDialog();//打开文件 pOpenFileDialog.CheckFileExists = true;//判断文件存在 pOpenFileDialog.Title = "打开地图文档"; pOpenFileDialog.Filter = "ArcMap文档(*.mxd)|*.mxd;|ArcMap模板(*.mxt)|*.mxt|发布地图文件(*.pmf)|*.pmf|所有地图格式(*.mxd;*.mxt;*.pmf)|*.mxd;*.mxt;*.pmf"; pOpenFileDialog.Multiselect = false; //不允许多个文件同时选择 pOpenFileDialog.RestoreDirectory = true; //存储打开的文件路径 if (pOpenFileDialog.ShowDialog() == DialogResult.OK) { string pFileName = pOpenFileDialog.FileName; if (pFileName == "") { return; } if (mainMapControl.CheckMxFile(pFileName)) //MapControl的CheckMxFile方法检查地图文档是否为效的地图文档,返回值为Bool { ClearAllData(); mainMapControl.LoadMxFile(pFileName);//MapControl的LoadMxFile方法 加载地图文档 } else { MessageBox.Show(pFileName + "是无效的地图文档!", "信息提示"); return; } } } catch (Exception ex) { MessageBox.Show("打开地图文档失败" + ex.Message); } } #region 封装的方法 private void ClearAllData() { if (mainMapControl.Map != null && mainMapControl.Map.LayerCount > 0) { //新建mainMapControl中Map IMap dataMap = new MapClass(); dataMap.Name = "Map"; mainMapControl.DocumentFilename = string.Empty; mainMapControl.Map = dataMap; //新建EagleEyeMapControl中Map IMap eagleEyeMap = new MapClass(); eagleEyeMap.Name = "eagleEyeMap"; EagleEyeMapControl.DocumentFilename = string.Empty; EagleEyeMapControl.Map = eagleEyeMap; } } #endregion

    
            #region IMapDocument方法加载Mxd文档文件
    
            private void iMapDocument方法ToolStripMenuItem_Click(object sender, EventArgs e)
            {
                try
                {
                    OpenFileDialog pOpenFileDialog = new OpenFileDialog();
                    pOpenFileDialog.CheckFileExists = true;
                    pOpenFileDialog.Title = "打开地图文档";
                    pOpenFileDialog.Filter = "ArcMap文档(*.mxd)|*.mxd;|ArcMap模板(*.mxt)|*.mxt|发布地图文件(*.pmf)|*.pmf|所有地图格式(*.mxd;*.mxt;*.pmf)|*.mxd;*.mxt;*.pmf";
                    pOpenFileDialog.Multiselect = false;
                    pOpenFileDialog.RestoreDirectory = true;
                    if (pOpenFileDialog.ShowDialog() == DialogResult.OK)
                    {
                        string pFileName = pOpenFileDialog.FileName;
                        if (pFileName == "")
                        {
                            return;
                        }
    
                        if (mainMapControl.CheckMxFile(pFileName)) //检查地图文档有效性
                        {
                            //将数据载入pMapDocument并与Map控件关联
                            IMapDocument pMapDocument = new MapDocument();//using ESRI.ArcGIS.Carto;
                            pMapDocument.Open(pFileName, "");
                            //获取Map中激活的地图文档
                            mainMapControl.Map = pMapDocument.ActiveView.FocusMap;
                            mainMapControl.ActiveView.Refresh();
                        }
                        else
                        {
                            MessageBox.Show(pFileName + "是无效的地图文档!", "信息提示");
                            return;
                        }
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show("打开地图文档失败" + ex.Message);
                }
            }
            #endregion


        #region ControlsOpenDocCommandClass加载地图
    
            private void controlsOpenDocCommandClass方法ToolStripMenuItem_Click(object sender, EventArgs e)
            {
                ICommand command = new ControlsOpenDocCommandClass();
                command.OnCreate(mainMapControl.Object);
                command.OnClick();
            }
    
            #endregion
    
    
    
     
  • 相关阅读:
    转 通过 spring 容器内建的 profile 功能实现开发环境、测试环境、生产环境配置自动切换
    call_grant_sel.sql
    sql server 2008 评估期已过期解决办法
    (2.3)学习笔记之mysql基础操作(表/库操作)
    (2.2)学习笔记之mysql基础操作(登录及账户权限设置)
    Red Gate系列
    教你使用SQL数据库索引(1-15)
    cache与buffer的区别
    (4.17)什么情况下应该使用索引
    windows server2003/2008中权限账户
  • 原文地址:https://www.cnblogs.com/gistwz/p/10171711.html
Copyright © 2011-2022 走看看