对于ArcEngine开发者来说,万事第一步,就是要先加载地图数据,不过我们下面要讲的加载地图的方法不是用ArcEngine自带的控件或命令来实现的,而是以代码方式实现的。加载地图的方式主要分为两种:加载地图文档(.mxd/.pmf)和加载图层,下面主要以加载图层为重点来讲述。

1.加载地图文档

1.1实现原理

通过IMapReader打开一个地图文档,然后获取IMap,最后将IMap加载到MapControl控件中。

1.2涉及接口

IMapReader,IMap

1.3具体实现

1 OpenFileDialog dlg = newOpenFileDialog();2 dlg.Filter = "地图文档(*.mxd)|*.mxd|地图发布文档(*.pmf)|*.pmf";3 var ret =dlg.ShowDialog();4

5 if (ret ==System.Windows.Forms.DialogResult.OK)6 {7 IMapReader pMapReader = newMapReaderClass();8 pMapReader.Open(dlg.FileName);9 IMap pMap = pMapReader.get_Map(0);10 this.axMapControl1.Map =pMap;11 }

PS:除了上述方法外还可以直接使用地图控件提供的方法

1 this.axMapControl1.LoadMxFile(dlg.FileName);

2.加载图层

2.1实现原理

通过图形数据的工作空间工厂(WorkspaceFactory)建立一个工作空间(Workspace),在这个工作空间中打开图形数据,图像数据将以要素类(FeatureClass)的形式创建,然后将要素类包装成要素图层(FeatureLayer),最后加载到MapControl控件中。

2.2涉及接口

IWorkspaceFactory,IWorkspace,IFeatureClass,IFeatureLayer,ILayer,IDataset

2.3具体实现

1 //创建工作工厂,根据不同数据类型创建不同的工厂

2 IWorkspaceFactory factory = newShapefileWorkspaceFactory();3 //打开工作空间

4 IWorkspace workspace = factory.OpenFromFile(fileFolder, 0);5 //QI到要素工作空间

6 IFeatureWorkspace featureWorkspace = workspace asIFeatureWorkspace;7 //打开要素类

8 IFeatureClass featureClass =featureWorkspace.OpenFeatureClass(fileName);9 //封装图层

10 IFeatureLayer featureLayer = newFeatureLayerClass();11 featureLayer.FeatureClass =featureClass;12 featureLayer.Name = ((IDataset)featureClass).Name; //或featureClass.AliasName13 //将图层添加到地图

14 this.axMapControl1.AddLayer(featureLayer);

PS:如果图形数据是存在文件夹中的,则可采用直接添加ShapeFile的方式

1 this.axMapControl1.AddShapeFile(fileFolder, fileName);

arcengine 加载地图不显示_ArcEngine加载地图相关推荐

  1. 谷歌地图开发地图不能显示_Google,为什么地图不能让我在家工作?

    谷歌地图开发地图不能显示 The year is 2018, and telecommuting is at an all-time high. Working from home has never ...

  2. 小程序点击指定地址按钮直接打开地图导航 显示指定地址的地图

    1.小程序显示指定地址的地图 2.调用腾讯地图接口进行解析 转载这里:https://blog.csdn.net/haibo0668/article/details/80693265 https:// ...

  3. android高德地图设置显示区域范围,限制地图显示范围

    地图显示范围 html, body, #container { width: 100%; height: 100%; } .lnglat { color: #0288d1; } 地图限制区域信息 No ...

  4. android webview 加载图片一直显示正在加载中

    今天无意间发现自己的项目WebView加载时,没有调用到onPageFinished,部分图片一直显示加载中,找了老久不知道出现什么问题~~~ 无奈之下拿出老版本测试,发现加载很正常,只好把代码拿出来 ...

  5. 百度地图设置显示定位服务器,百度地图后台持续定位

    public class LocationServices extends Service{ //定位点信息 public LatLng latlng; private String strLocat ...

  6. 百度地图只显示指定的行政区域地图

    效果图如下: 鼠标移动效果如下: 完整代码下载: https://download.csdn.net/download/talver/11932964 小技巧: 去除百度地图左下角Logo,在html ...

  7. html 页面地图不显示图片,嵌入谷歌地图不显示在HTML页面

    有什么建议吗? 问候 #map_canvas { width: 500px; height: 400px; } function initialize() { var map_canvas = doc ...

  8. 微信小程序上拉加载 加载更多数据 触底加载 点击加载更多数据

    开发需求 进入页面,加载初始数据,当向上拖动页面至底部,自动加载新的数据,即上拉加载更多数据. 演示 index.wxml <!-- 数据列表 --> <view wx:for=&q ...

  9. 地图不显示_图灵搜不显示地图,软件打开一片空白,怎么解决?

    图灵搜软件及其注重客户的体验,在每两周都会进行一次更新优化调整. 在昨天4月29日,图灵搜又一次发布了版本更新,虽说是把之前一些小BUG被修复了,而且又把邮箱有效性检测功能给增加回来,目的大家都很清楚 ...

最新文章

  1. 怎样批量调整word 图片大小?
  2. 深入浅出MFC:DDX_Control本质探究
  3. 如何让 Azure AD 里的应用只允许特定用户登录
  4. Spring MVC + Hibernate + Maven:CRUD操作示例
  5. linux磁盘权限 /srv,Linux学习笔记之解压压缩,磁盘分区,软件包管理,权限
  6. 解决AutoCAD2010安装完毕后闪退问题
  7. 不写代码不用Excel,如何制作高大上的财务分析?
  8. java中字符串和数组如何比较_[Java教程]javascript中数组和字符串的方法比较
  9. 17. 信号量,共享内存和消息队列
  10. 数据结构之二叉树实现排序功能
  11. 【office卸载】如何彻底卸载office2016
  12. 数理统计SPSS软件实验报告一--描述性统计
  13. 插件!最好用的翻译插件!!
  14. 手机拍的视频后期怎么处理?视频大神的后期技巧,Vlog大片也能做
  15. 计算机开机后黑屏鼠标显示桌面图标,win10系统电脑启动开机黑屏不显示只有鼠标图标的处理办法...
  16. linux nvme文件系统,Intel NVMe驱动器扇区大小不是4096的xfs文件系统的性能下降
  17. HTML网页设计:电影网站设计——影视(8页) HTML+CSS+JavaScript
  18. 一元线性回归与多元线性回归理论及公式推导
  19. 2021贵港市地区高考成绩排名查询,贵港高中成绩排名2021,贵港中考分数线排行榜...
  20. Wireshark 4.0.0RC1 版本前瞻

热门文章

  1. myeclipse登陆问题
  2. 0基础python笔记str/list/tuple/dict
  3. AndroidQ 分屏窗口模式 (AMS部分)
  4. webAPP如何实现移动端拍照上传(Vue组件示例)?
  5. 杭州公司java开发工程师常见面试问题
  6. shapely中几何对象
  7. GIS算法:7_python拓扑套件shapely
  8. Alpha版本冲刺(七)
  9. Ubuntu 安装中文字体
  10. 免费公共DNS的IP地址