ArcGISEngine培训教程.ppt
《ArcGISEngine培训教程.ppt》由会员分享,可在线阅读,更多相关《ArcGISEngine培训教程.ppt(139页珍藏版)》请在三一办公上搜索。
1、,目 录,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 整体架构,Customization,1、ArcGIS的客户端,ArcGIS的客户端产品包括ArcView、ArcEditor、ArcInfo三个客户端都有统一风格的桌面应用:ArcCatalog、ArcMap和ArcToolbox。,ArcCat
2、alog:ArcCatalog是一个集成化的空间数据管理器,主要用于空间数据浏览,Geodatabase的结构定义、数据的导入导出、网络模型的生成、对象关系和规则的定义、元数据的定义和编辑修改等。ArcCatalog支持大量的数据格式,包括:ESRI shapefiles,Geodatabases,ArcSDE layers,INFO tables,Image,Grid,Tin,CAD文件,动态分段事件以及其它ESRI数据类型和文件等。,ArcMap是集空间数据显示、编辑、查询检索、统计、报表生成、空间分析和高级制图等众多功能于一体的桌面应用平台。ArcMap提供面向对象的类似CAD的空间数据
3、编辑工具,全面支持空间数据的可视化交互操作。ArcMap提供了所见即所得的符号编辑器,令使用者可以随心所欲地生成任意复杂的点线面符号。ArcMap进一步拓展了ESRI强大的空间数据直接读取能力,多种格式的数据无需进行转换或利用中间交换格式即可动态地直接使用。ArcMap支持的空间数据格式包括:ArcInfo coverages,ESRI shapefiles,ArcSDE layers,DXF and DWG,DGN,大量的图像格式,GRID、TIN,等等。ArcMap还支持空间数据的动态投影(on-the-fly projection)。,1、ArcGIS的客户端,ArcToolbox是一个
4、用于空间数据格式转换、叠加处理、缓冲区生成、坐标转换等的集成化“工具箱”。ArcToolbox以树形结构方式组织了120多个不同的空间数据处理工具,并且都是以菜单驱动的方式提供出来,这为我们以一种确定的、轻松的方式去完成哪怕是很复杂的工作提供了前所未有的方便。,1、ArcGIS的客户端,2、ArcGIS 的服务器端,ArcIMS用户的空间数据和应用可以通过ArcIMS 在 Intranet/Internet环境中进行发布和共享。ArcIMS提供用户在服务器端可以以影像方式或矢量数据流方式进行数据发布。客户端用户通过工业标准的通用浏览器即可对ArcIMS服务站点进行访问和交互操作。ArcIMS支
5、持包括Servlet、ColdFusion、ASP等多种Web Server端技术,同时开发了有望成为未来Internet环境中GIS通用语言的ArcXML,为空间数据跨厂商跨平台的广泛交流和共享打下了坚实的基础。,ArcSDEArcSDE是ESRI的空间数据库引擎,用于对海量空间数据及其属性数据的管理和驱动,为并发访问的客户端提供快速、安全的数据服务。ArcSDE支持工业标准的DBMS平台(如:ORACLE、SQL Server、DB2、Informix等),同时引入了其独有的异步缓冲机制和协同操作机制,使得空间数据服务的响应效率得到提高,真正起到了“引擎”的作用,而并不仅仅是提供一种空间数
6、据存储方式。另外,ArcSDE具有丰富的客户端可供用户选用,如:ArcInfo、ArcView、ArcIMS、MapObjects、ArcExplorer等。同时,还提供了开放的API编程接口,供用户或开发商开发自己的客户端应用或产品。,2、ArcGIS 的服务器端,4、ArcGIS 与 ArcObjects,ArcGIS是构建在ArcObjects组件库之上。ESRI 使用 ArcObjects来开发软件和应用程序。开发者使用ArcObjects去客户化软件与创建自己的应用程序。ArcObjects 是 ArcGIS 的核心。,5、ArcGIS 软件体系结构,产品共享ArcObjects组件
7、库和底层功能ArcGIS Engine 包含了核心的功能,ArcGIS Desktop,ArcGIS Engine,ArcGIS Server,由于遵循了主流的标准,信息能根据标准来交互,ArcGIS是一个开放的平台。,目 录,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 产品,ArcGI
8、S Engine包含了两个产品:ArcGIS Engine Runtime 是运行所有ArcGIS Engine应用程序所必须的软件最终用户需要安装可以进行不同的运行时选项选择 ArcGIS Engine Developer Kit开发者使用的包含了所有开发库和开发资源可以进行所有的选项开发 两个产品都通过软件许可文件授权,ArcGIS Engine Developer Kit产品,用来创建独立、嵌入式的桌面应用程序包含构建ArcGIS Engine应用程序所需的许可构建在ArcObjects基础之上不包含ArcMap,ArcCatalog,ArcToolbox,ArcScene 等应用程序框
9、架运行在桌面上(Windows,Unix&Linux)提供多种开发APIsC+,.Net,Java,COM4种APIs使用了相同的对象包括了构建定制ArcGIS Engine独立应用的所有功能,ArcGIS Engine Developer Kit产品,不是最终用户的应用产品是面向开发人员的工具包开发工具包包含对象/控件文档帮助示例代码,ArcGIS Engine Runtime产品,是基于ArcGIS Engine应用的运行时可分发安装跨平台 Windows,UNIX&Linux没有ArcGIS桌面应用框架或对话框需要许可授权通过代码或应用工具配置,ArcGIS Engine Runtime
10、产品,ArcGIS Engine运行时包含:标准Engine RuntimeEngine扩展企业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
11、控件6 接口的概念7 对象模型图的阅读8 什么是地理数据库9 ArcGIS Engine开发环境与流程10 ArcGIS Engine许可与部署11 开发综合实例,ArcEngine产品结构,ArcEngine是开发人员用于建立自定义应用程序的嵌入式GIS组件的完整类库。包含以下五个部分:,基本服务:由GIS核心ArcObjects构成。几乎所有的GIS应用程序都需要,如几何体和显示。数据存取:对许多栅格和矢量格式的数据进行存取,包括GeoDatabase。地图表达:创建和显示带有符号、标注的地图以及专题地图的ArcObjects对象。开发组件:快速应用开发的高级用户接口控件和综合帮助系统。运
12、行时选项:与标准功能或其他高级功能一起部署的部件。,标准ArcGIS Engine开发组件,标准的ArcGIS Engine开发组件包含:数据和地图的显示(MapControl&TOC)跟踪形状和显示绘制(Map)定制工具和命令(Toolbar)地图布局和打印(PageLayout)访问底层的ArcObjects,ArcGIS Engine扩展模块,GeoDatabase Updata3D 分析空间分析,GeoDatabase Updata扩展,提供创建和更新多用户企业级地理数据库的功能。版本管理、离线编辑提供了拓扑、子类和几何网络等地理数据库行为的程序实现。释放相应的ArcObjects的功
13、能。,空间分析扩展,创建、查询和分析基于像元的栅格数据坡度计算坡向计算用数字高程模型生成等高线,3D分析扩展,实现数据的三维可视化提供SceneControl和GlobeControl创建表面和分析表面的多层3D数据把3D功能嵌入到应用系统中。,小结:ArcGIS Engine的功能,图层显示地图漫游和缩放识别地图上的要素显示字段值的文本标注显示航空相片或卫星影像绘制描述性文本用线、框、区域、多边形和圆选择要素选择与某些要素的距离在一定范围的要素用结构化查询语言表达式查找和选择要素定制地图的专题显示方式动态显示实时或时间序列数据转换地图的坐标系统在要素几何形状上执行几何操作以,创建缓冲区、计算
14、差异、发现交叉、合并和求异等。(几何运算)处理要素形状或者旋转地图创建和更新地理要素及其属性地图制图输出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系统结构中最底层的类库。S
15、ystem类库包含了构成为ArcGIS的其他类库提供服务的组件。System类库中定义了大量开发者可以实现的接口,如AoInitializer对象就是在System类库中定义的,所有开发者必须使用这个对象来初始化ArcGIS Engine。,ArcGIS Engine类库:2、SystemUI,包含用户界面组件接口定义。如:Icommand、Itool和IToolControl接口。开发者使用这些接口来扩展UI组件。包含的一些使用工具对象,通过使用这些对象来简化用户界面的开发,如Icommand和Itool这样的接口就在这里定义。,ArcGIS Engine类库:3、Geometry,处理存储
16、在要素类中的要素形状。如:Point、MultiPoint、Polyline、Polygon等。存储构成几何要素的子要素。如:Segement、Path、Ring等。存储几何要素的空间参考对象。包括:投影坐标和地理坐标系统等。,ArcGIS Engine类库:4、Display,用于控制地图显示。包含用于显示GIS数据的对象。包含符号、颜色等用来控制显示的对象。包含交互操作时提供给用户显示回馈的对象,如MoveEnvelopeFeedback。,ArcGIS Engine类库:5、Server,用来连接并操作ArcGIS Server。访问ArcGIS Server的ServerObjects
17、Manager对象。操作ArcGIS Server的ServerContext对象。,ArcGIS Engine类库:6、Output,用来控制地图的输出用户创建图形输出到打印机或者绘图仪等设备。输出成JPG、BMP、增强图元文件等格式。,ArcGIS Engine类库:6、GeoDatabase,为ArcGIS支持的所有数据源提供了一个统一编程模型。定义了许多由ArcObjects架构中更高级的数据源提供者实现的接口。开发者可以扩展地理数据库,以支持特定类型的数据对象。该类库还支持PlugInDataSource对象添加的自定义矢量数据源。,ArcGIS Engine类库:7、GISClie
18、nt,允许开发者使用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支持的关系型数
19、据库管理系统,如: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、SQLServe
20、r、Oracle,以及支持RDO栅格文件格式。,ArcGIS Engine类库:12、Carto,包含操作2D地图的对象。支持2D地图的创建和显示。提供Map和PageLayout等基础对象。提供MapDocument对象来操作地图文档。,ArcGIS Engine类库:13、Network Analiysis,提供用于在地理数据库中加载和分析网络数据的对象。开发者可以扩展NetworkAnaliysis类库,以便支持自定义的网络追踪。该类库的目的在于操作公共网络:供气管线、供电网络等。,ArcGIS Engine类库:14、Controls,用来构建或扩展具有ArcGIS 功能的应用程序。提
21、供一系列的开发控件,通过封装ArcObjects,提供粗颗粒度的API来简化开发过程。提供HookHelper对象,简化命令操作的创建。,ArcGIS Engine类库:15、GeoAnalyst,包含支持核心空间分析功能的对象。这些功能用在SpatialAnalyst和3DAnalyst两个类库中。开发者可以通过创建新类型的栅格操作来扩展GeoAnalyst类库。,ArcGIS Engine类库:16、3D Analyst,包含操作3D场景的对象。主要对象为:Scene。运行时需要3D许可选项,ArcGIS Engine类库:17、Spatial Analyst,包含在栅格数据和矢量数据上执
22、行空间分析的对象。通常是直接使用给类库中的对象,不做扩展。运行时需要空间分析选项许可。,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控件概念,嵌
23、入式组件一每个ArcGIS控件都是嵌入式组件,可以拖放到可视化设计环境提供的容器窗体或对话框中。一旦放在了容器内,就可以改变ArcGIS控件的大小和位置,以便与其他嵌入式组件一起为应用程序提供用户界面。,ArcGIS Engine控件概念,属性页 一旦控件被放入了容器中,就可以使用右键点击该控件来弹出属性页面,可以方便的访问控件的属性和方法,减少代码的编写工作量。,ArcGIS Engine控件概念,封装ArcObjects一每个ArcGIS控件都封装了粗颗粒度的ArcObjects,同时又提供对细颗粒度的ArcObjects的访问,简化了开发过程。一如PageLayoutControl封装了
24、PageLayout对象,PageLayout对象至少包含一个Map对象,而Map对象又可以包含一个或者多个图层对象。一ArcGIS控件是开发程序的起点,通过他们可以直接快速进入开发的对象模型。,事件一每个ArcGIS控件都会响应终端用户的键盘和鼠标交互而触发的事件。一在事件中加入响应交互的处理代码。,ArcGIS Engine控件概念,伙伴控件一这种类型的ArcGIS控件不能单独使用,需要和另外一个控件一起协同工作。一ToolbarControl和TOCControl是伙伴控件一对应的伙伴控件一般为:MapControl、PageLayoutControl、ReaderControl、Sce
25、neControl或GlobeControl控件。一可以通过属性页面来设置伙伴控件的关联属性。,ArcGIS Engine控件概念,控件命令一ArcGIS Engine提供了一系列的命令、工具和菜单与ArcGIS控件系统工作。如放大、缩小、漫游等等。一开发人员也可以通过创建自己定义的命令、工具和菜单来使用ArcGIS Engine提供的命令集。一可以使用HookHelper、GlobeHookHelper和SceneHookHelper等对象来简化自定义的命令。,ArcGIS Engine控件概念,提供超过100个工具和命令,ArcGIS Engine控件概念,地图制作一ArcGIS控件可以装
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ArcGISEngine 培训 教程
链接地址:https://www.31ppt.com/p-6501620.html