arcengine的基本知识

上传人:今*** 文档编号:107114791 上传时间:2019-10-18 格式:PPT 页数:47 大小:2.27MB
返回 下载 相关 举报
arcengine的基本知识_第1页
第1页 / 共47页
arcengine的基本知识_第2页
第2页 / 共47页
arcengine的基本知识_第3页
第3页 / 共47页
arcengine的基本知识_第4页
第4页 / 共47页
arcengine的基本知识_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《arcengine的基本知识》由会员分享,可在线阅读,更多相关《arcengine的基本知识(47页珍藏版)》请在金锄头文库上搜索。

1、第八章 ArcEngine的基本知识,主要内容,ESRI产品体系 ArcEngine简介 对象模型图 ArcEngine类库 开发环境,1.ESRI产品体系介绍,ArcEngine概览 ArcEngine用户 ArcEngine功能,2.ArcEngine简介,2.1 ArcEngine概览,ArcEngine是开发人员用于建立自定义应用程序的嵌入式GIS组件的一个完整类库。 ArcEngine由一个软件开发工具包和一个可以重新分发的、为所有ArcGIS应用程序提供平台的运行时(runtime)组成。,2.1 ArcEngine概览,基本服务:由GIS核心AO构成,几乎所有GIS应用程序都需要

2、。 数据存取:ArcEngine可以对许多栅格和矢量格式进行存取,包括强大的地理数据库。 地图表达:包括用于创建和显示带有符号体系和标注功能的地图的AO及包括创建自定义应用程序的专题制图功能的AO。 开发组件:用于快速应用程序开发的高级用户接口控件和用于高效开发的综合帮助系统。 运行时选项:ArcEngine运行时可以与标准功能或其他高级功能一起部署。,2.1 ArcEngine概览,ArcEngine软件开发工具包 ArcEngine开发工具包是一个基于组件的软件开发产品,用于建立和部署自定义GIS和制图应用程序。该开发工具包不是一个终端用户产品,而是一个应用程序开发人员的工具包。可以用Ar

3、cEngine开发工具包建立基本的地图浏览器或综合、动态的GIS编辑工具。 ArcEngine开发工具包可以访问GIS组件或ArcObjects的大型集合,这些GIS组件或AO分别属于基本服务、数据存取、地图表达和开发组件。 ArcEngine提供的可视化组件有:MapControl、SceneControl、PageLayoutControl、GlobeControl、ToolbarControl、TOCControl、ReaderControl等。,2.1 ArcEngine概览,MapControl:类似于ArcMap桌面应用软件的数据视图界面,用于容纳各种地图对象。 PageLayou

4、tControl:类似于ArcMap桌面应用软件的地图编排界面,用于容纳各种地图编排对象。 TocControl:服务于“buddy”控件,包括MapControl、 PageLayoutControl、ReaderControl、SceneControl或G1obeControl。用树形视图交换显示“buddy”控件显示的地图、图层和符号的内容。 ToolbarControl:服务于“buddy”控件,包括MapControl、PageLayoutControl、ReaderControl、SceneControl、GIobeControl。是为“buddy”控件提供各种服务的命令、工具和菜

5、单的面板。,2.1 ArcEngine概览,SceneControl:三维场景显示控件。 GIobeControl:全球三维视图控件,能够利用真实椭球面定位数据显示全球三维视图。 ReadControl:该控件显示数据视图、地图编排视图和控件显示内容。,2.2 ArcEngine用户,独立应用程序开发人员 ArcGIS Desktop用户 ArcGIS Server用户,2.3 ArcEngine功能,显示具有多个图层 地图漫游和缩放 识别地图上的要素 搜索和查找地图上的要素 显示字段值的文本标注 绘制航空相片或卫星影像 绘制描述性文本 用线、框、区域、多边形和圆选择要素 选择与某些要素的距离

6、在一定范围内的要素 用SQL表达式查找和选择要素,2.3 ArcEngine功能,用专题方法为要素着色 动态显示实时或时间序列数据 通过地理编码地址或街道交叉口在地图上查找位置 转换地图数据的坐标系统 在要素几何形状上执行几何操作以创建缓冲区、计算差异、发现交叉、合并或反交叉 处理要素形状或反旋转地图 创建和更新地理要素及其属性,2.3 ArcEngine功能,编辑要素:使用ArcEngine开发工具包建立能在地理数据库或Shapefile中创建、修改和删除矢量要素的应用程序。 空间建模和分析:用户可以通过增加ArcEngine运行时的空间选项来扩展其功能。可创建、查询、制图和分析基于像元的栅

7、格数据;执行栅格-矢量一体化分析;从现有数据生成新的信息;跨多个数据层查询信息等。 三维可视化及其他:ArcEngine运行时3D选项进一步扩展了其功能,使开发人员可以用Scene和Globe控件建立高效可视化和分析表面和全球数据的应用程序。 街道级数据:StreetMap USA提供了全美详细的街道数据。,3.对象模型图,了解和使用对象模型图在学习ArcEngine中是非常有益的,重点对对象模型图的相关概念进行介绍。 类和对象 类与类之间的关系,3.1 类和对象,在ArcEngine的对象模型图中,有三种类:abstract class(抽象类)、class(可实例化类,即类)、coclas

8、s(可创建类或组件类)。,3.2 类与类之间的关系,4.ArcEngine类库,组件对象库是可编程ArcObjects组件的集合,包括几何图形到制图、GIS数据源和geodatabas等一系列库。ArcEngine组件库有1800多个组件对象,这些组件按功能分别归属于不同的组件库。 理解类库结构、它们的依赖关系和基本功能将有助于开发人员了解ArcEngine的组件。,4.ArcEngine类库,4.ArcEngine类库,System类库: System类库是ArcGIS体系结构中最底层的类库。System类库包含给构成ArcGIS的其他类库提供服务的组件。System类库中定义了大量开发者可

9、以实现的接口。 AoInitializer对象就是在System类库中定义的,所有的开发者必须使用这个对象来初始化ArcEngine和解除ArcEngine的初始化。开发者不能扩展这个类库,但可以通过实现这个类库中包含的接口来扩展ArcGIS系统。,4.ArcEngine类库,SystemUI类库:SystemUI类库包含用户界面组件接口定义,这些用户界面组件可以在ArcEngine中进行扩展,包含ICommand、ITool和IToolControl接口。开发者用这些接口来扩展UI组件。这个类库中包含的对象是一些实用工具对象,开发人员可以通过使用这些对象简化用户界面的开发。开发者不能扩展这个

10、类库,但可以通过实现这个类库中包含的接口来扩展ArcGIS系统。,4.ArcEngine类库,Geometry类库:该类库处理存储在要素类中的要素几何图形或形状或其他图形元素。大多数用户会遇到的基本几何图形对象为Point、MultiPoint、Polyline和Polygon。除了这些顶级实体外,就是作为多义线和多边形的组成部分的几何图形,是组成几何图形的子要素,它们是Segment、Path和Ring。 GIS中的实体指的是现实世界中的要素。现实世界中要素的位置由一个带有空间参考的几何图形来定义。空间参考对象,包括投影坐标和地理坐标系统,都包含在Geometry类库中。开发者可以通过添加新

11、的空间参考和投影来扩展空间参考系统。,4.ArcEngine类库,Display类库:Display类库包含用于显示GIS数据的对象。除了负责实际输出图像的主要显示对象外,这个类库还包含表示符号和颜色的对象,它们用来控制绘制实体的属性。Display类库还包含在与显示交互时提供给用户可视化反馈的对象。开发者与Display最常用的交互方式就是类似于Map对象或PageLayout对象提供的视图。Display类库的所有部分都能进行扩展;通常扩展的对象包括符号、颜色和显示反馈。,4.ArcEngine类库,Server类库:Server类库包含允许用户连接并操作ArcGIS Server的对象。

12、开发人员用GISServerConnection对象来访问ArcGIS Server。通过GISServerConnection可以访问ServerObjectManager对象。用这个对象,开发人员可以操作ServerContext对象,以处理运行于服务器上的ArcObjects。开发人员还可以用GISClient类库与ArcGIS Server进行交互。,4.ArcEngine类库,Output类库:Output类库用于创建图形输出到诸如打印机和绘图仪等设备及诸如增强型元文件和栅格图像格式(JPG、BMP等)等硬拷贝格式。开发人员用这个类库中的对象及ArcGIS系统的其他部分创建图形输出。

13、通常是Display和Carto类库中的对象。开发者可以为自定义设备和输出格式扩展Ouput类库。,4.ArcEngine类库,Geodatabase类库:GeoDatabase类库为地理数据库提供了编程API。地理数据库是建立在标准工业关系型和对象关系数据库技术之上的地理数据仓库。GeoDatabase类库中的对象为ArcGIS支持的所有数据源提供了一个统一编程模型。GeoDatabase类库定义了许多由ArcObjects架构中更高级的数据源提供者实现的接口。开发者可以扩展地理数据库,以支持特定类型的数据对象(要素、类等);此外,GeoDatabase类库还有用PlugInDataSour

14、ce对象添加的自定义矢量数据源。,4.ArcEngine类库,GISClient类库:GISClient类库允许开发者使用Web服务,这些Web服务可以由ArcIMS和ArcGIS Server提供。GISClient类库中包含用于连接GIS服务器以使用Web服务的对象。该类库支持ArcIMS的图像和要素服务。在ArcGIS Server上运行的ArcObjects组件不能通过GISClient接口来访问。要直接获得访问在服务器上运行的ArcObjects,开发人员应使用Server类库中的功能。,4.ArcEngine类库,DataSourceFile类库:DataSourcesFile类库

15、包含用于基于文件数据源的GeoDatabase API实现。这些基于文件的数据源包括shapefile、coverage、TIN、CAD、SDC、StreetMap和VPF。开发者不能扩展DataSourcesFile类库。,4.ArcEngine类库,DataSourceGDB类库:DataSourcesGDB类库包含用于数据库数据源的GeoDatabase API实现。这些数据源包括Microsoft Access和ArcSDE支持的关系型数据库管理系统-IBM、DB2、Informix、Microsoft SQL Server和Oracle。开发者不能扩展DataSourcesGDB类库

16、。,4.ArcEngine类库,DataSourceOleDB类库:DataSourcesOleDB类库包含用于Microsoft OLEDB数据源的GeometryDatabase API实现。此类库只能用在Microsoft Windows操作系统上。这些数据源包括支持数据提供者和文本文件工作空间的所有OLEDB。开发者不能扩展DataSourcesOleDB类库。,4.ArcEngine类库,DataSourceRaster类库:DataSourcesRaster类库包含用于栅格数据源的GeoDatabase API实现。这些数据源包括ArcSDE支持的关系型数据库管理系统-IBM、DB2、Informix、Microsoft SQL Server和Oracle,以及其支持的RDO(Raster Data Object)栅格文件格式。当需要支持新的栅格格式时,开发者不扩展这个类库,而是扩展RDO。开发者不能扩展DataSourcesRaster类库。,4.ArcEngine类库,GeoDatabaseDistributed类库: GeoDatabaseDistributed类

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号