arcobjects的体系结构分析报告

上传人:F****n 文档编号:96391220 上传时间:2019-08-25 格式:PPT 页数:182 大小:1.99MB
返回 下载 相关 举报
arcobjects的体系结构分析报告_第1页
第1页 / 共182页
arcobjects的体系结构分析报告_第2页
第2页 / 共182页
arcobjects的体系结构分析报告_第3页
第3页 / 共182页
arcobjects的体系结构分析报告_第4页
第4页 / 共182页
arcobjects的体系结构分析报告_第5页
第5页 / 共182页
点击查看更多>>
资源描述

《arcobjects的体系结构分析报告》由会员分享,可在线阅读,更多相关《arcobjects的体系结构分析报告(182页珍藏版)》请在金锄头文库上搜索。

1、本资料来源,第3章 ArcObjects的体系结构分析,ArcObjects简称AO,是ESRI公司的ArcGIS家族中 应用程序ArcMap、ArcCatalog和ArcScene的开发平台,是 基于Microsoft COM技术所构建的一系列COM组件集,开 人员可以在AO组件对象的基础上开发出强大的、灵活的 应用系统,以适应用户的各种需求。,ArcGIS把GIS的基本功能都封装在AO的组件对象库中,这些库文件定义了一些接口,包括组件对象、方法、事件、枚举等,开发者可以通过接口实现对对象的操作机制。 例如,ArcMap和ArcCatalog是ArcGIS开发者利用高级语言调用AO的接口来实

2、现AO基本功能的应用程序。 AO为开发者提供的是一组可编程的对象,包括可视的用户化控件。,开发人员在开发时采用VB、VC、Delphi、.Net或类似的高级开发语言,引用组件对象进行编程,创建动态链接库、ActiveX控件(OCX)或可执行文件(EXE),从而开发出符合用户要求的界面及相关功能的软件系统。 AO是基于微软组件对象模型技术(COM)而建立起来的。通过使用COM开发语言编写一些COM组件,就可以对AO进行扩展。用户可以像ESRI开发人员做的那样,对AO结构的任何一个部分进行扩展。 AO是一套独立于平台的软件组件,是利用C+编写的,它为GIS应用开发提供服务。,AO可以利用Mircr

3、osoft的组件对象模型。Com通常被认为是一些简单的定义,用于确定对象如何被实现,如何嵌入内存,这些对象与其它对象如何通讯。 ArcGIS系统是在ArcObjects软件组件基础上建立和扩展的。 ArcObjects包括一系列的可编程组件,从细粒度的对象 (比如geometry对象)到粗粒度的对象(如与ArcMap文档进行交互的map对象),ArcObjects为开发者提供了大量的全面的GIS功能。 作为一个开发者,可以编程拓展ArcGIS Desktop应用程序,或者使用ArcGIS Engine创建自定义的应用程序,以及使用ArcGIS Server开发企业级的GIS应用程序。,所有的A

4、rcGIS之间都具有通用性,当用户开发了某种功能后(比如桌面拓展),只需要经过一些小的修改,这些代码就可以在其他ArcGIS产品中重复使用了,可以充分利用代码重用来建立一个模块化的架构。,图2.1 AO(ArcObjects)体系结构图,ArcGIS系统是利用ArcObjects软件组件进行建立和扩展的。 在ArcObjects基础上,开发者可以配置或定制ArcGIS Desktop应用,如ArcMap、ArcCatalog、ArcToolbox;可以扩展ArcGIS的结构和数据模型; 利用ArcGIS Engine嵌入地图和GIS的其他功能;利用ArcGIS Server建立Web服务和应用

5、。 ArcGIS 9提供了一套完整的开发系统,允许用户完成以下工作:(1)在应用程序中嵌入GIS图形和GIS功能;(2)构建和配置传统的Desktop应用;(3)定制ArcGIS的应用,如ArcMap,ArcCatalog等。(4)扩展ArcGIS的结构和数据模型;(5)建立Web服务和应用。,ArcGIS 9为ArcGIS Engine,ArcGIS Desktop,ArcGIS Sever提供了一种共同的基于ArcObjects的开发过程,提供了一种模块化的、可伸缩的、跨平台的结构。,所谓AO,一般都是指ArcGIS Desktop版本的组件开发集,即需要安装ArcGIS桌面版软件后才能安

6、装这些组件开发集,它是所有版本中组件最全的版本,如果需要对ArcGIS产品及其开发有个详尽的了解,学习AO是最恰当的。 AO版本包括了所有的类库,其中包括ArcMap、ArcMapUI、ArcCatalog、ArcCatalogUI等组件库,这些组件库必须在安装了桌面版软件后才能使用。 由于使用AO开发的程序必须安装桌面版软件,这使得它的开发成本大大增加。,从产品策略上考虑,ESRI将AO中的某些组件集单独封装出来,起名为AE,使用AE开发的软件需要在一个RUNTIME下运行,而不需要安装ArcGIS软件。 AE是AO的一个子集。 AO版本的控件只有MapControl和PageLayoutC

7、ontrol两个,而AE的控件就丰富得多。,ArcGIS Desktop系统包含了一套应用,如ArcCatalog,ArcMap,ArcToolbox,并且具有许多扩展模块,如ArcGIS空间分析模块(ArcGIS Spatial Analyst)、ArcGIS地统计分析模块(ArcGIS Geostatistical Analyst)以及ArcGIS三维分析模块(ArcGIS 3D Analyst)等。,基于ArcObjects可以对ArcGIS Desktop进行定制。 最简单的方式就是通过VBA(Visual Basic Application)的方式对ArcGIS Desktop,如A

8、rcCatalog,ArcMap,ArcScene,ArcGlobe等进行定制。 可以利用定制的命令(commands)、工具(tools)、菜单(menus)、模块(modules)等对ArcGIS的应用框架进行定制。使用这种方式相对来说非常简单,用户只需要输入很少的代码就可以实现大部分的功能。,用户也可以进行进一步的高级开发,通过利用基于COM的开发语言开发编译成DLL,创建一些新的控件或组件,从而将这些新的组件加入到ArcGIS的定制环境中。 ArcGIS Desktop也提供了很多控件。例如,用户可以使用支持ActiveX控件或者是.Net控件的高级开发语言利用MapControl控件

9、和PageLayout控件来进行二次开发。 使用这些控件可以开发出一些有更多用户定制的接口的功能。 如果需要利用这些控件进行开发,最好是利用ArcGIS Engine开发工具来进行开发,该开发工具提供了更多的控件和更多的ArcObjects功能。,ArcGIS Engine开发工具是一套基于组件的软件开发产品,可以用来构建和配置传统的GIS和制图应用。 ArcGIS Engine开发工具包不是一套终端用户产品,而是一个应用开发的软件包。 由ArcObjects组件构成的ArcGIS Engine软件开发包是平台无关的,并且可以用多种开发语言来进行开发,如.NET,Java,C+,VC,VB等。

10、 利用ArcGIS Engine可以建立只有简单的图形处理功能的GIS应用,也可以建立复杂的、动态的适用于不同操作系统(Windows,UNIX,Linux)的用户使用的GIS应用。,ArcGIS Server提供了一个构建企业级GIS应用和服务的平台,可以进行集中管理,支持多用户,包括一些高级的GIS功能,并且可以使用工业标准进行开发和发布。 ArcGIS Server提供了开发GIS Web应用和服务的框架。 ArcGIS Server包括两个主要的部分,即一个GIS Server服务和一个应用开发框架(Application Developer Framework,ADF)。,ArcGI

11、S以ArcObjects为基础,提供了三套应用,即ArcGIS Desktop,ArcGIS Engine,ArcGIS Server。 因此,相应地提供了对应这三套应用的开发方式,即: (1)定制ArcGIS Desktop应用; (2)独立的GIS应用程序开发; (3)服务器模式开发。,具体又包括以下三种方式。 (1)定制ArcGIS Desktop应用 如果用户希望修改ArcMap、ArcCatalog的界面以适合自己的需要,可以通过多种方式对界面进行定制。 例如:1)将工具条放在一个指定的位置;2)以最适合于自己的方式对命令按钮进行分组;3)添加一些新的宏(macros)或者是装载一些

12、定制的命令;4)定制模板,利用模块可以方便地处理同样的地理数据。 在这种方式下,用户可以不用写任何一行代码就可以完成大量的定制任务。,ArcMap和ArcCatalog都提供了VBA(Visual Basic for Application),VBA不是一个独立的程序,它嵌入在ArcMap和ArcCatalog应用中,它提供了一种集成编程环境,即VBE(Visual Basic Editor)。 在该环境下,用户可以编写VB宏程序,并且可以立即在ArcMap和ArcCatalog环境中进行调试。 一个宏(macro)可以集成一些甚至是所有的VB功能。在VBA环境下可以使用所有的ESRI对象库。

13、 在VBA环境下创建定制的命令非常简单。 例如,用户可以创建一个新的按钮、工具、组合框、编辑框等,然后为这些控件的事件添加代码,然后将这些具有新的功能的控件拖到工具条上即可。,用户也可以使用其他的开发环境来定制命令和工具,可以使用任何支持Microsoft组件对象模型(COM)的编程语言来开发定制组件。创建的定制命令或工具通常是以ActiveX DLL的形式存放的,可以很容易地将这些定制命令和工具添加到ArcMap和ArcCatalog中。 如果用户希望利用编程语言而不是VBA创建这些定制命令和工具时,必须将ArcObjects的功能打包成COM DLL,EXE,OCX或者是.NET,这就需要

14、创建一个VB或VB .Net工程,引用ArcObjects的类型库,需要编写代码,然后编译成二进制文件。 这些定制的组件包括两种类型:1)应用层次的组件,例如定制的按钮,工具条、窗口等;2)Geodatabse层次的组件,例如定制的特征类。,有许多GIS应用的用户不是GIS专业人员,不具备利用复杂的GIS工具解决具体问题的能力。 为了为GIS的非专业人员提供解决方法,开发者需要能够建立与领域相关的、容易使用的应用程序,将复杂的GIS系统与用户友好的开发结合在一起,如果所有的都从头开始,那么工作量将非常大。 解决此问题的方法就是提供一个基于组件的开发框架,允许用户快速建立GIS应用程序,而Arc

15、GIS Engine就提供了这样一个框架。,ArcGIS Engine包括一个软件开发包和一个可以重复发布的运行许可,ArcGIS Engine软件开发包不是一个终端用户,而是一个标准的开发工具。 ArcGIS Engine是由ArcObjects组件库构成的,是平台无关的,可以被多种编程接口调用,如.NET、Java、COM、C+等。 ArcGIS Engine开发工具包提供了多个开发控件,可以帮助用户开发出独立的图形处理和GIS应用。,ArcGIS Engine提供了以下控件: (1)MapControl; (2)PageLayout Control; (3) Reader Control

16、; (4)Globe Control; (5)Scene Control; (6)Table of Contents Control (TOC控件); (7) Toolbar Control等, 这些控件可以作为ActiveX控件,或者是.NET Windows控件和JavaBeans控件。,ArcGIS Engine,GIS设计与开发 3,ArcGIS提供了一种提供Web应用和Web服务的开发框架,这就是ArcGIS Server,它也是建立在ArcObjects组件库基础上的。 该框架提供了Web应用和Web服务的开发和配置。 ArcGIS Server既包含了具有丰富的GIS功能的GIS Server软件,也为网络稳定性和负载平衡提供了GIS的服务对象管理。,ArcGIS Server应用程序的开发框架包括.NET和J2EE,利用该框架可以快速建立和配置GIS应用和服务。ArcGIS Server提供了以下.Net控件和JavaBeans控件: (1)Map;(2)Page layout; (3)Overview Map;(4)Table of Cont

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

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