当前位置:文档之家› 基于 Oracle 和 Arcsde 分布式空间数据库的设计与建立

基于 Oracle 和 Arcsde 分布式空间数据库的设计与建立

西北大学学报(自然科学版)2004年4月,第34卷第2期,Apr.,2004,Vol.34,No.2Journal of Northwest University (Natural Science Edition ) 收稿日期:2003207206 基金项目:陕西省自然科学研究计划资助项目(2000X14) 作者简介:王旭红(19682),女,陕西咸阳人,西北大学博士生,从事地理信息系统、遥感图像处理技术研究。

基于Oracle 和Arcsde 分布式空间数据库的设计与建立王旭红1,2,周明全1,陈 燕1(1.西北大学计算机科学系,陕西西安 710069;2.陕西省测绘局,陕西西安 710054)摘要:目的 针对当前以传统文件形式管理、存储大数据量空间数据的不足,设计出空间数据库建设的总体方案和技术路线,使空间数据和属性数据统一存储在面向对象的关系型数据库(Oracle 8i )中,以实现统一、高效的数据管理。

方法 应用GIS 技术、数据库技术和COM 编程技术进行空间数据库设计与建设。

结果 建立了空间基础地理信息数据示范库,现已试运行。

结论 所设计的空间数据库总体框架结构合理,技术路线正确,可行性强。

关 键 词:空间数据库;Oracle ;Arcsde ;分布式处理中图分类号:TP392 文献标识码:A 文章编号:10002274Ⅹ(2004)022******* 随着GIS 应用系统在复杂性、集成型、并发性等方面的要求不断增加,系统所需的空间数据量在急剧地增长,用户对空间数据并发访问的需求也越来越突出。

以传统的文件形式存储及矢量、栅格分离的空间数据的存储和表示方法,已经无法满足用户的需求。

如何利用关系型数据库在数据存储、数据完整性等方面的先进技术手段,将海量空间数据(包括矢量、空间数据)有机地组织和管理起来,通过其内部异步缓冲、空间索引、分布式管理等先进的机制,提供对空间数据的多用户高效并发访问以及对空间数据的有效管理和分发,已是空间数据库建立、管理和分发部门必须面临的问题。

1 系统目标建成一个多级比例尺(100万、25万、5万、1万)矢量、栅格以及航空影像、遥感影像(TM ,SPO T )的C/S 结构基础地理空间数据库,便于对空间数据有效的管理、分发和应用。

2 总体技术方案系统总体技术方案设计应在充分考虑系统建库目标与用户需求的基础上,在软件工程技术、计算机网络技术、GIS 技术和最新的面向对象的关系型数据库管理技术的支持下,选用Oracle 为空间数据库管理软件,Arcsde 为空间数据库引擎,设计出建立C/S 结构分布式空间数据库的系统框架结构和技术路线。

2.1 技术路线分布式空间数据库建设应放弃数据文件式的管理方式,采用大型关系数据库管理系统(Oracle 8i )管理空间数据,Arcsde 作为Oracle 8i 和ARC/IN FO 或其他地理信息系统软件的接口,VB/VC/Delphi/Java 为前端应用开发工具。

其中,空间数据通过Arcsde 存储在Oracle 数据库。

Arcsde 是基于C/S 计算模型和关系数据管理模式的一个连续的空间数据模型,借助这一模型,可将空间数据加入到数据库管理系统(RDBMS )中去[1]。

Arcsde 融于RDMBS 后,提供了对空间、非空间数据进行高效率操作的数据接口。

由于Arcsde 采用C/S 体系结构,大量用户可同时针对同一数据进行操作。

Arcsde 提供了应用程序接口(API ),开发人员可将空间数据检索和分析功能集成到应用工程中去,以完成前端的应用开发,最终提供数据的存储、查询和分发服务。

2.2 系统软件配置ArcObjects 用于数据库前端的应用开发;Arcsde 空间数据库引擎,管理空间数据并提供访问空间数据的接口;VB ,VC ++,Delphi ,Java 用于基于COM 技术的软件开发。

2.3 体系结构体系结构设计是数据库总体框架结构的核心部分,它决定数据库运行效率和稳定性。

空间基础地理信息数据示范库采用分布式处理的客户机/服务器体系结构,客户机部分是数据库的前端,不存放任何数据;数据存放在服务器中,所有的应用操作和分析都在服务器上完成;是一种“胖”服务器、“瘦”客户型模式,这样有利于发挥和利用服务器的最大潜力。

其工作机理是客户机发出数据操作请求,Arcsde 接受请求,并将其解析为从Oracle 数据库可接受的命令代码,提取数据,再通过Arcsde 返回客户机。

同时,Oracle 数据库系统能够方便地进行分布式处理,通过内部异步缓冲机制,使不同的处理器集中处理一个相关任务子集,减少了单个处理器的负载,从而整体上改进了系统的性能和能力。

2.4 逻辑结构多级比例尺空间数据(矢量和栅格)存储在Or 2acle 中,应合理设计Oracle 数据库的逻辑结构。

任何一个Oracle 数据库的主要逻辑数据库结构是表空间。

Oracle 数据库就是由一个或多个称为表空间的逻辑存储单元组成的,这些表空间共同存储了数据库中的所有数据。

在逻辑上,Oracle 把数据存储于表空间中,而在物理上则是存储于与相应表空间相关联的数据文件中。

空间基础地理信息数据示范库的逻辑结构是建立一个Oracle 数据库,在该数据库内分别建立相应的几个表空间。

将同一比例尺的各类数据存放在一个表空间中,对于不含比例尺的遥感数据单独建表空间。

包括1万数据表空间、5万数据表空间、25万数据表空间、100万数据表空间和遥感影像数据表空间。

在每个表空间下分别建立不同类型的表,以对应不同的数据类型。

它的优点是逻辑清晰,易于使用管理。

图1 数据库逻辑结构框图Fig.1 The database logic construction frame diagram2.5 数据存储模型2.5.1 矢栅一体化的地理数据模型 采用G eo 2database 数据模型[1],所有的地理数据能以统一的数据形式存储在关系数据库中,实行集中管理。

G eodatabase 是ArcInfo 8引入的一个全新的空间数据模型,它在一个同一的模型框架下对所有的地理空间要素,如:矢量、栅格、三维表面、网络、地址等,进行统一描述。

它支持要素间的拓扑关系、复杂网络和要素类之间的关系和其他的面向对象要素。

2.5.2 Arcsde 存储和组织 Arcsde 管理空间数据的方法是将空间数据类型加到关系数据库中[2]。

空间数据的管理和存储都是通过DBMS 中的若干表(Table )来完成的。

它不改变和影响现有的数据库,只是在现有的数据表中加入图形数据项(Shape Column ),供管理和访问与其关联的空间数据。

Arcsde 将地理数据和空间索引放在不同的数据表中,通过关联项将其相连;将图形数据项加到RDBMS 表后,该表为空间可用(SpatiallyEnabled )。

Arcsde 通过将信息存入层表(Layers tables )来管理空间可用表。

层表帮助管理RDBMS 表和空间数据之间的连接。

对空间可用表,可像通常那样对表中数据进行查询、合并,也可以进行图到属性或属性到图的查询。

2.6 索引机制2.6.1 空间索引的理论 空间数据库管理系统采用网格区域空间索引技术[2]。

在网格空间索引技—251—西北大学学报(自然科学版) 第34卷术中,一个图层的矩形地理范围被平均划分为M 行N列,得到M×N个小矩形网格区域,我们用每个网格区域为一个索引项,在索引项中记录了所有完全或部分落在该矩形区域内的几何实体的实体号和外接矩形。

这样要查找一个目标区域内的实体时就非常简单:1)找出所有与目标区域有重叠的网格区域,这可以通过最简单的计算获得;2)如果网格区域被目标区域完全覆盖,则其索引的实体都是目标实体;3)如果网格区域没有被目标区域完全覆盖,则从中找出与部分或全部落在目标区域内的实体。

4)从以上获得的实体中去掉重复的实体,就是目标实体集。

在以上4个步骤中,第3步的算法与没有索引时从一个图层中寻找被目标区域包含的实体的算法完全一样,但搜索的范围已经被大大缩小了。

2.6.2 格网单元大小的确定 格网单元大小[1]确定是一个不确定性的问题,需要多次尝试才能得到。

一般地,最佳格网单元的大小受图层平均查询范围的影响,若用户经常对图层进行相同的查询,格网大小应是查询空间范围的115倍。

为了减少每个格网单元有多个要素封装边界的可能性,单元大小应取平均格网单元的3倍。

如果要素封装边界大小变化较大,可以选择多种格网大小。

其中,Arcsde最多提供多级格网单元。

同时,每一个要素封装边界在一合适的级别内,这样可减少了每一封装边界有多个格网的可能性。

2.7 空间连接分布式管理的空间数据库均使用Oracle的联网软件Net8来实现数据库的网络通信。

正如Net8连接运行在网络的不同计算机的客户机和服务器一样,它也允许数据库服务器通过网络通讯以支持分布式数据库的远程和分布式处理。

但是,如果通过Arcsde空间数据器连接RDBMS,只需要服务器名和实例与Arcsde相连就可以了[1]。

一旦服务器找到后,须提供用户和密码完成连接。

同时,通过用户名和密码可以确定用户的使用权限。

2.8 系统功能结构空间数据库管理系统主要由9大功能模块组成:用户管理、日志管理、视图管理、数据导入、数据查询、数据导出、三维显示、数据转换和输出打印。

用户管理项实现增加、删除用户,赋予和修改用户的信息或权限等功能;日志管理项实现系统日志显示、日志统计、日志查询和日志打印等功能;视图管理实现视图的放大、缩小、全屏显示、漫游和定点显示等功能;数据导入实现从数据库中调入各类矢量、栅格数据和以行政区划、地名、图号、结合表等多种检索调图方式从数据库中调入需要的数据;数据查询实现空间位置检索查询(包括点查询、矩形查询、圆查询和多边形查询)、地名检索查询、空间关系查询(包括穿越查询、落入查询、包含查询和邻接查询)、缓冲区查询和属性查询(包括简单实体查询和SQL查询)等功能;数据导出实现根据指定的图层、范围、条件等将空间数据按指定格式导出等功能;三维显示实现矢量数据、栅格数据和DEM数据实时套合、三维显示和模拟飞行等功能;数据转换实现矢量数据转换、栅格数据转换、投影变换和坐标转换等功能;输出打印实现打印设置、打印预览和打印输出等功能。

3 数据库建立流程空间数据库建设要涉及到系统的设计、实施和维护3大内容。

应以实际应用为导向,在广泛进行需求分析和数据分析的基础上,充分吸收国内外空间数据库建库经验,运用现代高新技术手段,高水平、高起点、分阶段、按步骤进行数据库的建库工作。

具体步骤如图2所示。

图2 数据库建设流程框图Fig.2 The database developments process frame diagram—351—第2期 王旭红等:基于Oracle和Arcsde分布式空间数据库的设计与建立4 实证分析通过一段时间的实践,初步建立了基于C/S 结构的空间基础地理信息数据示范库,并投入运行;经检测系统稳定可靠、反应快捷,充分证明了数据库系统建设系统框架结构和技术路线的正确性和可实践性。

相关主题