




已阅读5页,还剩42页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第八章ArcEngine的基本知识,主要内容,ESRI产品体系ArcEngine简介对象模型图ArcEngine类库开发环境,1.ESRI产品体系介绍,ArcEngine概览ArcEngine用户ArcEngine功能,2.ArcEngine简介,2.1ArcEngine概览,ArcEngine是开发人员用于建立自定义应用程序的嵌入式GIS组件的一个完整类库。ArcEngine由一个软件开发工具包和一个可以重新分发的、为所有ArcGIS应用程序提供平台的运行时(runtime)组成。,2.1ArcEngine概览,基本服务:由GIS核心AO构成,几乎所有GIS应用程序都需要。数据存取:ArcEngine可以对许多栅格和矢量格式进行存取,包括强大的地理数据库。地图表达:包括用于创建和显示带有符号体系和标注功能的地图的AO及包括创建自定义应用程序的专题制图功能的AO。开发组件:用于快速应用程序开发的高级用户接口控件和用于高效开发的综合帮助系统。运行时选项:ArcEngine运行时可以与标准功能或其他高级功能一起部署。,2.1ArcEngine概览,ArcEngine软件开发工具包ArcEngine开发工具包是一个基于组件的软件开发产品,用于建立和部署自定义GIS和制图应用程序。该开发工具包不是一个终端用户产品,而是一个应用程序开发人员的工具包。可以用ArcEngine开发工具包建立基本的地图浏览器或综合、动态的GIS编辑工具。ArcEngine开发工具包可以访问GIS组件或ArcObjects的大型集合,这些GIS组件或AO分别属于基本服务、数据存取、地图表达和开发组件。ArcEngine提供的可视化组件有:MapControl、SceneControl、PageLayoutControl、GlobeControl、ToolbarControl、TOCControl、ReaderControl等。,2.1ArcEngine概览,MapControl:类似于ArcMap桌面应用软件的数据视图界面,用于容纳各种地图对象。PageLayoutControl:类似于ArcMap桌面应用软件的地图编排界面,用于容纳各种地图编排对象。TocControl:服务于“buddy”控件,包括MapControl、PageLayoutControl、ReaderControl、SceneControl或G1obeControl。用树形视图交换显示“buddy”控件显示的地图、图层和符号的内容。ToolbarControl:服务于“buddy”控件,包括MapControl、PageLayoutControl、ReaderControl、SceneControl、GIobeControl。是为“buddy”控件提供各种服务的命令、工具和菜单的面板。,2.1ArcEngine概览,SceneControl:三维场景显示控件。GIobeControl:全球三维视图控件,能够利用真实椭球面定位数据显示全球三维视图。ReadControl:该控件显示数据视图、地图编排视图和控件显示内容。,2.2ArcEngine用户,独立应用程序开发人员ArcGISDesktop用户ArcGISServer用户,2.3ArcEngine功能,显示具有多个图层地图漫游和缩放识别地图上的要素搜索和查找地图上的要素显示字段值的文本标注绘制航空相片或卫星影像绘制描述性文本用线、框、区域、多边形和圆选择要素选择与某些要素的距离在一定范围内的要素用SQL表达式查找和选择要素,2.3ArcEngine功能,用专题方法为要素着色动态显示实时或时间序列数据通过地理编码地址或街道交叉口在地图上查找位置转换地图数据的坐标系统在要素几何形状上执行几何操作以创建缓冲区、计算差异、发现交叉、合并或反交叉处理要素形状或反旋转地图创建和更新地理要素及其属性,2.3ArcEngine功能,编辑要素:使用ArcEngine开发工具包建立能在地理数据库或Shapefile中创建、修改和删除矢量要素的应用程序。空间建模和分析:用户可以通过增加ArcEngine运行时的空间选项来扩展其功能。可创建、查询、制图和分析基于像元的栅格数据;执行栅格-矢量一体化分析;从现有数据生成新的信息;跨多个数据层查询信息等。三维可视化及其他:ArcEngine运行时3D选项进一步扩展了其功能,使开发人员可以用Scene和Globe控件建立高效可视化和分析表面和全球数据的应用程序。街道级数据:StreetMapUSA提供了全美详细的街道数据。,3.对象模型图,了解和使用对象模型图在学习ArcEngine中是非常有益的,重点对对象模型图的相关概念进行介绍。类和对象类与类之间的关系,3.1类和对象,在ArcEngine的对象模型图中,有三种类:abstractclass(抽象类)、class(可实例化类,即类)、coclass(可创建类或组件类)。,3.2类与类之间的关系,4.ArcEngine类库,组件对象库是可编程ArcObjects组件的集合,包括几何图形到制图、GIS数据源和geodatabas等一系列库。ArcEngine组件库有1800多个组件对象,这些组件按功能分别归属于不同的组件库。理解类库结构、它们的依赖关系和基本功能将有助于开发人员了解ArcEngine的组件。,4.ArcEngine类库,4.ArcEngine类库,System类库:System类库是ArcGIS体系结构中最底层的类库。System类库包含给构成ArcGIS的其他类库提供服务的组件。System类库中定义了大量开发者可以实现的接口。AoInitializer对象就是在System类库中定义的,所有的开发者必须使用这个对象来初始化ArcEngine和解除ArcEngine的初始化。开发者不能扩展这个类库,但可以通过实现这个类库中包含的接口来扩展ArcGIS系统。,4.ArcEngine类库,SystemUI类库:SystemUI类库包含用户界面组件接口定义,这些用户界面组件可以在ArcEngine中进行扩展,包含ICommand、ITool和IToolControl接口。开发者用这些接口来扩展UI组件。这个类库中包含的对象是一些实用工具对象,开发人员可以通过使用这些对象简化用户界面的开发。开发者不能扩展这个类库,但可以通过实现这个类库中包含的接口来扩展ArcGIS系统。,4.ArcEngine类库,Geometry类库:该类库处理存储在要素类中的要素几何图形或形状或其他图形元素。大多数用户会遇到的基本几何图形对象为Point、MultiPoint、Polyline和Polygon。除了这些顶级实体外,就是作为多义线和多边形的组成部分的几何图形,是组成几何图形的子要素,它们是Segment、Path和Ring。GIS中的实体指的是现实世界中的要素。现实世界中要素的位置由一个带有空间参考的几何图形来定义。空间参考对象,包括投影坐标和地理坐标系统,都包含在Geometry类库中。开发者可以通过添加新的空间参考和投影来扩展空间参考系统。,4.ArcEngine类库,Display类库:Display类库包含用于显示GIS数据的对象。除了负责实际输出图像的主要显示对象外,这个类库还包含表示符号和颜色的对象,它们用来控制绘制实体的属性。Display类库还包含在与显示交互时提供给用户可视化反馈的对象。开发者与Display最常用的交互方式就是类似于Map对象或PageLayout对象提供的视图。Display类库的所有部分都能进行扩展;通常扩展的对象包括符号、颜色和显示反馈。,4.ArcEngine类库,Server类库:Server类库包含允许用户连接并操作ArcGISServer的对象。开发人员用GISServerConnection对象来访问ArcGISServer。通过GISServerConnection可以访问ServerObjectManager对象。用这个对象,开发人员可以操作ServerContext对象,以处理运行于服务器上的ArcObjects。开发人员还可以用GISClient类库与ArcGISServer进行交互。,4.ArcEngine类库,Output类库:Output类库用于创建图形输出到诸如打印机和绘图仪等设备及诸如增强型元文件和栅格图像格式(JPG、BMP等)等硬拷贝格式。开发人员用这个类库中的对象及ArcGIS系统的其他部分创建图形输出。通常是Display和Carto类库中的对象。开发者可以为自定义设备和输出格式扩展Ouput类库。,4.ArcEngine类库,Geodatabase类库:GeoDatabase类库为地理数据库提供了编程API。地理数据库是建立在标准工业关系型和对象关系数据库技术之上的地理数据仓库。GeoDatabase类库中的对象为ArcGIS支持的所有数据源提供了一个统一编程模型。GeoDatabase类库定义了许多由ArcObjects架构中更高级的数据源提供者实现的接口。开发者可以扩展地理数据库,以支持特定类型的数据对象(要素、类等);此外,GeoDatabase类库还有用PlugInDataSource对象添加的自定义矢量数据源。,4.ArcEngine类库,GISClient类库:GISClient类库允许开发者使用Web服务,这些Web服务可以由ArcIMS和ArcGISServer提供。GISClient类库中包含用于连接GIS服务器以使用Web服务的对象。该类库支持ArcIMS的图像和要素服务。在ArcGISServer上运行的ArcObjects组件不能通过GISClient接口来访问。要直接获得访问在服务器上运行的ArcObjects,开发人员应使用Server类库中的功能。,4.ArcEngine类库,DataSourceFile类库:DataSourcesFile类库包含用于基于文件数据源的GeoDatabaseAPI实现。这些基于文件的数据源包括shapefile、coverage、TIN、CAD、SDC、StreetMap和VPF。开发者不能扩展DataSourcesFile类库。,4.ArcEngine类库,DataSourceGDB类库:DataSourcesGDB类库包含用于数据库数据源的GeoDatabaseAPI实现。这些数据源包括MicrosoftAccess和ArcSDE支持的关系型数据库管理系统-IBM、DB2、Informix、MicrosoftSQLServer和Oracle。开发者不能扩展DataSourcesGDB类库。,4.ArcEngine类库,DataSourceOleDB类库:DataSourcesOleDB类库包含用于MicrosoftOLEDB数据源的GeometryDatabaseAPI实现。此类库只能用在MicrosoftWindows操作系统上。这些数据源包括支持数据提供者和文本文件工作空间的所有OLEDB。开发者不能扩展DataSourcesOleDB类库。,4.ArcEngine类库,DataSourceRaster类库:DataSourcesRaster类库包含用于栅格数据源的GeoDatabaseAPI实现。这些数据源包括ArcSDE支持的关系型数据库管理系统-IBM、DB2、Informix、MicrosoftSQLServer和Oracle,以及其支持的RDO(RasterDataObject)栅格文件格式。当需要支持新的栅格格式时,开发者不扩展这个类库,而是扩展RDO。开发者不能扩展DataSourcesRaster类库。,4.ArcEngine类库,GeoDatabaseDistributed类库:GeoDatabaseDistributed类库通过提供地理数据库数据导入和导出工具,可以支持对企业级地理数据库的分布式访问。开发者不能扩展GeoDatabaseDistributed类库。,4.ArcEngine类库,Carto类库:Carto类库支持地图的创建和显示,这些地图可以在一幅地图或由许多地图及其地图元素组成的页面中包含数据。PageLayout对象是驻留一幅或多幅地图及其地图元素的容器。地图元素包括指北针、图例、比例尺等。Map对象包括地图上所有图层都有的属性空间参考、地图比例尺等,以及操作地图图层的方法。Map和PageLayout对象并不是Carto类库中提供地图和页面绘制的仅有对象。MxdServer和MapServer对象都支持地图和页面的绘制,但不是绘制到窗口中,而是绘制到文件中。,4.ArcEngine类库,Location类库:Location类库包含支持地理编码和操作路径事件的对象。地理编码功能可以通过细粒度对象来完全控制访问,或通过GeocodeServer对象提供的简化API来访问。开发者可以创建自己的地理编码对象。线性参考功能提供对象用于向线性要素要素添加事件,用各种绘制方法来绘制这些事件。,4.ArcEngine类库,NetworkAnalysis类库:NetworkAnalysis类库提供用于在地理数据库中加载网络数据的对象并提供对象用于分析加载到地理数据库中的网络。开发者可以扩展NetworkAnalysis类库以便自定义网络追踪。这个类库目的在于操作公共网络:供气管线、电力供应线网等。,4.ArcEngine类库,Controls类库:开发者用Controls类库来构建或扩展具有ArcGIS功能的应用程序。ArcGISControls通过封装ArcObjects并提供粗粒度的API简化了开发过程。尽管这些控件封装了细粒度的ArcObjects,但是并不限制对这些细粒度的ArcObjects的访问。MapControl和PageLayoutControl分别封装了Carto类库的Map和PageLayout对象。ReaderControl同时封装了Map和PageLayout对象。开发者通过创建自己的用于操作控件的命令和工具来扩展Controls类库。,4.ArcEngine类库,GeoAnalyst类库:GeoAnalyst类库包含支持核心空间分析功能的对象。这些功能用在SpatialAnalyst和3DAnalyst两个类库中。开发者可以通过创建新类型的栅格操作来扩展GeoAnalyst类库。为
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025浙江嘉兴南湖嘉禾商务咨询有限公司招聘3人笔试参考题库附带答案详解
- 2025河北保定钞票纸业有限公司人员招聘29人笔试参考题库附带答案详解
- 2025广东中山市三角镇资产经营有限公司招聘管理人员1人笔试参考题库附带答案详解
- 2025年开封市文化旅游投资集团有限公司招聘5人笔试参考题库附带答案详解
- 2025年南京地铁运营有限责任公司秋季招聘笔试参考题库附带答案详解
- 2025天津市今晚网络信息技术股份有限公司招聘40人笔试参考题库附带答案详解
- 2025中国机械工业集团有限公司(国机集团)社会招聘19人笔试参考题库附带答案详解
- 地铁扶梯安全培训课件
- 地铁安全知识培训课件
- 地质队安全培训暨宣誓课件
- 恒瑞医药简介课件
- 甲午中日战争情景剧
- 石油行业安全培训课件
- 国开电大组织行为学任务四调查报告
- 事业单位医学基础知识名词解释
- 施工现场安全监理危险源清单一览表
- GB/T 233-2000金属材料顶锻试验方法
- FZ/T 74003-2014击剑服
- 颈椎DR摄影技术-
- 功能材料概论-课件
- 一点儿有点儿课件
评论
0/150
提交评论