-
- 素材大小:
- 5.35 MB
- 素材授权:
- 免费下载
- 素材格式:
- .ppt
- 素材上传:
- ppt
- 上传时间:
- 2017-10-03
- 素材编号:
- 154869
- 素材类别:
- 培训教程PPT
-
素材预览
这是一个关于ArcGISEngine培训教程介绍ppt(部分ppt内容已做更新升级),主要介绍了ArcGIS体系结构;ArcGIS Engine是什么;ArcGIS Engine的主要功能;ArcGIS Engine类库;ArcGIS Engine控件;接口的概念;对象模型图的阅读;什么是地理数据库。用户的空间数据和应用可以通过ArcIMS 在Intranet/Internet环境中进行发布和共享。ArcIMS提供用户在服务器端可以以影像方式或矢量数据流方式进行数据发布。客户端用户通过工业标准的通用浏览器即可对ArcIMS服务站点进行访问和交互操作。ArcIMS支持包括Servlet、ColdFusion、ASP等多种Web Server端技术,同时开发了有望成为未来Internet环境中GIS通用语言的ArcXML,为空间数据跨厂商跨平台的广泛交流和共享打下了坚实的基础,欢迎点击下载ArcGISEngine培训教程介绍ppt(部分ppt内容已做更新升级)哦。
ArcGISEngine培训教程介绍ppt是由红软PPT免费下载网推荐的一款培训教程PPT类型的PowerPoint.
1 ArcGIS体系结构
2 ArcGIS Engine是什么
3 ArcGIS Engine的主要功能
4 ArcGIS Engine类库
5 ArcGIS Engine控件
6 接口的概念
7 对象模型图的阅读
8 什么是地理数据库
9 ArcGIS Engine开发环境与流程
10 ArcGIS Engine许可与部署
11 开发综合实例
4、ArcGIS 与 ArcObjects
ArcGIS是构建在ArcObjects组件库之上。
ESRI 使用 ArcObjects来开发软件和应用程序。
开发者使用ArcObjects去客户化软件与创建自己的应用程序。
ArcObjects 是 ArcGIS 的核心。
5、ArcGIS 软件体系结构
产品共享ArcObjects组件库和底层功能
ArcGIS Engine 包含了核心的功能
1 ArcGIS体系结构
2 ArcGIS Engine是什么
3 ArcGIS Engine的主要功能
4 ArcGIS Engine类库
5 ArcGIS Engine控件
6 接口的概念
7 对象模型图的阅读
8 什么是地理数据库
9 ArcGIS Engine开发环境与流程
10 ArcGIS Engine许可与部署
11 开发综合实例
ArcGIS Engine 产品
ArcGIS Engine包含了两个产品:
— ArcGIS Engine Runtime
是运行所有ArcGIS Engine应用程序所必须的软件
最终用户需要安装
可以进行不同的运行时选项选择
— ArcGIS Engine Developer Kit
开发者使用的
包含了所有开发库和开发资源
可以进行所有的选项开发
两个产品都通过软件许可文件授权
ArcGIS Engine Developer Kit产品
用来创建独立、嵌入式的桌面应用程序
包含构建ArcGIS Engine应用程序所需的许可
构建在ArcObjects基础之上
不包含ArcMap, ArcCatalog, ArcToolbox, ArcScene 等应用程序框架
运行在桌面上(Windows, Unix & Linux)
提供多种开发APIs
C++, .Net, Java, COM
4种APIs使用了相同的对象
包括了构建定制ArcGIS Engine独立应用的所有功能
ArcGIS Engine Developer Kit产品
不是最终用户的应用产品
是面向开发人员的工具包
开发工具包包含
对象/控件
文档
帮助
示例代码
ArcGIS Engine Runtime产品
是基于ArcGIS Engine应用的运行时
可分发安装
跨平台
Windows, UNIX & Linux
没有ArcGIS桌面应用框架或对话框
需要许可授权
通过代码或应用工具配置
ArcGIS Engine Runtime产品
ArcGIS Engine运行时包含:
标准Engine Runtime
Engine扩展
企业GeoDatabase编辑
更新要素和编辑方案
空间分析
3D分析
StreetMap USA
标准Engine功能
地图浏览
地图制作
数据查询
数据分析
所有的开发控件
—MapControl, PageLayout, Toolbar, TOC, ArcReader
对所有矢量和栅格数据源的读权限
对Shapefile和pGDB的写权限
读/写 MXD文件
1 ArcGIS体系结构
2 ArcGIS Engine是什么
3 ArcGIS Engine的主要功能
4 ArcGIS Engine类库
5 ArcGIS Engine控件
6 接口的概念
7 对象模型图的阅读
8 什么是地理数据库
9 ArcGIS Engine开发环境与流程
10 ArcGIS Engine许可与部署
11 开发综合实例
ArcEngine产品结构
标准ArcGIS Engine开发组件
标准的ArcGIS Engine开发组件包含:
— 数据和地图的显示 (MapControl & TOC)
— 跟踪形状和显示绘制(Map)
— 定制工具和命令 (Toolbar)
— 地图布局和打印 (PageLayout)
— 访问底层的ArcObjects
ArcGIS Engine扩展模块
GeoDatabase Updata
3D 分析
空间分析
GeoDatabase Updata扩展
提供创建和更新多用户企业级地理数据库的功能。
版本管理、离线编辑
提供了拓扑、子类和几何网络等地理数据库行为的程序实现。
释放相应的ArcObjects的功能。
空间分析扩展
创建、查询和分析基于像元的栅格数据
坡度计算
坡向计算
用数字高程模型生成等高线
……
3D分析扩展
实现数据的三维可视化
提供SceneControl和GlobeControl
创建表面和分析表面的多层3D数据
把3D功能嵌入到应用系统中。
小结:ArcGIS Engine的功能
图层显示
地图漫游和缩放
识别地图上的要素
显示字段值的文本标注
显示航空相片或卫星影像
绘制描述性文本
用线、框、区域、多边形和圆选择要素
选择与某些要素的距离在一定范围的要素
用结构化查询语言表达式查找和选择要素
定制地图的专题显示方式
动态显示实时或时间序列数据
转换地图的坐标系统
在要素几何形状上执行几何操作以,创建缓冲区、计算差异、发现交叉、合并和求异等。(几何运算)
处理要素形状或者旋转地图
创建和更新地理要素及其属性
地图制图输出
3D显示、空间分析
……
1 ArcGIS体系结构
2 ArcGIS Engine是什么
3 ArcGIS Engine的主要功能
4 ArcGIS Engine类库
5 ArcGIS Engine控件
6 接口的概念
7 对象模型图的阅读
8 什么是地理数据库
9 ArcGIS Engine开发环境与流程
10 ArcGIS Engine许可与部署
11 开发综合实例
ArcGIS Engine类库图
ArcGIS Engine类库:1、System
System类库是ArcGIS系统结构中最底层的类库。
System类库包含了构成为ArcGIS的其他类库提供服务的组件。
System类库中定义了大量开发者可以实现的接口,如AoInitializer对象就是在System类库中定义的,所有开发者必须使用这个对象来初始化ArcGIS Engine。
ArcGIS Engine类库:2、 SystemUI
包含用户界面组件接口定义。如:Icommand、Itool和IToolControl接口。
开发者使用这些接口来扩展UI组件。
包含的一些使用工具对象,通过使用这些对象来简化用户界面的开发, 如Icommand和Itool这样的接口就在这里定义。
ArcGIS Engine类库:3、Geometry
处理存储在要素类中的要素形状。如:Point、MultiPoint、Polyline、Polygon等。
存储构成几何要素的子要素。如:Segement、Path、Ring等。
存储几何要素的空间参考对象。包括:投影坐标和地理坐标系统等。
ArcGIS Engine类库:4、Display
用于控制地图显示。
包含用于显示GIS数据的对象。
包含符号、颜色等用来控制显示的对象。
包含交互操作时提供给用户显示回馈的对象,如MoveEnvelopeFeedback。
ArcGIS Engine类库:5、Server
用来连接并操作ArcGIS Server。
访问ArcGIS Server的ServerObjectsManager对象。
操作ArcGIS Server的ServerContext对象。
ArcGIS Engine类库:6、Output
用来控制地图的输出
用户创建图形输出到打印机或者绘图仪等设备。
输出成JPG、BMP、增强图元文件等格式。
ArcGIS Engine类库:6、GeoDatabase
为ArcGIS支持的所有数据源提供了一个统一编程模型。
定义了许多由ArcObjects架构中更高级的数据源提供者实现的接口。
开发者可以扩展地理数据库,以支持特定类型的数据对象。
该类库还支持PlugInDataSource对象添加的自定义矢量数据源。
ArcGIS Engine类库:7、GISClient
允许开发者使用Web服务。
可以连接到ArcIMS。
支持以无状态方式或者通过Web目录操作ArcGIS Server对象的编程模型。
ArcGIS Engine类库:8、DataSourcesFile
包含用于基于文件数据源的GeoDatabase API实现。
基于文件的数据源包括:shapefile、coverage、TIN、CAD、SDC、StreetMap和VPF。
开发者不能扩展DataSourcesFile。
ArcGIS Engine类库:9、DataSourceGDB
包含用于数据库数据源的GeoDatabase API实现。
数据源包括:Access和ArcSDE支持的关系型数据库管理系统,如:DB2、Informix、SQL Server、Oracle。
开发者不能扩展该类库。
ArcGIS Engine类库:10、DataSourcesOleDB
包含用户Microsoft OLE DB数据源的Geodatabase API实现。
只能用在Microsoft Windows上。
这些数据源包括支持数据提供者和文本文件工作空间的所有OLE DB。
ArcGIS Engine类库:11、DataSourcesRaster
包含用于栅格数据源的GeoDatabase API实现。
这些数据源包括ArcSDE支持的关系型数据库管理系统:DB2、Informix、SQLServer、Oracle,以及支持RDO栅格文件格式。
ArcGIS Engine类库:12、Carto
包含操作2D地图的对象。
支持2D地图的创建和显示。
提供Map和PageLayout等基础对象。
提供MapDocument对象来操作地图文档。
ArcGIS Engine类库:13、Network Analiysis
提供用于在地理数据库中加载和分析网络数据的对象。
开发者可以扩展NetworkAnaliysis类库,以便支持自定义的网络追踪。
该类库的目的在于操作公共网络:供气管线、供电网络等。
ArcGIS Engine类库:14、Controls
用来构建或扩展具有ArcGIS 功能的应用程序。
提供一系列的开发控件,通过封装ArcObjects,提供粗颗粒度的API来简化开发过程。
提供HookHelper对象,简化命令操作的创建。
ArcGIS Engine类库:15、GeoAnalyst
包含支持核心空间分析功能的对象。
这些功能用在SpatialAnalyst和3DAnalyst两个类库中。
开发者可以通过创建新类型的栅格操作来扩展GeoAnalyst类库。
ArcGIS Engine类库:16、3D Analyst
包含操作3D场景的对象。
主要对象为:Scene。
运行时需要3D许可选项
ArcGIS Engine类库:17、Spatial Analyst
包含在栅格数据和矢量数据上执行空间分析的对象。
通常是直接使用给类库中的对象,不做扩展。
运行时需要空间分析选项许可。
ArcGIS Engine类库:18、GlobeCore
包含操作Globe数据的对象。
主要对象为:Globe。
运行时需要3D许可选项。
1 ArcGIS体系结构
2 ArcGIS Engine是什么
3 ArcGIS Engine的主要功能
4 ArcGIS Engine类库
5 ArcGIS Engine控件
6 接口的概念
7 对象模型图的阅读
8 什么是地理数据库
9 ArcGIS Engine开发环境与流程
10 ArcGIS Engine许可与部署
11 开发综合实例
ArcGIS Engine控件概念
嵌入式组件
一每个ArcGIS控件都是嵌入式组件,可以拖放到可视化设计环境提供的容器窗体或对话框中。一旦放在了容器内,就可以改变ArcGIS控件的大小和位置,以便与其他嵌入式组件一起为应用程序提供用户界面。
ArcGIS Engine控件概念
属性页
一旦控件被放入了容器中,就可以使用右键点击该控件来弹出属性页面,可以方便的访问控件的属性和方法 ,减少代码的编写工作量。
ArcGIS Engine控件概念
封装ArcObjects
一每个ArcGIS控件都封装了粗颗粒度的ArcObjects,同时又提供对细颗粒度的ArcObjects的访问,简化了开发过程。
一如PageLayoutControl封装了PageLayout对象,PageLayout对象至少包含一个Map对象,而Map对象又可以包含一个或者多个图层对象。
一ArcGIS控件是开发程序的起点,通过他们可以直接快速进入开发的对象模型。
ArcGIS Engine控件概念
事件
一每个ArcGIS控件都会响应终端用户的键盘和鼠标交互而触发的事件。
一在事件中加入响应交互的处理代码。
ArcGIS Engine控件概念
伙伴控件
一这种类型的ArcGIS控件不能单独使用,需要和另外一个控件一起协同工作。
一ToolbarControl和TOCControl是伙伴控件
一对应的伙伴控件一般为:MapControl、PageLayoutControl、ReaderControl、SceneControl或GlobeControl控件。
一可以通过属性页面来设置伙伴控件的关联属性。
ArcGIS Engine控件概念
控件命令
一ArcGIS Engine提供了一系列的命令、工具和菜单与ArcGIS控件系统工作。如放大、缩小、漫游等等。
一开发人员也可以通过创建自己定义的命令、工具和菜单来使用ArcGIS Engine提供的命令集。
一可以使用HookHelper、GlobeHookHelper和SceneHookHelper等对象来简化自定义的命令。
提供超过100个工具和命令
ArcGIS Engine控件概念
地图制作
一ArcGIS控件可以装载使用ArcGIS DeskTop预定义的文档。如:ArcMap制作的MXD文档可以被MapControl和PageLayoutControl来加载。
一使用预定一的文档可以节省开发时间,不需要从零开始编程建立地图及其符号化体系。
ArcGIS Engine开发控件
MapControl
PageLayoutControl
ToolBarControl
TOCControl
SceneControl
GlobelControl
3D控件
SceneControl
一对应与桌面的ArcScene桌面应用程序的三维视图。拥有导航功能,允许用户三维地显示地图数据。
GlobeControl
一对应与桌面的ArcGlobe桌面应用程序的三维视图。拥有导航功能,允许用户三维地显示地图数据。
ReadControl
ReadControl
一对应于ArcReader桌面应用程序地“数据”和“布局”视图及其内容表“TOC”。
一ReadControl还包含有一定的工具菜单,方便使用。
一访问ArcGIS Publisher扩展模块发布的PMF数据。
控件应用举例
1 ArcGIS体系结构
2 ArcGIS Engine是什么
3 ArcGIS Engine的主要功能
4 ArcGIS Engine类库
5 ArcGIS Engine控件
6 接口的概念
7 对象模型图的阅读
8 什么是地理数据库
9 ArcGIS Engine开发环境与流程
10 ArcGIS Engine许可与部署
11 开发综合实例
1 ArcGIS体系结构
2 ArcGIS Engine是什么
3 ArcGIS Engine的主要功能
4 ArcGIS Engine类库
5 ArcGIS Engine控件
6 接口的概念
7 对象模型图的阅读
8 什么是地理数据库
9 ArcGIS Engine开发环境与流程
10 ArcGIS Engine许可与部署
11 开发综合实例
1 ArcGIS体系结构
2 ArcGIS Engine是什么
3 ArcGIS Engine的主要功能
4 ArcGIS Engine类库
5 ArcGIS Engine控件
6 接口的概念
7 对象模型图的阅读
8 什么是地理数据库
9 ArcGIS Engine开发环境与流程
10 ArcGIS Engine许可与部署
11 开发综合实例
1 ArcGIS体系结构
2 ArcGIS Engine是什么
3 ArcGIS Engine的主要功能
4 ArcGIS Engine类库
5 ArcGIS Engine控件
6 接口的概念
7 对象模型图的阅读
8 什么是地理数据库
9 ArcGIS Engine开发环境与流程
10 ArcGIS Engine许可与部署
11 开发综合实例
APIs 和开发环境
ArcGIS Engine支持一下四种开发环境
COM:VB6、VC++等
.Net :VB.Net、C#等
Java :标准的Java
C++:标准C++
每种开发环境下的ArcGIS Engine的开发大体是一样的。只有少数的区别。
以VBA方式进行定制开发
打开ArcMap应用程序,选择Tools菜单下的MACROS子菜单打开VBA环境
选择Project工程下的ArcMap Object ,双击打开其中的ThisDocument对象
在右边的编辑环境中选择对象列表中的MxDocument对象,在任务列表中选择OpenDocumen
以VBA方式进行定制开发
键入如下的代码
Dim pmap As IMap
Set pmap = New Map
pmap.Name = "Hello,world"
MsgBox pmap.Name
按CTRL+S保存后退出ArcMap。再次打开你所保存的工程文档,在下面的图片中就得到了程序运行的结果
ArcGIS Engine开发所需要的预备知识
理解 COM 组件技术
了解一门编程语言 (VB, .NET, VC++, Java)
怎么使用 ArcObjects
知道开发者资源
理解授权与部署的模型
注:不管何种开发方式,使用ArcGIS Engine进行应用程序的开发成功与否取决于开发人员掌握的编程环境和ArcObjects的技能。
如何开始.Net的Engine开发?
安装Visual Studio 2005 (Express or Professional)
.NET 2.0 SDK 和 Runtime
http://msdn.microsoft.com/vstudio/express/
安装 .NET 的ArcGIS Engine Runtime
包括开发包(developer kit)
安装 ArcGIS Engine开发包
http://edn.esri.com/
准备开发
ArcGIS Engine开发流程
数据准备
确定应用程序类型
选择API和开发环境
开发应用程序
部署应用程序
1、数据准备
收集和整理系统开发中所需要到的数据。
一包括:属性数据、矢量数据和影像数据等。
确定待开发的系统的数据结构等。
2、确定应用程序类型
使用ArcGIS Engine可以开发多种应用程序。
一独立的非可视化应用程序。如控制台和实用工具应用程序。
一独立的可视化应用程序。如Wiondows和基于控件的应用程序。
一嵌入式应用程序。如嵌入到现有的应用程序中的组件。
一跨平台的上述应用程序。用Java或C++编写。
3、选择API和开发环境
选择合适的API和开发环境:
一COM:Visual Staudio6.0(VB,VC++)
一.Net:Visual Studio.Net( VB.Net,C#)
一Java:Eclipse,WebsphereStudio,Jbuilder等。
一C++:Visual Studio6.0,C++ Builder
主要根据开发人员熟悉何种环境和语言、打算使用何种API、待开发的系统在何种平台和环境下运行等因素综合考虑确定。
4、开发应用程序
具体的功能代码开发。
主要考虑:
一将使用到ArcGIS Engine的何种功能。
一决定要引用的ArcGIS Engine的类库。
一运行应用程序所需要的ArcGIS何种许可。
一是否需要ArcGIS Engine运行时的选项。
一具体代码编写。
一计划如何部署应用程序。
一是否实现了正确的许可代码。
在这个过程中将使用到ArcGIS的开发帮助系统。
5、部署应用程序
把最终开发完成的程序部署到目标机器上。
主要考虑:
一 目标机器的ArcGIS产品的安装情况。是单独安装ArcGIS Engine还是同时还安装ArcGIS Desktop。
一目标机器采用何种许可认证方式。
一开发人员如何打包和部署安装程序。
一将来是否提供新版本进行升级。
一如何分发开发的应用程序。如网络安装、光盘介质。
创建Engine应用程序:( .NET)
步骤
创建一个项目
引用ArcGIS库
初始化许可
步骤1:创建一个独立项目
步骤2: 引用ArcGIS库
步骤3:初始化许可
手动实现这段代码
Developer tools
ESRI License Initializer add-in
步骤4: 加载地图控件
添加地图控件
编写事件代码
1 ArcGIS体系结构
2 ArcGIS Engine是什么
3 ArcGIS Engine的主要功能
4 ArcGIS Engine类库
5 ArcGIS Engine控件
6 接口的概念
7 对象模型图的阅读
8 什么是地理数据库
9 ArcGIS Engine开发环境与流程
10 ArcGIS Engine许可与部署
11 开发综合实例
ArcGIS Engine许可管理
ArcGIS Engine许可初始化
一使用ArcObjects开发的每个独立应用程序必须用一个合适的许可进行初始化,以保证安装了该应用程序的任何机器上成功地运行应用程序。
一许可初始化必须由应用程序在启动和访问任何ArcObjects前执行。
一ArcGIS Engine开发的独立应用程序可以使用的许可种类有三种:ArcGIS Engine单用户许可、 ArcGIS Desktop单用户许可、 ArcGIS Desktop多用户许可。
一一旦应用程序使用了某个许可进行了初始化,就不能再进行重新初始化了。应用程序的许可初始化针对的是整个生命周期。
一虽然ArcGIS Engine可以使用Desktop的License,但是不提倡这样使用,因为这将占用了Desktop的有效License数目。
ArcGIS Engine控件开发的许可
开发许可只是在设计和开发应用程序时需要,运行时不需要该许可。
该许可不需要人为捡出,它会自动捡出。
每个控件设计时所需的许可如下图:
ArcGIS Engine控件运行的许可
需要应用程序明确指定和捡出。
ArcGIS Engine每个控件运行时所需的许可如下图:
用许可初始化应用程序的顺序
检查产品的可用性。
检查扩展许可的可用性(如果有需要)。
用产品许可初始化应用程序。
如果需要,执行扩展模块的捡入与捡出。
关闭应用程序前关闭许可对象。
关闭应用程序。
看实例
ArcGIS Engine运行时的部署
部署的两种方式
一在目标机器上,用户直接运行ArcGIS Engine运行时安装程序。
一在应用程序的安装程序中包含ArcGIS Engine运行时安装程序。
注意事项
一安装ArcGIS Engine9.0运行时的机器上不能有低于9.0版本的ArcGIS产品。
一在卸载开发人员开发的应用程序过程中,一定不要卸载ArcGIS Engine运行时。
一只有在确认没有第三方应用程序使用ArcGIS Engine运行时的情况下,才推荐用户手工卸载。(使用控制面板来手工卸载,而不是直接删除磁盘上的文件。)
对ArcGIS Engine应用程序授权
软件授权就是解除底层ArcGIS Engine运行时软件组件的锁定的过程。
对ArcGIS Engine应用程序授权有以下三种方式:
一使用已有的ArcGIS Desktop的许可。(不推荐)
一直接从ESRI获取ArcGIS Engine运行时。
一从开发人员开发的应用程序中获得打包的ArcGIS Engine运行时。
1 ArcGIS体系结构
2 ArcGIS Engine是什么
3 ArcGIS Engine的主要功能
4 ArcGIS Engine类库
5 ArcGIS Engine控件
6 接口的概念
7 对象模型图的阅读
8 什么是地理数据库
9 ArcGIS Engine开发环境与流程
10 ArcGIS Engine许可与部署
11 开发综合实例