1、加载地图文档

在ArcGIS中,以mxd作为扩展名的文件叫地图文档。

地图文档中只是包含图层的引用,即存储当前地图的图层路径、符号、状态、修饰等信息,并不存储真实的数据层。

ArcGIS Map中,图层(Layer)是地图(Map)的基本组成单位。图层可以是要素图层,也可以是栅格图层。要素图层有点、线、面3种显示不同类型要素类的图层,也有专题图层,如显示拓扑检查结果的图层、网络分析结果图层等;栅格图层是航片、遥感影像、数字高程模型、普通图片等。

介绍两种打开mxd文件的方法

方法一:运用LoadMxFile方法的函数参数加载地图文档

地图文档的加载功能将用到MapControl控件提供的LoadMxFile方法。

  1. //三个参数(filePath——文件路径、0——地址名称或索引、Type.Missing——通过反射进行调用获取参数的默认值)
  2. axMapControl1.LoadMxFile(filePath, , Type.Missing);

该方法通过指定的*.mxd文档路径直接获取。

该方法第一个参数是文件的路径,第二个参数是mxd文档中地图的名称或者索引,第三个参数是打开地图文档的密码

方法二:运用MapDocument对象中的Open方法的函数加载mxd文档

  1. //filePath——地图文档的路径, ""——赋予默认密码
  2. mapDocument.Open(filePath, "");

通过MapDocument对象对地图文档的地图逐个加载,MapDocument提供了Open方法,用于打开一个地图文档文
件,该方法的第一个参数为地图文档文件的路径,第二个参数为密码

 

核心代码:

  1. #region 加载mxd地图文档
  2. private void 加载mxd地图文档toolStripLabel1_Click(object sender, EventArgs e)
  3. {
  4. //方法一:
  5. //loadMapDoc1();//调用MapControl控件的LoadMxFile方法
  6.  
  7. //方法二:
  8. loadMapDoc2();
  9. }
  10. /// <summary>
  11. /// 方法二:运用MapDocument对象中的Open方法的函数加载mxd文档
  12. /// </summary>
  13. private void loadMapDoc2()
  14. {
  15. IMapDocument mapDocument = new MapDocumentClass();
  16. try
  17. {
  18. OpenFileDialog ofd = new OpenFileDialog();
  19. ofd.Title = "打开地图文档";
  20. ofd.Filter = "map documents(*.mxd)|*.mxd";
  21. if(ofd.ShowDialog()==DialogResult.OK)
  22. {
  23. string pFileName = ofd.FileName;
  24. //filePath——地图文档的路径, ""——赋予默认密码
  25. mapDocument.Open(pFileName, "");
  26. for (int i = ; i < mapDocument.MapCount; i++)
  27. {
  28. //通过get_Map(i)方法逐个加载
  29. axMapControl1.Map = mapDocument.get_Map(i);
  30. }
  31. axMapControl1.Refresh();
  32. }
  33. else
  34. {
  35. mapDocument = null;
  36. }
  37. }
  38. catch(Exception e)
  39. {
  40. MessageBox.Show(e.ToString());
  41. }
  42.  
  43. }
  44.  
  45. /// <summary>
  46. /// 方法一:运用LoadMxFile方法的函数参数加载地图文档
  47. /// </summary>
  48. private void loadMapAccDoc1()
  49. {
  50. OpenFileDialog ofd = new OpenFileDialog();
  51. ofd.Title = "打开地图文档";
  52. ofd.Filter = "map documents(*.mxd)|*.mxd";
  53. ofd.InitialDirectory = m_Path;
  54. //判断, 如果对话框结构不为OK, 退出函数体
  55. DialogResult DR = ofd.ShowDialog();
  56. if (DR != DialogResult.OK)
  57. return;
  58. string filePath = ofd.FileName;
  59. if (axMapControl1.CheckMxFile(filePath))
  60. {
  61. //设置axMapControl控制鼠标指针图标选项为沙漏光标
  62. axMapControl1.MousePointer = ESRI.ArcGIS.Controls.esriControlsMousePointer.esriPointerArrowHourglass;
  63. //三个参数(filePath——文件路径、0——地址名称或索引、Type.Missing——通过反射进行调用获取参数的默认值)
  64. axMapControl1.LoadMxFile(filePath, , Type.Missing);
  65. //定义axMapControl控制鼠标指针图标为默认箭头
  66. axMapControl1.MousePointer = ESRI.ArcGIS.Controls.esriControlsMousePointer.esriPointerDefault;
  67. axMapControl1.Extent = axMapControl1.FullExtent;
  68. }
  69. else
  70. {
  71. MessageBox.Show(filePath + "不是有效的地图文档");
  72. }
  73. }
  74. #endregion

谢谢观看!本人初学GIS二次开发,如果有不对的地方,请多多包涵!

介绍ArcGIS中各种数据的打开方法——mxd(地图文档)的更多相关文章

  1. 介绍ArcGIS中各种数据的打开方法——mdb(个人数据库)

    3.打开存储在Access GeoDatabase的要素类 使用工作空间打开一个Access库中的一个要素类. private void OpenWorkspaceFromFileAccess(str ...

  2. 介绍ArcGIS中各种数据的打开方法——tin(栅格文件)

    4.加载栅格文件 栅格数据是GIS中重要的数据源之一,如卫星图像.扫描的地图.照片等. 栅格数据常见的格式有Bmp.Tiff.Jpg.Grid等. 添加栅格数据主要使用Rasterlayer 组件类, ...

  3. 介绍ArcGIS中各种数据的打开方法——shp(矢量文件)

    2.加载shp文件到地图控件 ShapeFile是一种矢量数据模型的计算机数据组织文件,用于在计算机上表达矢量数据的计算机文件. 加载ShapeFile文件最主要是:axMapControll控件对象 ...

  4. PatentTips - 在物联网中进行数据过滤的方法和装置

    背景技术 [0001] 本发明涉及物联网,特别涉及在物联网进行数据过滤的方法和装置. [0002] 物联网是新一代信息技术的重要组成部分,特指物物相连的网络.具体地,物联网是指通过各种信息传感设备,如 ...

  5. excel中的数据导入oracle方法

    SQL_loader批量上传数据 1.    注释 在工作中,很多时候会遇到如下情况:需要将excel中的数据批量上传到ORACLE表中.如果是小数据量,如几十条至几百条,那么用plsql dev工具 ...

  6. ArcGIS中的数据连接问题——数据类型不统一

    博主在研究空间数据分布的时候经常会用到 ArcGIS 进行空间数据可视化.但是有时候会由于数据类型不统一而无法将 csv 中的数据连接到底图上.比如在底图中的数据是字符串格式,而 csv 中是数字格式 ...

  7. 归纳从文件中读取数据的六种方法-JAVA IO基础总结第2篇

    在上一篇文章中,我为大家介绍了<5种创建文件并写入文件数据的方法>,本节我们为大家来介绍6种从文件中读取数据的方法. 另外为了方便大家理解,我为这一篇文章录制了对应的视频:总结java从文 ...

  8. 判断js中各种数据的类型方法之typeof与0bject.prototype.toString讲解

    提醒大家,Object.prototype.toString().call(param)返回的[object class]中class首字母是大写,像JSON这种甚至都是大写,所以,大家判断的时候可以 ...

  9. 将mat文件中的数据按要求保存到txt文档中(批处理)

    之前有个老朋友,让帮忙将一个mat中的数据重新保存到txt中,由于数据比较多需要用到批处理,之前弄过很多次,但每次一到要用的时候总是忘记怎么写了,现在记录一下,免得后面老是需要上网搜.这里先说一个比较 ...

随机推荐

  1. HTML制作WORD表格

    效果图 table属性 align:让内容居中,取值为left.right.center border:设置表格的边框 cellspacing:单元格与单元格之间的距离 bgcolor:表格的背景色 ...

  2. group by语法

    group by 用法解析 group by语法可以根据给定数据列的每个成员对查询结果进行分组统计,最终得到一个分组汇总表. SELECT子句中的列名必须为分组列或列函数.列函数对于GROUP BY子 ...

  3. MySQL5.7初始化后5种密码重置方法

    前言:由于好几次安装MySQL5.7后一直被重置密码所困扰,因此特意整理重置的方法 安装MySQL5.7 [root@node1 db]# ll 以下的rpm安装包可以随处下载 total 40235 ...

  4. JSP实例:彩色验证码

    本例使用一个JavaBean,名为Image.java,包com.zempty.bean下; 三个JSP文件,分别为image.jsp.login.jsp.check.jsp.其中login.jsp是 ...

  5. Java第二次作业第四题

    文本行输入学生姓名,下来框选择课程名称,文本行输入课程成绩:点击"录入"按钮,相关信息显示在文本区:点击"统计"按钮,将所有录入的成绩的平均成绩显示在另一个文本 ...

  6. 使用dbutils

    环境准备: 包结构: mysql导出sql脚本: //product CREATE TABLE `product` ( `id` int(10) NOT NULL AUTO_INCREMENT, `n ...

  7. Python 2.X和3.X主要区别和下载安装

    一.python 2.X和3.X的区别 https://wenda.so.com/q/1459639143721779?src=140 二.Python的下载安装 1.Python下载 在python ...

  8. thymeleaf自定义标签方言处理

    项目背景:springboot+thymeleaf thymeleaf两种方式处理自定义标签:AbstractAttributeTagProcessor 和 AbstractElementTagPro ...

  9. 深入全面理解面向对象的 JavaScript

    深入全面理解面向对象的 JavaScript (原著: 曾 滢, 软件工程师, IBM,2013 年 4 月 17 日) JavaScript 函数式脚本语言特性以及其看似随意的编写风格,导致长期以来 ...

  10. Eureka Server不剔除已关停的节点的问题

    由于Eureka拥有自我保护机制,当其注册表里服务因为网络或其他原因出现故障而关停时,Eureka不会剔除服务注册,而是等待其修复.这是AP的一种实现. 自我保护机制:Eureka Server在运行 ...