牟乃夏 ArcEngine教程 第2章桌面GIS应用软件的开发方式.ppt

上传人:罗晋 文档编号:8922233 上传时间:2021-01-25 格式:PPT 页数:28 大小:1.64MB
返回 下载 相关 举报
牟乃夏 ArcEngine教程 第2章桌面GIS应用软件的开发方式.ppt_第1页
第1页 / 共28页
牟乃夏 ArcEngine教程 第2章桌面GIS应用软件的开发方式.ppt_第2页
第2页 / 共28页
牟乃夏 ArcEngine教程 第2章桌面GIS应用软件的开发方式.ppt_第3页
第3页 / 共28页
牟乃夏 ArcEngine教程 第2章桌面GIS应用软件的开发方式.ppt_第4页
第4页 / 共28页
牟乃夏 ArcEngine教程 第2章桌面GIS应用软件的开发方式.ppt_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《牟乃夏 ArcEngine教程 第2章桌面GIS应用软件的开发方式.ppt》由会员分享,可在线阅读,更多相关《牟乃夏 ArcEngine教程 第2章桌面GIS应用软件的开发方式.ppt(28页珍藏版)》请在三一文库上搜索。

1、ArcGIS Engine 地理信息系统开发教程配套PPT-第2章 桌面GIS应用软件的开发方式,目录,1. 使用VBA进行桌面软件开发 2. 使用DLL进行桌面软件开发 3. 使用Add-In进行桌面软件开发 4. 使用ArcGIS Engine构建独立应用程序 5. 不同开发方式的比较,1. 使用VBA进行桌面软件开发,通过VBA开发环境进行ArcGIS桌面软件的扩展和定制是最简单的GIS软件开发方式。只需专注于ArcGIS软件不能提供的功能,对于ArcGIS软件已经提供的工具,直接“拿过来”使用即可。并且VBA环境本身已经提供了对整个应用程序和文档进行控制的变量,例如在ArcMap中开发

2、人员可以直接通过Application、ThisDocument两个全局变量获取程序本身和程序所使用的文档对象,使开发更为快捷和简单。 在ArcGIS 10.0版本中,进行VBA的开发需要单独安装VBA开发程序模块,安装ArcGIS Desktop时不再附带VBA安装选项。根据操作方式的不同,在ArcGIS Desktop中进行VBA编程的方法有两种:一种是编写VBA宏命令,另一种是创建UIControl工具并在其事件中写入实现代码。,1. 使用VBA进行桌面软件开发,宏命令方式 开发人员将那些能够自动执行某种操作的命令统称为宏(Macros)。宏是一种操作命令,它和菜单操作命令的使用方式一致

3、,因此可以认为宏和普通的命令是一样的。 创建宏 在ArcMap中,点击主菜单中的【Customize】菜单,选择【VBA Macros】然后选择【Macros】或者直接按【Alt+F8】键弹出宏命令对话框。,创建宏,1. 使用VBA进行桌面软件开发,在VBA程序界面中,完成CreateLayerBySelection()过程(Sub),实现根据选择集创建临时图层的操作。,1. 使用VBA进行桌面软件开发,添加宏命令 关闭VBA环境回到ArcMap环境中,点击主菜单中的【Customize】菜单,然后选择【Customize Mode】,在Commands选项卡中单击“Macros”可以看到刚才

4、创建的宏命令出现在对话框中,选中该宏命令拖动至ArcMap工具条中,完成宏命令的添加。 使用宏命令 单击工具条上的宏命令按钮,ArcMap根据当前选择集的情况自动创建临时图层,并将创建的临时图层添加到当前地图中。,1. 使用VBA进行桌面软件开发,UIControl方式 UIControl工具可以提供交互式的操作,如使用鼠标拖拽的方式来实现拉框放大、缩小等,宏命令是无法做到的。 UIControl是一种交互式开发方式。 创建UIControl 在ArcMap界面中,点击主菜单中的【Customize】,然后选择【Customize Mode】,弹出【Customize】对话框,在Command

5、s选项卡中找到“ UI Control ”,然后点击【New UIControl】,弹出【New UIControl】对话框。,UIControl类型与用途,1. 使用VBA进行桌面软件开发,以“定位到所选范围”功能为例,介绍UIControl的用法。,MouseDown事件,代码,2. 使用DLL进行桌面软件开发,动态链接库(Dynamic Link Library,DLL)是Windows平台下的一种类文件编译格式,这种格式的文件可以被任何支持COM规则的语言所支持和引用,ArcObjects组件本身的物理文件就是DLL文件。DLL开发方式的特点是开发环境脱离了ArcGIS Desktop

6、软件,可以使用如Java、C#等语言进行开发。 实际上,开发大型软件一般采用DLL的方式将一类相似的操作进行封装,这样不仅提高了程序的复用性,减少了代码开发的工作量,而且便于软件的更新和分发。,2. 使用DLL进行桌面软件开发,1)启动Visual Studio 2010,创建一个新项目。在【新建项目】对话框中,在“Visual C#”选择项下,选择“ArcGIS”“Extending ArcObjects”,在右侧窗口中选择“Class Library(ArcMap)”,并输入名称“SampleDll”、指定存储位置“C:”,点击【确定】按钮,新建一个项目。,2. 使用DLL进行桌面软件开发

7、,2)添加ArcGIS引用项。,3)添加新建项,2. 使用DLL进行桌面软件开发,4)本实例为新建一个工具,因此在弹出的【添加新项】对话框中,选择“Extending ArcObjects”“Base Tool”,并输入工具名称“ZoomIn”,点击【添加】按钮。 5)由于实例是对ArcMap桌面程序的扩展,所以在弹出的对话框中选择“ArcMap,MapControl or PageLayoutControl Tool”选择项。,2. 使用DLL进行桌面软件开发,6)在添加的工具类中,分别在base.m_category、base.m_caption、base.m_toolTip、base.m

8、_name等属性中输入工具的类别名称(可使用本地化字符)、名称(可使用本地化字符)、鼠标放置在工具上时的提示信息(可使用本地化字符)、名称(程序中的唯一ID,使用非本地化字符)等信息,然后在OnMouseDown事件处理函数中添加如下代码,实现将当前视图窗口定位到鼠标所绘范围的功能。,2. 使用DLL进行桌面软件开发,运行程序后并没有显示ZoomIn工具,这时需要对DLL功能应用部署。,3. 使用Add-In进行桌面软件开发,Add-In是ArcGIS 10.0提供的一种能够快速扩展桌面应用程序的全新的扩展方式。其特点包括: 1). 容易创建 2). 更易共享 3). 更加安全 4). 更易安

9、装和管理,3. 使用Add-In进行桌面软件开发,下面以“获取多边形选择集”为例,介绍如何采用Add-In开发方式进行桌面程序的扩展。 1)启动Visual Studio 2010,选择【文件】【新建项目】,在弹出对话框左侧“Visual C#”选择项下,选择“ArcGIS”“Desktop Add-Ins”,在右侧窗口中,选择“ArcMap Add-in”方式,输入新建项目的名称“SampleArcMapAddin”,选择项目的存储位置“C:”,点击【确定】按钮,创建Add-In示例项目。,3. 使用Add-In进行桌面软件开发,2)设置Add-In描述信息,3)Add-In类型选择,3.

10、使用Add-In进行桌面软件开发,4)在生成的Add-In工程中,包含两部分内容,即Config.esriaddinx和SelectTool.cs。其中Config.esriaddinx文件包含Add-In的配置信息,SelectTool.cs文件是实现获取选择集功能的类文件。,3. 使用Add-In进行桌面软件开发,5)本例是通过多边形选择工具来获取选择集,因此使用鼠标的OnMouseDown事件,在SelectTool.cs类文件中重写该事件。代码如下。,3. 使用Add-In进行桌面软件开发,7)点击该工具,在地图窗口中绘制多边形,多边形范围内的要素将被选中。,6)调试程序,添加Add-

11、In工具,3. 使用Add-In进行桌面软件开发,Add-In的安装部署 采用Add-In方式开发完成之后,需要将程序部署到用户机器中,方能正常使用该功能。ArcGIS 10.0不仅提供了Add-In的部署工具,也提供了Add-In的管理工具。 Add-In程序的部署可以采用两种方式进行。 一种是直接双击要部署的SampleArcMapAddin.esriAddIn文件。 另一种部署方式是在打开ArcMap之后,在界面主菜单中操作。,4. 使用ArcGIS Engine构建独立应用程序,对于大型、专业的GIS应用系统来讲,由于功能的复杂性和软件版权保护等原因,往往需要所包含的GIS功能能够脱离

12、ArcGIS平台软件独立运行,这就需要使用ArcGIS Engine进行开发。 本节通过一个简单的实例,来讲解如何应用ArcGIS Engine所提供的控件来构建一个GIS系统的基本流程与步骤。,4. 使用ArcGIS Engine构建独立应用程序,1)启动Visual Studio 2010,创建Sample工程,2)选择需要添加的ArcGIS引用项,在【License Checking】选项页中选择需要的软件许可授权和扩展模块许可授权。,3. 使用ArcGIS Engine构建独立应用程序,3)在【工具箱】面板中找到【ArcGIS Windows Forms】选项卡,此选项卡中包含有Arc

13、GIS Engine中所有的可视化控件,选择需要的控件添加到【Sample】窗体中。,4. 使用ArcGIS Engine构建独立应用程序,4),ToolbarControl控件通用属性选项,ToolbarControl控件添加工具属性页,ToolbarControl可添加的工具按钮,4. 使用ArcGIS Engine构建独立应用程序,5)选中TOCControl控件,单击鼠标右键,选择【属性】,弹出对话框,在【General】选项卡的“Buddy”下拉列表中选择与其绑定的MapControl地图控件,这样当程序运行时TOCControl控件才可以与地图控件进行联动。,要对TOCContro

14、l控件和ToolbarControl控件进行地图控件的绑定,除了使用上述方法通过属性选项进行设置外,还可以通过程序代码实现,4. 使用ArcGIS Engine构建独立应用程序,6)选中MapControl控件,单击鼠标右键,选择【属性】,弹出对话框,在对话框中选择程序运行时加载的*.mxd地图文档,点击【确定】按钮完成对*.mxd文档的关联。 7)按【F5】键启动程序调试,地图文档被自动加载到程序中,工具条中的工具可以实现放大、缩小、平移、查询等操作。,5. 不同开发方式的比较,VBA方式采用Visual Basic语言规范,作为Visual Basic的子集,简单易学,开发者只需关注自己需

15、要而ArcGIS没有直接提供的功能。 DLL方式扩展了鼠标交互等界面操作功能,可以构建规模稍大的应用系统。这种开发方式在分发软件的时候只需要提供DLL文件,经过注册即可在ArcGIS Desktop中使用,比VBA的部署方式灵活很多。 Add-In方式是Esri最近大力推广的一种轻量级开发方式,它提供了更多的扩展类型,更容易创建和分发,ArcGIS又提供了许多可以利用的模板,使得这一开发方式越来越受青睐,这也是替代VBA方式和DLL方式的一项更好的选择。,左侧三种开发方式的共同点是开发的程序必须在ArcGIS桌面软件上运行。 目前最常用的开发方式还是基于ArcGIS Engine的开发方式。它的优点是可以构建独立运行和部署的GIS/非GIS应用程序,既可以充分利用GIS开发控件和组件所提供的空间数据管理和分析等专业GIS功能,又可以充分利用可视化开发语言在非GIS应用开发中的高效、方便等优点。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1