请输入您要查询的百科知识:

 

词条 ArcGIS Engine
释义

ArcGIS是美国ESRI(Environmental Systems Research Institute, Inc. 美国环境系统研究所公司)推出的一条为不同需求层次用户提供的全面的、可伸缩的GIS产品线和解决方案。ESRI是GIS领域的拓荒者和领导者,而ArcGIS也代表了当前GIS行业最高的技术水平。

ArcGIS Engine是ESRI在ArcGIS9版本才开始推出的新产品,它是一套完备的嵌入式GIS 组件库和工具库,使用ArcGIS Engine开发的GIS应用程序可以脱离ArcGIS Desktop而运行。ArcGIS Engine面向的用户并不是最终使用者,而是GIS项目程序开发员。对开发人员而言,ArcGIS Engine不再是一个终端应用,不再包括ArcGIS桌面的用户界面,它只是一个用于开发新应用程序的二次开发功能组件包。

在ArcGIS Engine产品出现之前,使用ArcGIS开发自定义GIS功能有3种方法:在ArcGIS Desktop软件的VBA环境中编写代码;使用支持COM技术的编程语言,通过实现ArcObjects开放的特定接口编写能够嵌入ArcGIS Desktop的DLL文件;使用ArcObjects包含的可视化控件MapControl和PageLayoutControl控件开发具有独立界面的GIS应用程序。这3种开发方式都要求客户端必须安装一定级别的ArcGIS Desktop产品,因此产品的部署成本非常高昂。

由于GIS行业的特殊性,最终用户一般都希望使用与自己业务逻辑相适合的自定义界面GIS系统而不是商业软件成品,因此GIS行业从一开始对于定制业务的需求就非常迫切。ArcGIS Engine之前普遍使用的二次开发组件包括ESRI的MapObjects和MapInfo公司的MapX等产品,它们也可以让程序员们使用不同的程序语言和开发环境,建构具有独立界面的GIS程序。

由于MapObjects本身只是一个ActiveX控件,与ESRI ArcGIS的核心库ArcObjects不存在任何联系,因此,ArcGIS中的许多高级GIS功能无法在MapObjects中实现。为了改变这种情况,ESRI将ArcObjects中的一部分组件重新包装后命名为ArcGIS Engine发布,这个产品取代MapObjects进入嵌入式GIS开发领域,同时,MapObjects在3.2版后已经退出了市场,ESRI不会再为这个产品开发下一个版本。

ArcGIS产品框架 ArcGIS是一个可伸缩的GIS平台,可以运行在桌面端、服务器端和移动设备上。它包含了一套建设完整GIS系统的应用软件,这些软件可以互相独立或集成配合使用,为不同需求的用户提供完善的解决之道。

ArcGIS的主要产品包括4种:

ArcGIS Desktop——运行在桌面端的专业GIS软件套件,这套软件包括ArcReader、ArcView、ArcEditor和ArcInfo四个级别的产品,每个产品都拥有逐步增强的功能和ArcGIS扩展模块。

ArcGIS Engine——为开发嵌入式GIS和独立运行的GIS桌面端应用程序而推出的二次开发组件库,它是GIS开发者产品的主要部分。

服务器端GIS——ArcIMS、ArcGIS Server和ArcGIS Image Server,它们是运行在服务器端的数据管理和发布软件,也是ESRI产品发展的趋势。

移动GIS——ArcPad及ArcGIS Mobile,它们是运行在PDA等移动设备上的GIS软件。

ArcGIS是基于一套共享的GIS组件开发实现的,这套组件被命名为ArcObjects,它包含了大量可编程组件,实现了ArcGIS的全部功能。因此,ArcObjects可以被认为是ArcGIS产品的核心,熟悉ArcObjects的过程同时也是熟悉ArcGIS Engine的过程。关于ArcObjects的基础知识,读者可以翻阅相关书籍。

ArcGIS可以访问的数据包括各种类型的文件型数据、多用户DBMS数据、Web Service和多种应用程序数据通道。

ArcGIS目前的最新稳定版本是9.2版,ArcGIS 9.2的最新架构如下所示。

ArcGIS9.2架构

ArcGIS 9.2的架构设计较之以前的版本发生了重大的变化,这些变化主要包括以下几个方面。

n ArcGIS Desktop:提供给了用户更加强大的数据编辑功能、更好的制图效果,以及数据互操作模块和分析建模工具等。

n ArcGIS Engine产品提供了更丰富的功能,它们包括新的如Data Interoperability、Maplex、Schematics和Tracking等扩展模块,新的符号控件,新的内置commands、tools、menus和模板等;此外,ArcGIS Engine还可以直接调用Geoprocessing的各种功能,能够极大地简化开发人员的代码编写工作。

n GeoDatabase:在ArcGIS9.2版中,GeoDatabase有了很大的改进,它增加了一种基于二进制文件格式的GeoDatabase——File GeoDatabase,这种数据存储在文件系统的一个文件夹中,每个数据集都作为一个文件而存在,每个表文件的空间能够达到1TB。它是一种跨平台的中立数据格式,其性能比基于MDB数据库的Personal GeoDatabase好;单用户,不支持版本;其压缩数据格式是一种只读的File GeoDatabase。

n ArcSDE:ESRI在ArcGIS 9.2中丰富了ArcSDE GeoDatabase类型。这个产品目前分为以下3种级别。

l Personal ArcSDE:ArcEditor和ArcInfo用户可以使用MS SQL Express数据库来搭建ArcSDE GeoDatabase,它支持3个数据连接,其中一个是可编辑用户。其存储数据量依赖SQL Server Express,最大可以达到4GB。

l Workgroup ArcSDE:ArcGIS Server for Workgroups版本的用户可以使用此级别的ArcSDE GeoDatabase,它有10个同时编辑用户,最大数据量也为4GB。

l Enterprise ArcSDE:传统的基于Oracle等大型关系型数据库的ArcSDE仍然可以进行使用。

n ArcIMS:ArcIMS已经开始面临被ArcGIS Server取代的命运,但到9.2版为止,对ArcIMS的改进仍然在继续,这些改变包括使用ArcIMS的ADF(Application Developer Framework)产生web上的电子地图;使用AJAX技术增强客户端体验;提供更快的元数据服务和更高的系统安全性等。

n ArcGIS Server:ESRI认为基于服务器的计算和空间服务是GIS行业发展的方向,而ArcGIS Server非常适合作为新的基于服务器的GIS平台。在支持高性能Web制图功能的同时,ArcGIS Server9.2还提供了功能完整的,充分利用了ArcGIS空间分析工具和功能实现的、面向服务的解决方案。

在ArcGIS 9.2所有这些变化中,最重要的部分是ArcGIS开始由桌面端、组件式GIS全面向基于Web的GIS Service转变,ArcGIS Server得到了极大的改进和增强,成为一个成熟的软件产品。ArcGIS产品提供了一个强大的基于服务器的全功能平台,可以在其上建构完整的GIS业务逻辑,而这些是过去只有在专业桌面产品上才具备的GIS功能。这个转变,意味着将来建立真正意义上的本地、全国或全球范围内的GIS资源网络成为可能。1.3.2 GIS开发组件——ArcGIS Engine

在ArcGIS Engine产品出现之前,使用ArcGIS开发自定义GIS功能有3种方法:在ArcGIS Desktop软件的VBA环境中编写代码;使用支持COM技术的编程语言,通过实现ArcObjects开放的特定接口编写能够嵌入ArcGIS Desktop的DLL文件;使用ArcObjects包含的可视化控件MapControl和PageLayoutControl控件开发具有独立界面的GIS应用程序。这3种开发方式都要求客户端必须安装一定级别的ArcGIS Desktop产品,因此产品的部署成本非常高昂。

ArcGIS Engine组件库中的组件在逻辑上可以分为5个部分,这个划分如下所示。

Base Services包含了ArcGIS Engine中最核心的ArcObjects组件,几乎所有的GIS组件都需要调用它们,如Geometry和Display等。

Data Access包含了访问包含矢量或栅格数据的GeoDatabase所有的接口和类组件。

Map Presentation包含了GIS应用程序用于数据显示、数据符号化、要素标注和专题图制作等需要的组件。

Developer Components包含了进行快速开发所需要的全部可视化控件,如SymbologyControl、GlobeControl、MapControl、PageLayoutControl、SceneControl、TOCControl、ToolbarControl和LicenseControl控件等。除了这些,该库还包括大量可以由ToolbarControl调用的内置commands、tools和menus,它们可以极大地简化二次开发工作。

Extensions包含了许多高级功能,如GeoDatabase Update、空间分析、三维分析、网络分析和数据互操作等。ArcGIS Engine标准版License并不包含这些ArcObjects组件的许可,它们只是作为一个扩展而存在,需要特定的License才能运行。

1、基本服务(Base Services):由GIS核心Arc Objects的组件构成,几乎所有的GIS组件都需要调用它们,如Geometry和Display等。

2、数据存取(Data Access):对许多矢量或栅格数据进行存取,包括强大而灵活的地理数据库。

3、地图表达(Map Presentation):包括用于创建和显示带有符号体系和标注功能的地图的Arc Objects,以及包括创建自定义应用程序的专题图功能的Arc Objects。

4、开发组件(Developer Components):用于快速应用程序开发的高级用户接口控件和高效开发的一个综合帮助系统。包含了进行快速开发所需要的全部可视化控件,如SymbologyControl、GlobeControl、MapControl、PageLayoutControl、SceneControl、TOCControl、ToolbarControl和LicenseControl控件等。除了这些,该库还包括大量可以由ToolbarControl调用的内置commands、tools和menus,它们可以极大地简化二次开发工作。

5、扩展功能(Extensions):包含了许多高级功能,如GeoDatabase Update、空间分析、三维分析、网络分析和数据互操作等。ArcGIS Engine标准版License并不包含这些ArcObjects组件的许可,它们只是作为一个扩展而存在,需要特定的License才能运行。

作为一个开发者,你能够在程序中实现下列功能:

显示多图层的地图,如道路、河流和边界

地图的漫游和缩放

在地图上识别要素

在地图上查询要素

显示航片或卫片

绘制图形要素,如点、线、圆和多边形

绘制描述性文本

以线、选择框、区域、多边形和圆来选择要素

以要素缓冲区进行选择

以结构化查询语句( SQL )查找和选择要素

以专题符号化方法显示要素,如独立值图、分类图和点密度图

动态显示实时或时序数据

从街道地址或交叉点寻找位置

转换地图数据的坐标系统

对要素进行几何操作,生成缓冲区、计算不同部分、寻找交叉点、合并等

修改要素形状或旋转地图

新建和更新要素的几何形状和属性

操作个人和企业级 geodatabase

开发者可以选择集成开发环境( IDE )来建立 ArcGIS Engine 应用程序,如Windows 程序员使用的 Delphi 和 Visual Studio ,Java 程序员使用的 JBuilder 、 Eclipse 和 Sun ONE Studio 。开发者在他们的 IDE 中注册 ArcGIS Engine 开发组件,然后创建基于窗体的应用程序,添加 ArcGIS Engine 组件并编写代码来建立应用逻辑。例如,你能够建立一个面向 GIS 制图的应用程序,在自己的应用程序中添加一个地图控件、目录表控件和选中的工具条。

尽管能够通过高级控件建立简单的应用,但是实用的 ArcGIS Engine 应用程序需要不同对象库的相关知识。

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2024/12/23 22:23:57