牟乃夏ArcEngine教程:第1章 ArcGIS Engine编程基
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.1 ArcGIS Engine概述
ArcGIS Engine开发工具包的组成
1.1 ArcGIS Engine概述
• ArcGIS Engine运行时
➢ArcGIS Engine运行时是能够保证基于ArcGIS Engine开发的软件正常运行的 ArcObjects组件产品,是运行由ArcGIS Engine开发的应用程序的基础软件 环境。
• 2.CoClass类 • CoClass类,即可创建类。该类可以通过new关键字直接实例化对
象,它的实例对象不依赖其他对象的存在而存在,其生存周期也 不由其它的对象管理。如QueryFilter是一个组件类,可以用new关 键字来创建一个对象。
1.4 对象模型图(OMD图)
• 3. Class类 • Class类,即可实例化类。该类不能直接使用new关键字创建对
1.2 ArcGIS Engine开发资源
• 1.帮助文档
• 【开始】→【所有程序】→【ArcGIS】 →【Developer Help】→【ArcObjects Help for .NET】,即可启动ArcObjects 的帮助系统。
• 2.自带示例
• 在安装完ArcObjects SDK后,在 “..\Program Files\ArcGIS\DeveloperKit10.0\Samples” 文件夹下,包含有许多自带的代码示 例工程,这些都是开发人员学习 ArcGIS Engine开发很好的资源。
1.4 对象模型图(OMD图)
• 2)组合关系 • 组合关系指其中一个类对象是另外一个类对象的组成部分,由组
成对象控制被组成对象的整个生命周期,在OMD图中用实心菱形 表示。
Layer是Map的一部分,当Map消失的时候,Layer也 将不复存在。在ArcGIS Engine中,地图文档由多个地 图组成,工具条控制对象由多个工具项组成,这些
均是组合关系。
1.4 对象模型图(OMD图)
• 3)关联关系 • 关联关系是指可从一个类的对象访问到另一个类的对象,它是一
种松散的关系,在OMD图中用实线表示。关联关系是有方向的, 若只存在一个方向,则为单向关联;若存在两个方向,则为双向 关联。
1.4 对象模型图(OMD图)
• 4)依赖关系 • 依赖关系表示一个对象具有产生另外一个对象的方法,在OMD图
象,但是可以借助其它对象类来创建该类的实例,如 Workspace类可以通过WorkspaceFactory类的OpenFromFile方法 来创建。
1.4 对象模型图(OMD图)
• 类的关系 • 1)继承关系:继承是面向对象编程的重要特点之一,在OMD图
中用空心三角箭头表示继承关系。抽象类不能直接创建类对象, 只能通过派生子类的方法来实现自己,类之间的继承可看作类功 能的扩展,即子类在继承父类属性和方法的基础上,还可增加自 己特有的属性和方法。
1.1 ArcGIS Engine概述
• ArcGIS Engine与ArcObjects • 联系:
➢ArcGIS Engine包括ArcObjects的核心功能,是对ArcObjects中大部分接口、类库进 行 的封 。装所构成的。ArcGIS Engine中组件的接口、方法、属性与ArcObjects是相同
1.4 对象模型图(OMD图)
• 1. AbstractClass类 • AbstractClass类,即抽象类,该类不能被实例化,也就是说不能用
new关键字去生成一个该类的对象,例如Geometry类。根据面向 对象思想的概念,不同的类可以继承自同一个抽象类,但内部对 同一个方法的实现可能是不一样的。
入接口和出接口
1.4 对象模型图(OMD图)
• 查看OMD图
➢一种方法是通过ArcGIS Engine的开发帮助来查看OMD图中的各种对象信 息及其与其它组件之间的关系。
➢另一种方法是通过阅读Esri提供的OMD图的PDF文件,存放在ArcGIS Engine安装目录下的“…\DeveloperKit10.0\Diagrams”文件夹下。
• ArcGIS论坛:
• 这个网站
1.3 Esri开发方式简介
• Esri提供了多种方式用于扩充其平台软件及开发新的GIS应用软件, 如提供内置的开发语言,提供开发组件库等。
• Esri提供的开发方式从时间轨迹看,主要有AML语言开发方式, Avenue语言开发方式,MapObjects组件开发方式,VBA开发方式 和ArcObjects组件开发方式等。
1.3 Esri开发方式简介
• ArcObjects开发方式
• ArcObjects是ArcGIS的功能核心,是 其桌面系统的开发基础,是一种集 成的面向对象的地理数据模型软件 组件库,提供了ArcGIS的全部功能。
• ArcObjects包括构建ArcGIS产品 ArcView、ArcEditor、ArcInfo和ArcGIS Server等的所有核心组件。
• ArcObjects同时也提供了COM、.NET、 C++和Java的应用编程接口(API), 这些编程接口不仅包括一系列高层 次的组件,还包括了详细的文档说 明。
ArcObjects与其他组件的关系图
1.4 对象模型图(OMD图)
• ArcGIS Engine提供了大量的对
象,这些对象之间存在着各种
中用虚线箭头表示。 • 在ArcGIS Engine中,WorkspaceFactory有三个方法(Create、Open
和OpenFromFile)来创建或打开一个Workspace。Workspace依赖 于WorkspaceFactory。
1.4 对象模型图(OMD图)都
➢ArcGIS Engine运行时是可伸缩的,这种可伸缩性体现在ArcGIS Engine运行 时的级别上。在安装ArcGIS Engine运行时时,需根据应用程序的需要,选 择不同级别的授权文件。
1.1 ArcGIS Engine概述
• ArcGIS Engine功能
• 使用ArcObjects SDK可以实现的功能主要有: ➢ 地图基本操作 ➢ 信息查询功能 ➢ 专题图的制作 ➢ 数据编辑 ➢ 网络分析 ➢ 空间统计分析 ➢ 三维分析
实现了一个或多个接口,这些接 口分为两种类型,一种是入接口 (Inbound Interface),另一种是 出接口(Outbound Interface), 分别用空心圆和实心圆来表示。 其中入接口封装了若干属性和方 法,出接口封装的主要是事件, 即对象支持哪些事件的触发,所 以出接口又称为回调接口。
1.1 ArcGIS Engine概述
• ArcGIS Engine类库
➢ArcGIS Engine不同的组件库分别封装不同的GIS功能。在.NET开发环境中, 不同的GIS功能分别被定义在不同的命名空间内。
➢ArcGIS Engine提供的类库主要可以分为Version类库、界面和控件类库、 可视化显示类库、数据访问类库、数据分析类库等几大部分。
• 3.在线网站
• /en/help/ar cobjects-net/conceptualhelp/
• 4.网上资源
• Esri中国社区:/Esri/
• GIS空间站: /Index.htm
• 区别:
➢1)开发环境 在ArcGIS Engine产品未出现时,要基于ArcObjects进行开发,必须安装ArcGIS
Desktop。而ArcGIS Engine是独立的COM组件,在应用其进行开发时,不需要安装 ArcGIS Desktop,只需安装ArcGIS Engine Developer Kit即可。 ➢2)功能强弱 E口n,gAinr用ecO中于b是j打ec没印ts有包设的含置。了的如很IP在r多inAAtDrrcciaCGlaIoStgaD接loeg口s中kt等o向p。中地的图U文I功档能中,添而加部数分据U所I功用能到在的AIGrcxGDISialog接
• 在产品架构上,ArcGIS Engine由两部分组成。一是构建GIS应 用软件所用的开发工具包(ArcGIS Engine Developer Kit);二是可 分发的、为应用程序提供运行基础的运行时(ArcGIS Engine Runtime)。
1.1 ArcGIS Engine概述
ArcGIS Engine在ArcGIS产品线中的地位
1.1 ArcGIS Engine概述
• ArcGIS Engine控件
➢ArcGIS Engine控件是一组可视化 的开发组件,每个ArcGIS Engine 控件都是一个COM组件。这些控 件包括MapControl、 PageLayoutControl、TOCControl、 ToolBarControl、GlobeControl和 SceneControl等。
1.1 ArcGIS Engine概述
• ArcGIS Engine是基于COM的集合,可以被任何支持COM的编 程语言所调用,如:C#、Visual Basic .NET、Java、Visual Basic、 C/C++等语言。使用它不仅可以编写功能复杂的独立应用程序, 也可以将GIS的相关功能嵌入到现有的软件,如Word、Excel中, 真正实现GIS功能的灵活配置。
牟乃夏 ArcGIS Engine地理信息系统开发教程 第1章 ArcGIS Engine编程基础
目录
• 1.1 ArcGIS Engine概述 • 1.2 ArcGIS Engine开发资源 • 1.3 Esri开发方式简介 • 1.4 对象模型图(OMD图) • 1.5 ArcGIS Engine的安装
各样的关系,如:继承、组合、 关联等。OMD图(Object Model Diagram,对象模型图) 是以UML(Unified Modeling Language,统一建模语言)为
基础,用来表现对象之间关系 的类图。
UML模型图示例
ArcGIS Engine包含三种类型的类,即: AbstractClass类、CoClass类和Class类,他 们在UML图中采用不同的填充样式表示。