




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.,牟乃夏ArcGISEngine地理信息系统开发教程第1章ArcGISEngine编程基础,.,目录,1.1ArcGISEngine概述1.2ArcGISEngine开发资源1.3Esri开发方式简介1.4对象模型图(OMD图)1.5ArcGISEngine的安装,.,1.1ArcGISEngine概述,ArcGISEngine是基于COM的集合,可以被任何支持COM的编程语言所调用,如:C#、VisualBasic.NET、Java、VisualBasic、C/C+等语言。使用它不仅可以编写功能复杂的独立应用程序,也可以将GIS的相关功能嵌入到现有的软件,如Word、Excel中,真正实现GIS功能的灵活配置。在产品架构上,ArcGISEngine由两部分组成。一是构建GIS应用软件所用的开发工具包(ArcGISEngineDeveloperKit);二是可分发的、为应用程序提供运行基础的运行时(ArcGISEngineRuntime)。,.,1.1ArcGISEngine概述,ArcGISEngine在ArcGIS产品线中的地位,.,1.1ArcGISEngine概述,ArcGISEngine开发工具包的组成,.,1.1ArcGISEngine概述,ArcGISEngine运行时ArcGISEngine运行时是能够保证基于ArcGISEngine开发的软件正常运行的ArcObjects组件产品,是运行由ArcGISEngine开发的应用程序的基础软件环境。ArcGISEngine运行时是可伸缩的,这种可伸缩性体现在ArcGISEngine运行时的级别上。在安装ArcGISEngine运行时时,需根据应用程序的需要,选择不同级别的授权文件。,.,1.1ArcGISEngine概述,ArcGISEngine功能使用ArcObjectsSDK可以实现的功能主要有:地图基本操作信息查询功能专题图的制作数据编辑网络分析空间统计分析三维分析,.,1.1ArcGISEngine概述,ArcGISEngine与ArcObjects联系:ArcGISEngine包括ArcObjects的核心功能,是对ArcObjects中大部分接口、类库进行封装所构成的。ArcGISEngine中组件的接口、方法、属性与ArcObjects是相同的。区别:1)开发环境在ArcGISEngine产品未出现时,要基于ArcObjects进行开发,必须安装ArcGISDesktop。而ArcGISEngine是独立的COM组件,在应用其进行开发时,不需要安装ArcGISDesktop,只需安装ArcGISEngineDeveloperKit即可。2)功能强弱ArcObjects包含了很多ArcGISDesktop中的UI功能,而部分UI功能在ArcGISEngine中是没有的。如在ArcCatalog中向地图文档中添加数据所用到的IGxDialog接口,用于打印设置的IPrintDialog接口等。,.,1.1ArcGISEngine概述,ArcGISEngine类库ArcGISEngine不同的组件库分别封装不同的GIS功能。在.NET开发环境中,不同的GIS功能分别被定义在不同的命名空间内。ArcGISEngine提供的类库主要可以分为Version类库、界面和控件类库、可视化显示类库、数据访问类库、数据分析类库等几大部分。,.,1.1ArcGISEngine概述,ArcGISEngine控件ArcGISEngine控件是一组可视化的开发组件,每个ArcGISEngine控件都是一个COM组件。这些控件包括MapControl、PageLayoutControl、TOCControl、ToolBarControl、GlobeControl和SceneControl等。,.,1.2ArcGISEngine开发资源,1.帮助文档【开始】【所有程序】【ArcGIS】【DeveloperHelp】【ArcObjectsHelpfor.NET】,即可启动ArcObjects的帮助系统。2.自带示例在安装完ArcObjectsSDK后,在“.ProgramFilesArcGISDeveloperKit10.0Samples”文件夹下,包含有许多自带的代码示例工程,这些都是开发人员学习ArcGISEngine开发很好的资源。3.在线网站,4.网上资源Esri中国社区:http:/bbs.Esrichina-,.,1.3Esri开发方式简介,Esri提供了多种方式用于扩充其平台软件及开发新的GIS应用软件,如提供内置的开发语言,提供开发组件库等。Esri提供的开发方式从时间轨迹看,主要有AML语言开发方式,Avenue语言开发方式,MapObjects组件开发方式,VBA开发方式和ArcObjects组件开发方式等。,.,1.3Esri开发方式简介,ArcObjects开发方式ArcObjects是ArcGIS的功能核心,是其桌面系统的开发基础,是一种集成的面向对象的地理数据模型软件组件库,提供了ArcGIS的全部功能。ArcObjects包括构建ArcGIS产品ArcView、ArcEditor、ArcInfo和ArcGISServer等的所有核心组件。ArcObjects同时也提供了COM、.NET、C+和Java的应用编程接口(API),这些编程接口不仅包括一系列高层次的组件,还包括了详细的文档说明。,ArcObjects与其他组件的关系图,.,1.4对象模型图(OMD图),ArcGISEngine提供了大量的对象,这些对象之间存在着各种各样的关系,如:继承、组合、关联等。OMD图(ObjectModelDiagram,对象模型图)是以UML(UnifiedModelingLanguage,统一建模语言)为基础,用来表现对象之间关系的类图。,UML模型图示例,ArcGISEngine包含三种类型的类,即:AbstractClass类、CoClass类和Class类,他们在UML图中采用不同的填充样式表示。,.,1.4对象模型图(OMD图),1.AbstractClass类AbstractClass类,即抽象类,该类不能被实例化,也就是说不能用new关键字去生成一个该类的对象,例如Geometry类。根据面向对象思想的概念,不同的类可以继承自同一个抽象类,但内部对同一个方法的实现可能是不一样的。2.CoClass类CoClass类,即可创建类。该类可以通过new关键字直接实例化对象,它的实例对象不依赖其他对象的存在而存在,其生存周期也不由其它的对象管理。如QueryFilter是一个组件类,可以用new关键字来创建一个对象。,.,1.4对象模型图(OMD图),3.Class类Class类,即可实例化类。该类不能直接使用new关键字创建对象,但是可以借助其它对象类来创建该类的实例,如Workspace类可以通过WorkspaceFactory类的OpenFromFile方法来创建。,.,1.4对象模型图(OMD图),类的关系1)继承关系:继承是面向对象编程的重要特点之一,在OMD图中用空心三角箭头表示继承关系。抽象类不能直接创建类对象,只能通过派生子类的方法来实现自己,类之间的继承可看作类功能的扩展,即子类在继承父类属性和方法的基础上,还可增加自己特有的属性和方法。,.,1.4对象模型图(OMD图),2)组合关系组合关系指其中一个类对象是另外一个类对象的组成部分,由组成对象控制被组成对象的整个生命周期,在OMD图中用实心菱形表示。,Layer是Map的一部分,当Map消失的时候,Layer也将不复存在。在ArcGISEngine中,地图文档由多个地图组成,工具条控制对象由多个工具项组成,这些均是组合关系。,.,1.4对象模型图(OMD图),3)关联关系关联关系是指可从一个类的对象访问到另一个类的对象,它是一种松散的关系,在OMD图中用实线表示。关联关系是有方向的,若只存在一个方向,则为单向关联;若存在两个方向,则为双向关联。,.,1.4对象模型图(OMD图),4)依赖关系依赖关系表示一个对象具有产生另外一个对象的方法,在OMD图中用虚线箭头表示。在ArcGISEngine中,WorkspaceFactory有三个方法(Create、Open和OpenFromFile)来创建或打开一个Workspace。Workspace依赖于WorkspaceFactory。,.,1.4对象模型图(OMD图),接口对于接口来说,ArcObjects的类都实现了一个或多个接口,这些接口分为两种类型,一种是入接口(InboundInterface),另一种是出接口(OutboundInterface),分别用空心圆和实心圆来表示。其中入接口封装了若干属性和方法,出接口封装的主要是事
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 播放器代销协议5篇
- 2025年及未来5年中国金华市跨境电商行业市场运行态势与投资战略咨询报告
- 2025湖南益阳市交通投资运营集团有限公司招聘3人(第一批)考前自测高频考点模拟试题及一套答案详解
- 2025年4月四川成都市成华区中医医院招聘编外人员3人模拟试卷及答案详解(必刷)
- 情感化音乐合成-第1篇-洞察与解读
- 2025年4月广东深圳市福田区区属公办高中面向全国遴选校长1人模拟试卷及1套完整答案详解
- 2025广东深圳大学人文学院左江教授博士后招聘1人考前自测高频考点模拟试题及1套参考答案详解
- 2025广西百色市平果市民政局公益性岗位人员招聘1人模拟试卷有答案详解
- 2025春季北方华创招聘模拟试卷及答案详解(各地真题)
- 供应链安全预警机制-洞察与解读
- 广州市房屋租赁合同国土局标准模版
- 停车场保安安全知识培训课件
- 校长在食堂从业人员培训会上的讲话
- (高清版)DBJ∕T 13-91-2025 《福建省房屋市政工程安全风险分级管控与隐患排查治理标准》
- 雅思小作文教学课件
- 电气柜安装服务合同范本
- 2025至2030中国硅单晶生长炉行业项目调研及市场前景预测评估报告
- 学堂在线 工程伦理2.0 章节测试答案
- 子宫肌瘤麻醉管理
- 食用菌种植项目可行性研究报告立项申请报告范文
- 焦炉机械伤害事故及其预防
评论
0/150
提交评论