ArcEngine二次开发入门介绍.ppt
《ArcEngine二次开发入门介绍.ppt》由会员分享,可在线阅读,更多相关《ArcEngine二次开发入门介绍.ppt(43页珍藏版)》请在三一办公上搜索。
1、ArcEngine开发入门介绍,内容简介,ArcGIS产品体系ArcObject简介ArcEngine概况简单的ArcEngine开发实例开发资源,ArcGIS产品体系,ArcObject简介,AO是ESRI公司ArcGIS家族中应用程序的开发平台它是基于Microsoft COM技术所构建的一系列COM组件集。AO是随ArcGIS产品一同发布的,要使用AO必须购买ArcGIS Desktop,才能利用AO提供的组件对象来进行应用开发。在ArcGIS9 中发布了一个新的产品:ArcGIS Engine,ArcGIS Engine 基于AO,并且实现了更好的封装,是一个独立的产品。,AO的功能,
2、通过AO你可完成以下GIS功能:空间数据的显示、查询检索、编辑和分析;创建各种专题图和统计报表;高级的制图和输出功能;空间数据管理和维护;,AO编程基础-COM,COM是Component Object Model的缩写它不仅定义了组件程序之间进行交互的标准,而且也提供了组件程序运行所需要的环境。COM本身要实现一个称为COM库(COM library)的API,它提供诸如客户对组件的查询,以及组件的注册/反注册等一系列服务。一般来说,COM库由操作系统加以实现,我们不必关心其实现的细节,COM主要应用于Microsoft Windows操作系统平台上。COM通常的发布形式是:以win32动态
3、链接库(DLL)或可执行文件(EXE)的形式发布。,COM的目标和特性,建立在二进制代码级上的可重用性;语言无关性,只要其能生成符合COM规范即可;对使用COM对象的客户程序而言的进程透明性;,庞大的COM组件集合,ArcGIS 9.2 与 9.3 间的类型(接口、COM类、枚举、结构)变化列表,备注:不包括类型库中隐藏或受限制的类型.,理解对象模型图(OMD),OMD是基于OMT(Object Modeling Technique)的表示方法,先来看看OMD能帮我们做些什么?1 该类支持哪些接口;2 完成任务需要哪些对象;3 如何使用该类的对象;4 是否可以直接实例化类;5 接口有哪些方法和
4、属性;6 是否有其它类也支持该接口;7 对象间的关系。,在哪里可以找到ArcGIS OMD图表,Start Programs ArcGIS Developer Help简单的、详细的类图PDF files软件安装的目录中 一般在 安装目录DeveloperKitDiagrams下电子书籍光盘中,解析对象模型图,OMD中的类有:抽象类(Abstract Class):不能用于创建对象,但可以用来指定子类。(通过类型继承)。组件类(CoClass):可以直接创建对象。普通类(Class):不能直接创建对象,但可以作为另一个类的属性或者通过另一个类的实例化来创建对象。,在OMD中的关系类型主要有:类
5、型继承(Type inheritance)创建(Instantiation)组成(Composition):对象间的主次关系关联(Associations),A和B为普通类对象,C为组件类对象,D为一普通类,如下面代码:A=B.writeA()A=C.writeA()A=New D()X普通类不能通过New方法产生A的生命周期是由产生它的对象B和C控制的,ArcObjects UML关系符号,ArcObjects UML关系符号例子,继承组成用来创建对应关系 1:N联合,*,_,蛋,鸟,翅膀,羽毛,2,Abstract,Class,Class,Class,小鸡,CoClass,巢,CoClas
6、s,*,类和他们相应的对象,ArcObjects 对象例子,MxDocument,Map,Layer,*,*,FeatureLayer,Application,不能创建或实例化抽象类永远不能有实例为子类定义了泛化(general)子类集成了抽象类的接口抽象类的OMD 符号:2维阴影矩形,抽象类(Abstract Class),可以创建:使用 New关键字 IMap pMap=new MapClass()实例化:从其它对象获得IMap pMap=pMxDocument.FocusMap()可创建类的OMD符号:3维阴影矩形,组件类(CoClass),类(Class),不能直接创建的类不能使用Ne
7、w关键字来创建从其它对象处获得实例 IRow pNewRow=pTable.CreateRow()实例化类的OMD符号:3维没有阴影的矩形,生 成,属性和方法的符号,属性哑铃形状的图标方法,属性传值:大部分 ArcObjects的属性属性保存了一个对象的值或者一个拷贝不需要使用Set关键字属性传引用:一些 ArcObjects的属性属性保存了一个对象的引用必须使用Set关键字如果引用对象发生了变化,对象的属性将同步受到影响,设置属性,pLayer.Name=Port Moresby No Set keyword,Set pLayer.FeatureClass=pMoresbyData Must
8、 use Set!,接口棒棒糖类型的图标(),查找接口,这些接口也是有效的。但是详细的属性和方法必须在其它地方浏览。(e.g.,Object Browser).,该接口被本类使用.所有的属性和方法都列表在类图中.,继承接口是有效的,FeatureLayer on Map Layer OMD,概念上,这是一个对象模型事实上,被分别在几张图表里存放虫洞表现了图表与图表间的连接关系,ArcObjects OMD图表上的虫洞,Element on ArcMap OMD,虫洞,例子:MxDocument Map layer,从当前的文档中取得聚焦的Map(active data frame)MxDocu
9、ment 可以包含一些 Maps(*)从一个 Map中取得图层对象图层对象有多种的类型(),IMxDocument pMxDoc=LoadMxdDoc(c:Temptest.mxd);IMap pMap=pMxDoc.FocusMap;ILayer pLayer=pMap.get_Layer(1);/Is pLayer a FeatureLayer?if(pLayer is IFeatureLayer)MessageBox.Show(Yes!,its a feature layer);,MxDocument,Map,FeatureLayer,Layer,*,*,Others,ArcEngine
10、概况,ArcGIS9 新的开发产品从核心的ArcObjects组件构建创建独立应用或者集成到第三方系统,ArcEngine功能,读取所有支持的ESRI数据格式,包括geodatabase地图制作(创建和编辑MXD)ArcGIS级别的绘图查询和分析地理编码简单编辑,AO与AE的联系与区别,联系:1.ArcEngine包括核心ArcObjects的功能,是对AO中的大部分接口、类等进行封装所构成的嵌入式组件。2.AE中的组件接口、方法、属性与AO是相同的。区别:1.开发环境:ArcObjects必须依赖ArcGIS Desktop桌面平台,即购买安装了ArcGISDesktop的同时,安装ArcO
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ArcEngine 二次开发 入门 介绍

链接地址:https://www.31ppt.com/p-5415501.html