您好,欢迎访问三七文档
当前位置:首页 > 金融/证券 > 股票报告 > ArcGIS Engine开发从入门到精通
内部文档,请勿外传ArcGISEngine10开发手册ESRI中国(北京)有限公司2011年9月内部文档,请勿外传版权声明本文档版权为ESRI中国(北京)有限公司所有。未经本公司书面许可,任何单位和个人不得以任何形式摘抄、复制本文档的部分或全部,并以任何形式传播。内部文档,请勿外传制定及修订记录版本完成日期编写/修订纪要编写者备注V0.12011.3.4文档目录结构林雪淋/刘宇V0.22011.4.8完善控件介绍和空间数据库的介绍刘宇V0.32011.5.18完善栅格数据介绍刘宇V0.42011.6.25完善符号化介绍刘宇V0.52011.7.18完善网络分析功能刘宇V0.6201.8.26完善参考系的介绍刘宇V0.72011.9.3完善几何对象的介绍刘宇内部文档,请勿外传目录1一.ArcGIS介绍..................................................................................................22二.和ArcGISEngine开发相关的C#知识....................................................103三.使用控件创建第一个桌面应用程序........................................................224四.空间数据库................................................................................................715五.几何对象和空间参考..............................................................................1216六.矢量数据空间分析..................................................................................1547七.符号化......................................................................................................1698八.栅格数据分析..........................................................................................2029九.编辑..........................................................................................................23710十.地图输出..................................................................................................26011十一.ArcGISEngine实战................................................................................26312十二.安装部署.................................................................................................303内部文档,请勿外传1一.ArcGIS介绍ArcGIS软件架构1.1ArcGIS是ESRI在全面整合了GIS与数据库、软件工程、人工智能、网络技术及其它多方面的计算机主流技术之后,成功地推出了代表GIS最高技术水平的全系列GIS产品。ArcGIS是一个全面的,可伸缩的GIS平台,为用户构建一个完善的GIS系统提供完整的解决方案。ArcGIS的基本体系能够让用户在任何需要的地方部署GIS功能和业务逻辑,无论是在桌面、服务器、还是在野外:桌面GIS(ArcGISDesktop)—ArcGIS桌面GIS软件产品是用来编辑、设计、共享、管理和发布地理信息和概念。ArcGIS桌面可伸缩的产品结构,从ArcReader,向上扩展到ArcView、ArcEditor和ArcInfo。目前ArcInfo被公认为是功能最强大的GIS产品。通过一系列的可选的软件扩展模块,ArcGISDesktop产品的能力还可以进一步得到扩展。嵌入式GIS(EmbeddedGIS)—ArcGISEngine是一个完整的嵌入式GIS组件库和工具包,开发者能用它创建一个新的、或扩展原有的可定制的桌面应用程序。使用ArcGISEngine,开发者能将GIS功能嵌入到已有的应用程序中,如基于工业标准的产品以及一些商业应用,也可以创建自定义的应用程序,为组织机构中内部文档,请勿外传的众多用户提供GIS功能。服务器GIS(ServerGIS)—ArcGISServer、ArcIMS和ArcSDE用于创建和管理基于服务的GIS应用程序,在大型机构和互联网上众多用户之间共享地理信息。ArcGISServer是一个中心应用服务器,它包含一个可共享的GIS软件对象库,能在企业和Web计算框架中建立服务器端的GIS应用。ArcIMS是通过开放的Internet协议发布地图、数据和元数据的可伸缩的网络地图服务器。ArcSDE是在各种关系型数据库管理系统中管理地理信息的高级空间数据服务器。移动GIS(MobileGIS)—ArcPad,支持GPS的无线移动设备,越来越多地应用在野外数据采集和信息访问中。ArcGIS桌面和ArcGISEngine可以运行在便携式电脑或平板电脑上,用户可以在野外进行数据采集、分析和乃至制定决策。ArcGISEngine介绍1.2ArcGISEngine是一组完备的并且打包的嵌入式GIS组件库和工具库,开发人员可用来创建新的或扩展已有的桌面应用程序。使用ArcGISEngine,开发人员可以将GIS功能嵌入到已有的应用软件中,如自定义行业专用产品;或嵌入到商业生产应用软件中,如MirosoftfWord和Excel;还可以创建集中式自定义应用软件,并将其发送给机构内的多个用户。ArcGISEngine由两个产品组成:构建软件所用的开发工具包以及使已完成的应用程序能够运行的可再发布的Runtime(运行时环境)。ArcGISEngine开发工具包是一个基于组件的软件开发产品,可用于构建自定义GIS和制图应用软件。它并不是一个终端用户产品,而是软件开发人员的工具包,适于为Windows、UNIX或Linux用户构建基础制图和综合动态GIS应用软件。ArcGISEngineRuntime是一个使终端用户软件能够运行的核心ArcObjects组件产品,并且将被安装在每一台运行ArcGISEngine应用程序的计算机上。ArcGISEngine是基于COM技术的可嵌入的组件库和工具包,ArcGISEngine可以帮助我们很轻松的构建自定义应用程序.内部文档,请勿外传使用ArcGISEngine,开发人员可以将GIS功能嵌入到已有的应用软件中,如自定义行业专用产品;或嵌入到商业生产应用软件中,如MirosoftfWord和Excel;还可以创建集中式自定义应用软件,并将其发送给机构内的多个用户。ArcGISEngine由两个产品组成:面向开发人员的软件开发包(ArcGISEngineDeveloperkit)面向最终用户的运行时(ArcGISEngineRuntime)ArcGISEngine开发工具包是一个基于组件的软件开发产品,可用于构建自定义GIS和制图应用软件。它并不是一个终端用户产品,而是软件开发人员的工具包,支持四种开发环境(C++,COM,.NET,以及Java),适于为Windows、UNIX或Linux用户构建基础制图和综合动态GIS应用软件。ArcGISEngineRuntime是一个使终端用户软件能够运行的核心ArcObjects组件产品,并且将被安装在每一台运行ArcGISEngine应用程序的计算机上。ArcGISEngine的逻辑体系结构:◆BaseServices包含了ArcGISEngine中最核心的ArcObjects组件,几乎所有的GIS组件需要调用它们,如Geometry和Display等。◆DataAccess包含了访问矢量或栅格数据的GeoDatabase所有的接口和类组件。◆MapPresentation包含了GIS应用程序用于数据显示、数据符号化、要素标注和专题图制作等需要的接口和类组件。◆DevelperComponents包含了进行快速开发所需要的全部可视化控件,如MapControl、PageLayoutControl、SceneControl、GlobeControl、TOCControl、ToolbarControl、SymbologyControl和LicensenControl控件等,除了这些,该库还包括大量可以有ToolbarControl调用的内置commands、tools、Menus,它们可以极大地简化二次开发工作。◆Extensions在图中我们可看出,ArcGISEngine的开发体系是一条纵线,功能丰富,层次清晰。最上层的Extensions内部文档,请勿外传包含了许多高级开发功能,如GeoDatabaseUpdate、空间分析、三维分析、网络分析、Schematics逻辑示意图以及数据互操作等。ArcGISEngine标准版并不包含这些ArcObjects许可,他们只能作为扩展存在,需要特定的License才能运行。注意:ArcGISEngine运行时有多种版本级别,从标准版本一直到企业版本。标准的ArcGISEngine运行时提供所有ArcGIS应用程序的核心功能。这个级别的ArcGISEngine运行时可以操作几种不同的栅格和矢量格式、进行地图表达和创建以及通过执行各种空间或属性查询查找要素。这个级别的ArcGISEngine运行时还可以进行基本数据创建、编辑Shapefile和简单的个人地理数据库(PersonalGeodatabase)及GIS分析但是如果遇到企业级数据库(ArcGISSDE)数据库的编辑以及复杂数据模型的创建(网络,拓扑)就需要EnterpriseGeodatabaseUpdate许可.ArcGISEngine运行时的标准许可相当于ArcGIS桌面View级别的功能,而EnterpriseGeodatabaseUpdate许可相当于ArcGIS桌面Editor级别的功能.内部文档,请勿外传ArcGISEngine中的类库1.3ArcGISEngine开发中,为了更好的管理这些COM对象,ESRI将这些COM对象放在不同的组件库中,而他们被物理的防盗bin目录下的dll中,而逻辑上被分散到不同的命名空间中,下面我们详细对一些类库进行介绍:VersionVersion库是ArcGIS10新出来的一个类库,该类库包含了将独立应用程序绑定到特定的ArcGIS系列产品的函数和方法,该类库是在运行Engine的应用程序的时候SystemSystem库是ArcGIS架构中最底层的库。该库包含了暴露组成ArcGIS的其它库所使用的服务的组件。System库中定义了许多接口,它们可以由开发者来实现。AoInitializer对象在System中定义;所有开发者必须使用该对象在使用Engine功能的应用程序中初始化和uninitializeArcGISEngine。开发者不扩展该库,但可以通过实现其中的接口来扩展ArcGIS系统。SystemUISystemUI库中包含了可在ArcGISEngine中扩展的用户界面组件的接口定义
本文标题:ArcGIS Engine开发从入门到精通
链接地址:https://www.777doc.com/doc-4338191 .html