arcgisengine开发

上传人:san****019 文档编号:70756892 上传时间:2019-01-18 格式:PPT 页数:145 大小:2.28MB
返回 下载 相关 举报
arcgisengine开发_第1页
第1页 / 共145页
arcgisengine开发_第2页
第2页 / 共145页
arcgisengine开发_第3页
第3页 / 共145页
arcgisengine开发_第4页
第4页 / 共145页
arcgisengine开发_第5页
第5页 / 共145页
点击查看更多>>
资源描述

《arcgisengine开发》由会员分享,可在线阅读,更多相关《arcgisengine开发(145页珍藏版)》请在金锄头文库上搜索。

1、,ArcGIS Engine 开发,城市与旅游学院 张会霞,组件化程序设计,组件:是指已经编译、链接好并可以使用的二进制代码模块,每一个模块可以运行在同一台机器上,也可以运行在局域网、广域网及Internet上的不同机器上。 组件技术中的关键技术之一是接口通信问题。在同一软件中的组件必须使用同样的接口标准才能保证组件之间可以进行通信。,COM概述,COM 的特性 封装性 多态性 重用性 语言无关性 进程透明性,COM 的结构 COM 对象 COM 接口 类和接口,组件对象模型,COM(Component Object Model) ,即组件对象模 型,是关于如何建立组件以及如何通过组件建立应用

2、程序的一个规范,说明了如何可动态交替更新组件。 COM是开发软件组件的一种方法。 对象拥有一个或多个接口 接口是定义了一组方法和属性的逻辑关系 与对象的通信是通过接口来进行的,.NET平台概述,.NET开发平台包括.NET Framework 和Visual S。 Visual S是一套完整的开发工具,用于生成ASP Web应用程序、Web Services 、桌面应用程序和移动应用程序。 .NET Framework是生成、部署和运行Web服务及应用程序的平台。其具有两个主要组件:通用语言运行时(Common Language Runtime )和.NET Framework类库。,ArcO

3、bjects简介,ArcObjects是ArcGIS Desktop的开发平台。 ArcGIS Desktop是一系列GIS软件系统:ArcInfo,ArcEditor和ArcView。这些系统服务于GIS。 ArcGIS Desktop系统包含一系列的应用,如ArcCatalog、ArcMap、ArcToolBox和ArcScene,并能够集成大量不同的扩展产品。如,ArcGIS Spatial Analyst(空间分析模块),ArcGIS Geostatistical Analyst(地理统计分析模块), ArcGIS 3D Analyst(三维分析模块)等。 ArcObjects是使用微

4、软的组建对象模型书写,凡支持COM标准的开发语言都能使用ArcObjects。,ArcGIS Engine简介,ArcGIS Engine 是开发者用来构建应用程序的一整套嵌 入式GIS 组件。使用ArcGIS Engine,您可以将一些GIS 功能嵌入到已有的应用程序中,这包括Microsoft Office 产品,例如Word和Excel,建造有针对性的客户应用程序用来将高级GIS 系统与他人分享。 ArcGIS Engine由一个软件开发包(software development kit,SDK)和一个给所有GIS 应用提供平台的运行许可(runtime)构成。,ArcGIS Engi

5、ne简介-体系结构,Arc Engine功能层次上由以下五个部分组成: 基本服务:由GIS核心Arc Objects构成,如要素几何体 ( geometry )和显示(display)。 数据存取:Arc Engine可以对许多栅格和矢量格式进行存取,包括强大而灵活的地理数据库(geodatabase)。 地图表达:ArcObjects使用符号、注记和专题地图来生成和表达地图。 开发组件:用于快速定制应用开发程序的高度封装用户接口以及开发过程中全面的帮助系统。 运行时选项:Arc Engine运行时可以与标准功能或其他高级功能一起部署。,ArcGIS 控件介绍,ArcGIS的控件是高度集成化的

6、,首先能够让开发者构建和扩展ArcGIS的功能,其次能够提供图形用户界面(GUI)。 ArcGIS的控件被称为Active X控件,.NET控件。 MapControl 类似于“数据”。 PageLayoutControl ToolbarControl TOCControl(Tablet of Contents Control) SceneControl GlobleControl ReaderControl,使用ArcGIS控件,可以用两种方式来构建应用程序。 ArcGIS 控件可以被嵌入到应用程序中,将地图相关的功能作为辅助功能添加进去。 ArcGIS 控件可以用来创建一个独立的应用程序。

7、 不管是那种方式,独立的ArcGIS 控件能够被嵌入到已有程序中,或者TOCControl和ToolbarControl能够和其他ArcGIS控件联合使用,提供应用程序的部分框架。,ArcGIS Engine 中的控件,制图控件 3D控件介绍 框架控件介绍 控件使用实例,制图控件介绍,MapControl控件 MapControl对应于ArcMap Desktop 应用中的“数据” 。 MapControl控件中封装了Map对象,用于管理控件的外观、显示属性和地图属性、管理、添加数据图层,装载地图文档,显示、绘制跟踪图层。 它实现的主要接口有IMapControlDefault、IMapCon

8、trol2、 IMapControl3、 IMapControlEvents。,PageLayoutControl控件 PageLayoutControl控件主要用于页面布局与制图。对应于ArcMap Desktop 应用中的“页面布局”视图,该控件封装了PageLayout类。 PageLayoutControl控件不能添加地图图层或地理数据,必须通过MXD文件来加载需要处理的数据。 PageLayoutControl控件主要实现 IPageLayoutControlDefault、 IPageLayoutControl、 IPageLayoutControl2、 IPageLayoutCo

9、ntrolevents等接口。,3D控件介绍,场景控件(SceneControl) SceneControl是一个高性能的嵌入式的开发组件,提供给开发者建立和扩展Scene程序。控件SceneControl相当于ArcScene Desktop 应用程序中的3D视图,并提供了显示和增加空间数据到3D的方法等。 SceneControl是通过对象接口ISceneViewer来表现。这个接口提供一个Camera对象,该对象由视角(Observer)和目标(Target)构成。,Globe控件 GlobeControl是一个高性能的嵌入式的开发组件,提供给开发者建立和扩展ArcGlobe程序,以便进

10、行绘图等操作。 GlobeControl显示3D视图,并能提供全球表现的位置,而且是基于3D数据。GlobleControl控件对应于ArcGlobe桌面应用程序的三维视图。 GlobeControl通过对象接口来操作IGlobe视图,用户可以通过IGlobeViewer对象来操作ArcGlobe应用程序。,框架控件介绍,图层树控件(TOCControl) TOCControl用来管理图层的可见性和标签的编辑。 TOCControl需要一个“伙伴控件”一起工作, “伙伴控件”可以是一个MapControl、 PageLayoutControl、 ReaderControl、SceneContr

11、ol或者是GlobeControl。 “伙伴控件”能够在设计的时候通过ToolbarControl的属性页设置。或者在程序运行中通过SetBuddyControl方法来设置。 “伙伴控件”都实现了ITOCBuddy接口。 TOCControl利用“伙伴控件”来显示交互性的树结构目录,包括“伙伴控件”的地图、图层、符号等内容。,工具栏控件(ToolbarControl) ToolbarControl需要与一个“伙伴控件”一起工作。“伙伴控件”可以是一个MapControl,PageLayoutControl,SceneControl或者是GlobeControl。 “伙伴控件”能够在设计的时候通

12、过ToolbarControl的属性页设置。 ToolbarControl实现了ARCGIS中的所有功能,如果想使这些功能进一步扩展,难度很大。,ToolbarControl的使用 在ToolbarControl属性页中,有一个Items的选项卡,通过选项卡中的Add 按钮可以添加相应的功能按钮。,基于.NET的ArcGIS Engine的开发,一个简单的应用程序 (1)创建一个新的工程 (2)添加控件及引用 (3)窗体上添加控件,编写代码(地图) (4)设置ToolbarControl 与MapControl控件关联 (5)运行程序,(1)创建一个新的工程 启动Visual Studio.N

13、ET,从“新建项目”对话框中创建一个新的Visual C#“Windows应用程序”项目,并设置项目名称为“Sample”,选择位置保存该项目。,(2)添加控件及引用 在工具箱中添加选项卡,改为ESRI,在ESRI标签上单击鼠标右键,从弹出的快捷菜单中选择“选择项”,在弹出的“选择工具箱”对话框中选择“.NET Framework组件”选项卡,选中“ArcMapControl”、“PageLayoutControl”、“ToolbarControl”、 “TOCControl”,在“项目”菜单中选择“添加引用”,在弹出的“添加引用”对话框中,双击“ESRI. ArcGIS.Carto”、“ E

14、SRI. ArcGIS. Display”、 “ESRI. ArcGIS.Geometry”、“ ESRI. ArcGIS.System”、 “ ESRI. ArcGIS.SystemUI”和“ ESRI. ArcGIS.Utility”等选项。单击确定按钮。,(3)窗体上添加控件,编写代码 打开.NET窗体,双击“工具箱”中“ESRI”标签栏中的AxMapControl控件,将MapControl加入到窗体上,再将AxToolbarBox也添加到窗体上。 在窗体上双击显示窗体代码窗口,加载图层到MapControl中,在Form_Load事件中添加地图文档加载代码:,private void

15、 Form1_Load(object sender, EventArgs e) string path = “d:arcgis engine 开发源程序第三章lesson1lesson1data“; string fiename = “multipoint.shp“; axMapControl1.AddShapeFile(path, fiename); axMapControl1.Extent = axMapControl1.FullExtent; ,(4)设置ToolbarControl 与MapControl控件关联 设置工具控件与地图控件关联,使用工具栏来操作地图,在 .NET 窗体上选

16、中ToolbarControl 控件,单击Properties,弹出“属性”对话框,在“Buddy”下拉列表中选择关联“axMapControl”。 选择“Items”选项卡,单击“Add”按钮,在弹出的“Controls Commands”对话框中添加“Pan”、“Zoom In”和“Zoom Out”。,桌面GIS 应用程序框架的建立,本讲主要是使用MapControl、PageLayoutControl、ToolbarControl、TOCControl四个控件建立起基本的桌面GIS应用程序框架。最终成果预览如下:,1、新建项目 启动VS2005,选择“文件|新建|项目”,在项目类型中选择Visual C#,再选择Windows应用程序模板,输入名称“3sdnMap”,点击确定。 在解决方案管理器中将“Form1.cs”重命名为“3sdnMap.cs”,在设计视图中,选中窗体,将其属性中的“Text”改为“3sdnMap”。,2、添加控件 选择工具箱中的“菜单和工具栏|MenuSt

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号