当前位置: 首页 > article >正文

Arcgis Engine之打开MXD文档

Arcgis Engine之打开MXD文档

    • 概述
      • 方法一:
      • 方法二:

概述

图层加载功能将用到MapControl 控件提供的LoadMxFile 方法
该方法通过指定的*. Mxd文档路径直接获取

该方法第一个参数是文件路径,
第二个参数是MExd文档中地图的名称或索引,
第三个参数是密码,这里使用.
 NET的Type. Missing字段通过反射进行调用获取参数的默认值。

在这里插入图片描述
加载Mxd文档可以通过MapControl 控件的LoadIxFile 方法,也可以通过MapDocument对象对地图文档中的地图逐个加载,MapDocument 提供了open 方法,用于打开一个地图文档文件。

该方法第一个参数为地图文档文件的路径,第二个参数为密码。

例如:

mapDocument = new ESRI.ArcGIS.Carto.MapDocumentClass();
mapDocument.Open(filePath,"");

在这里插入图片描述

一个Mxd文档中可以包含多个地图,loadMapDocument2方法,演示如何读取MXD文档中特定的地图,MapControl控件提供了ReadMxMaps方法,用于获取Mxd文档中地图数组,找到特定地图,再进行加载。

在这里插入图片描述

在这里插入图片描述

axMapControl1.LoadMxFile(filename);
IMapDocument iMapDoc = new MapDocument();//注意名词有无“I"
iMapDoc.Open(filename);
axMapControl1.Map = iMapDoc.ActiveView.FocusMap;//赋值

方法一:

OpenFileDialog dlg = new OpenFileDialog();
            dlg.Filter = "Map Document|*.mxd";//前面是一个提示,后面是过滤
            dlg.Multiselect = false;
            dlg.Title = "Open Map Document";
            //调用对话框
            if (dlg.ShowDialog() == DialogResult.OK)
            //下面按钮有OK Conser(取消)
            {
                //判定是否选择文件
                string filename = dlg.FileName;
                if (filename == "")//判断是否选择文件为空
                {
                    return;
                }
                //判定这个MXD文档是否为点文档
                //axMapControl实际上可以是MapControl,在controls类库,
                //作业:查看controls和MapControl类库
                //LoadMxFile方法,检查是否为有效的地图文档
                if (axMapControl1.CheckMxFile(filename))//如果地图文档有效,则加入
                {
                    //方法一:axMapControl1.LoadMxFile(filename);
                    //方法二:
                    IMapDocument iMapDoc = new MapDocument();//注意名词有无“I"
                    iMapDoc.Open(filename);
                    //作业:查IMapDOcument类
                    //打开在了地图文档对象里面,
                    axMapControl1.Map = iMapDoc.ActiveView.FocusMap;//赋值
                    //地图文档里面显示地图文档对象里面的地图,此刻再运行
                    //要用一个地图文档对象,查看这个IMapDocument所有的能力,所有常用的接口,每一个接口都有什么样的方法
                    //AE开发用的都是接口,暴露的是接口,我们首先访问的是接口,后面我们都去用相关的属性和方法,MapDocument的Open方法
                    //不是控件打开接口,而是对象的接口的Open方法,Open到哪里呢?实际上,装载到内存中,Open到这个对象中了,我们的控件还没有展示这个内容
                    //加载到地图控件中,是利用Map属性进行赋值,内存中指向的处于激活状态的地图,在控件中打开

                    //第三个方法,是利用Icommand,用相关的control,谁去接受这个地图文档,接受是用iCom,
                    //OnClick事件包含打开实现的代码
                    //单独加载一个shapefile文件
                    //方法一:再加一个command,但是不美观
                    //方法二:加菜单,菜单最多加两层,不要再深了,再把button1的代码加过去
                }
                else
                {
                    MessageBox.Show("无效的地图文档!");
                }
                axMapControl1.Refresh();//地图的刷新
                //加注释,
                //考试内容:给代码加注释

方法二:

https://blog.csdn.net/qq_37811638/article/details/82182029

substring()的作用就是截取父字符串的某一部分

public String substring(int beginIndex, int endIndex)

第一个参数int为开始的索引,对应String数字中的开始位置,

第二个参数是截止的索引位置,对应String中的结束位置

1、取得的字符串长度为:endIndex - beginIndex;

2、从beginIndex开始取,到endIndex结束,从0开始数,其中不包括endIndex位置的字符


1)、substring(a,b)中的参数a其值可以从索引值0开始,

当a等于0时,则表示其从字符串的第一个字符开始算起,

也就是其子字符串是包含第一个字符的,当然,你也可以从后续的其他字符开始;

2)、substring(a,b)中的参数b,其值最大可以为 父字符串的长度,

但并不包含索引值为b的那个字符。



http://www.kler.cn/a/10517.html

相关文章:

  • 【在Linux世界中追寻伟大的One Piece】多路转接epoll
  • 初始JavaEE篇 —— 文件操作与IO
  • 天地图入门|标注|移动飞行|缩放,商用地图替换
  • 【后端速成Vue】模拟实现翻译功能
  • 计算机课程管理:Spring Boot与工程认证的协同创新
  • 数据集划分
  • Linux less 命令
  • SpringBoot ElasticSearch 【SpringBoot系列16】
  • 归排、计排深度理解
  • docker运行服务端性能监控系统Prometheus和数据分析系统Grafana
  • 智慧校园大数据云平台(4)
  • 2023.04.16 学习周报
  • Java学习
  • 【数据结构】解析队列各接口功能实现
  • JS实用技巧断点调试详解
  • 一、docker-技术架构
  • C++ Primer阅读笔记--标准库类型string和vector的使用
  • oracle中sql 正则怎么写?
  • ArrayList的深入理解
  • 不会注册ChatGPT?4个国内网站让你尽情体验
  • GameFramework 框架详解之 如何接入热更框架HybridCLR
  • 【音频处理】创建环绕声混响
  • pycharm笔记
  • 内部人员或给企业造成毁灭性损失
  • LAZADA将缩短履约时效,卖家发货倍感压力
  • 代码随想录_226翻转二叉树、101对称二叉树