http://www.gissky.net- GIS空间站

我要投稿 投稿指南 RSS订阅 网站资讯通告:
搜索: 您现在的位置: GIS空间站 >> 技术专栏 >> ArcGIS >> ArcSDE >> 正文

ArcSDE:企业级地理数据库概述

作者:德里克&#…    文章来源:ESRI中国(北京)有限公司    点击数:    更新时间:2009-1-7
摘要:本文适用于GIS管理人员和数据库管理人员。文中对企业级地理数据库进行了总体介绍,内容包括其主要特征、结构体系和实际运行等。

图1:企业级Geodatabase的层次划分

    地理数据库是ArcGIS自带的数据格式。它可以被看做是一个数据存储容器,定义了ArcGIS中的数据如何被存储、访问和管理。地理数据库这个词结合了地理(空间数据)和数据库(尤其是关系型数据库管理系统,即RDBMS)。ArcGIS 9.2包含三种地理数据库:基于Microsoft Access的个人地理数据库,文件地理数据库和ArcSDE地理数据库。

    个人地理数据库和文件地理数据库是为个体用户和小型项目设计的。ArcSDE地理数据库具有可扩展性,专门为从中等级别到企业级应用这样的较大规模应用设计的。这些地理数据库均依赖于ArcSDE技术。我们可以将ArcSDE地理数据库分为三类(按功能从小到大排列):个人地理数据库(ArcSDE Personal),工作组地理数据库(ArcSDE Workgroup)和企业级地理数据库(ArcSD Enterprise)。本文主要介绍ArcSDE的企业级地理数据库。

了解企业级地理数据库的体系结构

    从概念上讲,一个企业级地理数据库可以看做是一个多层结构:通过在应用层(比如ArcGIS软件)上叠加一个数据存储层(比如RDBMS软件),可以在应用中提供更先进的逻辑和行为方法。应用层可以进一步分为两个部分:ArcObjects和ArcSDE技术。在企业级地理数据库中,管理地理数据的任务由ArcGIS和所使用的RDBMS共同完成。

    在数据存储层,RDBMS软件提供了一个简单而正规的数据模型来存储和管理表格中的信息。在RDBMS中,企业级地理数据库的图表以ArcSDE Repositary这样一种表集的形式得到了延续。与数据存储和检索相关的部分是由地理数据管理中的简单表格和特定方面来实现的,比如基于磁盘的存储、属性类型的定义、查询处理以及多用户事务处理,这些都是由RDBMS来运行的。目前ArcGIS支持IBM的DB2、Informix,Oracle,和Microsoft SQL Server平台。在9.3版本,PostgreSQL也会被支持。

    ArcSDE技术提供了中间件。在ArcGIS 9.2之前,ArcSDE是一个独立的软件产品。在ArcGIS 9.2中,ArcSDE被整合到了ArcGIS Desktop和ArcGIS Server中,形成了现在的ArcSDE技术。作为地理信息系统的客户端与RDBMS之间的网关,ArcSDE为空间数据服务,并确保了RDBMS对数据的访问和管理。ArcSDE技术是由以下几个组件联合实现的:可执行文件的目录,数据库(即ArcSDE库)中的一组表格和存储程序,以及可选择的服务。后面会对这些组件进行详细的说明。

表名

功能
server_config  包含ArcSDE服务器的参数和数值,用于定义ArcSDE的服务器如何分配存储空间。服务每次启动时该表格都会被读取一次。在ArcSDE安装完成后,它的目录将会被写入名为giomgr.defs的文件中。
dbtune 在地理数据库中列出的要素类,栅格数据集,拓扑和网络等数据对象的配置关键字。配置关键字主要用于数据加载和定义数据集如何在地理数据库中存储。在企业级地理数据库中,地理数据库管理员可以使用一个名为dbtune.sde的文件来管理配置关键字。
table_registry  管理所有已登记的企业级地理数据库的表格,包括所有地理数据库系统表格和在地理数据库中注册的数据集(比如要素类和栅格数据集)。
Layers 维护地理数据库中每个要素类的数据。此信息有助于建立和维护空间索引,确保适当的shape类型,并保持数据的完整性。
raster_columns  维护地理数据库中每一栅格数据集中的数据,并保证栅格数据集与其辅助表格之间的联系。

 图2:ArcSDE库中的关键表

    ArcSDE技术提供的基本功能包括以下几方面:

在RDBMS中存取简单的几何要素
支持RDBMS中原始的空间数据类型(如果本地RDBMS可用)
保持空间数据的完整性
提供多用户编辑环境(即版本)
支持复杂的GIS工作流和长事务处理
集成地理空间数据与其它信息技术

    ArcObjects位于应用层的最上端,它实现了地理数据库的应用逻辑。其中的这些与平台无关的软件组件都是由C++编写的,它们为地理信息系统的应用提供服务:在桌面端采用胖客户端,在服务器端采用瘦客户端。向地理信息系统的客户端(例如ArcGIS Desktop)中加入这种技术组件,可以实现更多更复杂的对象行为,并对存储在RDBMS中的点、线、面等简单对象实现完整性约束。换句话说,ArcObjects是在要素图形上实现其行为的。要素类、要素数据集、栅格目录、拓扑、网络以及地形都是地理数据模型中的地理空间数据元素:这些简单空间要素存储在RDBMS中,并由ArcObjects提供的应用逻辑来实现GIS行为。

    企业级地理数据库的这三个结构层是从概念层次定义的。对于大多数终端用户来说,利用企业级地理数据库的结构层开展工作是很简单、清晰的过程。GIS管理者和数据库管理员可能仅在安装、配置和维护企业级地理数据库时才希望直接操纵这些层结构。

[1] [2] 下一页

Tags:ESRI,ArcSDE  
责任编辑:tomcat
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 中国地图