admin 管理员组

文章数量: 1086019


2024年4月20日发(作者:java增删改查代码)

维普资讯

第17卷第2期 

2008年6月 

计算机辅助工程 

Computer Aided Engineering 

Vo1.17 No.2 

Jun.2008 

计算机与信息管理I. 文章编号:1006—0871(2008)02-0077-04 

基于XML与中间件技术的GIS空间数据存取 

王安保, 吴翠红 

(上海第二工业大学计算机与信息学院,上海201209) 

摘要:为将地理信息系统(Geographic Information System,GIS)的空间数据存储于关系数据库管 

理系统(Relational DataBase Management System,RDBMS)中,利用RDBMS中的xML扩展功能,研 

究在DB2 9中以XML方式存储GIS空间数据的方法,实现shape文件空间数据在DB2 9中的存 

储,设计并实现数据访问中间件.研究表明该方法对某些GIS应用具有实用价值. 

关键词:地理信息系统;XML;中间件;DB2数据库 

中图分类号:TP311.132.3;1'208 文献标志码:A 

GIS spatial data access based on XML and 

middleware technology 

WANG Anbao.WU Cuihong 

(School of Computer&Info.,Shanghai Second Polytechnic Univ.,Shanghai 201209,China) 

Abstract:To store the GIS spatial data into RDBMS(Relational DataBase Management System),using 

the extension function of XML in RDBMS,the method of storing GIS spatial data as XML in DB2 9 is 

studied.It is implemented that the GIS spatial data in shape file is stored into DB2 9.And a data access 

middleware is designed and implemented.The study indicates that the method is signiicant for some GIS f

applications. 

Key words:geographic information system;XML;middleware;DB2 Database 

0 引 言 

地图数据是地理信息系统(Geographic Informa. 

tion System,GIS)的基础,一般数据文件包括空间位 

置数据、空间关系数据和非空间属性数据.传统的地 

图文件将空间数据和属性数据分开存放:空间数据 

以文件形式存储,属性数据存储于关系数据库中,二 

者之间用关键字或指针进行关联.¨ 最新的GIS技 

数据库中,如DB2 Spatial Extender和Oracle Spatial 

等.近年来GIS与关系数据库管理系统(Relational 

DataBase Management System,RDBMS)相结合的应 

用也比较广泛 J,但空间数据库系统一般较大,对 

计算机要求比较高,需要专门的中间件应用软件 

(如ArcSDE)进行访问.对于单机和中小型的GIS应 

用还是使用空间数据和属性数据分开存储的方式. 

这种管理方式的结果使实用性受到很大限制:数据 

完整性和一致性不能保证;GIS的开放性及互操作 术是将所有空间数据和属性数据都保存在大型空间 

收稿日期:2007-06-25修回日期:2007—07—26 

基金项目:上海市教育委员会科技项目(04RB09) 

作者简介:王安保(1972一),男,安徽六安人,讲师,博士研究生,研究方向为计算机网络,(E—mail)abwang@it.sspu.cn; 

昊翠红(1977一),女,河北唐山人,讲师,硕士研究生,研究方向为数据库及信息安全,(E-mail)chwu@it.sspu.cn 

维普资讯

78 计算机辅助工程 2008正 

性受到限制;数据共享和并行处理无法保证;查询速 

度慢等.随着XML应用的不断扩展,基于XML的 

GIS应用研究渐渐引起更多研究人员的关注. ̄4,5 3本 

文尝试将空间数据与属性数据均存放在关系数据库 

中,通过对shape文件结构进行解析,将其转换成 

XML文件,在关系数据库中建立相应的数据表,然 

后将含有空间数据和属性数据的XML文件存入关 

系数据库中进行地图数据的统一管理,从而有效解 

决数据的完整性、一致性以及地图数据的共享等,并 

实现从数据库中读取地图数据. 

1 空间数据的关系数据库存取机制 

2.1空间数据的关系数据库存储 

由于属性数据本身就以数据库的形式存放,因 

此将其存储到关系数据库中相对比较简单.本文使 

用DB2,只须建立相应的表结构并将属性数据从dbf 

文件中读出,然后写入DB2中相应的数据表即可. 

而空间数据部分一方面种类比较多,另一方面同一 

种类型的数据(如多边形等,点的数量是不定的)长 

度是变化的,难以建立相应的表结构.一般有以下2 

种方法:(1)建立多字段的数据表,将空间数据的每 

个点坐标逐个存人数据库中;(2)采用数据关联技 

术,在主表中保存数据类型,副表中存储相应结构的 

数据序列,二者通过关键字关联. 

第1种方法需要建立足够多的字段结构,而点 

的数量不够会造成空间浪费,另一方面,由于关系数 

据库的自身限制,每个表的最大字段数量也受到相 

应限制,因而不能存储包含点数较多的对象.第2种 

方法需要进行数据库的关联操作,而且对于每个超 

过1个点的对象都需要建立1个副表,这样对副表 

的数量需求很多,不利于数据管理.本文采用DB2 9 

的XML存储机制实现GIS空间数据在关系数据库 

中的存储,完全不同于上述2种方法,能很好地克服 

其缺点. 

DB2 9的pureXML功能可针对符合语法规范的 

XML进行存储、更新、删除、查询,并建立索引.用户 

可通过在查询中整合XPath,XQuery和SQL来检索 

全部XML文档或文档片断.用户还可以注册XML 

模式 j,并命令DB2根据这些模式验证XML文档. 

它以树形存储方式对待XML数据,保证XML数据 

与生俱来的层次结构和灵活性,可满足企业用户对 

呈几何量级增长的XML数据的存储需要. 

以shape文件中的PloyLine几何类型为例说明 

如何将GIS空间数据以DB2 XML方式存储,其原理 

见图1,主要有3项关键技术:(1)如何将shape文件 

中的空间几何数据转换成XML格式,本文采用JAXB 

2技术实现;(2)如何将转换好的含有空间几何数据 

的XML文件存储到DB2 9中;(3)如何对DB2 9中 

XML数据进行操作,这不是本文研究的重点. 

图1 GIS空间数据以DB2 9 XML方式存储的处理过程 

由于XML具有自定义性及可扩展性,因此足 

以表达各种类型的数据,通过编程与实验,可以完整 

无误地将shp空间几何数据文件的所有层次数据按 

照XML的标签层次结构进行存储,然后将其存入 

DB2中,客户可以使用JDBC从数据库中取得全部 

或部分XML数据,然后应用于显示或进行处理,也 

可以在不同GIS数据格式之间进行转换. 

从图1可以看出,GIS应用程序可以直接使用 

文件系统的数据,如:shp,dbf和shx文件,也可以使 

用转换后的XML空间数据文件,或者从DB2 9中读 

取部分或全部的XML空间数据,这给具体应用带来 

极大的便利性,即在不同的场合选择不同的存储格 

式.将空间几何数据存入DB2 9后,所有与DB2 9相 

连的客户端都可以按自己的要求存储、更新、删除和 

查询以XML格式进行存储的空间数据,这在一定程 

度上保证空间数据的一致性和安全性. 

1.2 GIs空间数据XML方式存储实现 

以shape文件中的PloyLine几何类型为例, 

PloyLine的空间实体数据结构可以下列代码描述, 

其中每个字段的含义参见文献[7]. 

PolyLine 

{ 

Double[4]Box 

Integer NumParts 

Integer NumPoints 

Integer[NumParts]Parts 

Point[NumPoints]Points 

} 

使用Java语言进行建模,建立相应的Java对 

象,主要有PolyLine,Box,Parts,Points,Point.然后利 

用JAXB将这些空间数据对象按其层次关系映射为 

XML中的标签层次结构,以实现从shp到XML的转 

换.图2为上海市长宁区的中心线道路shape文件 

转换为XML的文件片段. 

维普资讯

第2期 王安保,等:基于XML与中间件技术的GIS空间数据存取 79 

图2上海市长宁区中心线道路XML文件片段 

2 空间数据关系数据库访问的中间件 

设计 

2.1中间件技术 

中间件是1种独立的系统软件或服务程序,分 

布式应用软件借助它在不同技术之间共享资源.中 

间件位于客户机服务器的操作系统之上,管理计算 

资源和网络通信.中间件不仅实现互连,还要实现应 

用之间的互操作.中间件是基于分布式处理的软件, 

最突出的特点是其网络通信功能较强.在中间件应 

用的体系结构中,中间件屏蔽信息访问的底层细节, 

并向客户应用提供1组接口,客户应用通过接口与 

中间件进行通信,与数据服务器无关,保持客户应用 

的相对独立性.当信息结构发生变化时,只要中间件 

作相应更新,客户端应用程序甚至可以不作任何修 

改就能继续应用于新的系统. 

2.2基本思想 

随着GIS应用向分布式管理系统领域的转移, 

空间数据的文件管理模式在实现数据共享、网络通 

信、并发控制及数据的安全恢复机制等方面出现难 

以解决的问题.I8 GIS的发展要求数据库系统不仅 

能够存储属性数据,而且能够存储空间数据,存储和 

管理空间数据是GIS的核心任务之一.随着大型关 

系型数据库技术的日益完善,其应用也13渐普及.于 

是现在的GIS软件都在向集成结构的空间数据库技 

术方向发展,将空间数据和属性数据全部存储在关 

系型数据库中,使二者紧密集成,充分利用RDBMS 

处理和分析海量数据的能力,真正实现将图形与属 

性融为一体的客户/服务器结构,并与企业已有的信 

息系统集成. 

用RDBMS(本文采用DB2的XML存储机制) 

管理空间数据,主要解决存储于关系数据库中的空 

间数据与应用程序之间的数据接口问题,其主要任 

务是:(1)用关系数据库存储管理空间数据;(2)从 

数据库中读取空间数据,并转换为GIS应用程序能 

够接收和使用的格式;(3)将GIS应用程序中的空 

间数据导人数据库,交给关系数据库存储和管理. 

为此设计空间数据的关系数据库数据访问中间件, 

见图3,设计方案是创建1个空间数据引擎中间件 

连接GIS应用程序和关系数据库,从而解决存储在 

关系数据库中的空间数据与应用程序之间的数据接 

口问题. 

图3空间数据的关系数据库数据访问中间件 

数据访问中间件中的空间数据可以作为shape 

格式存储,也可以作为XML格式存储,或者作为关 

系数据库的一部分进行存储.中间件负责将以shape 

格式存储的空间数据文件自动转换为XML格式,然 

后将对应的XML空间数据文件存入RDBMS,其中 

shape文件、XML文件与RDBMS中的XML空间数 

据表一一对应.GIS应用可直接从中间件接口中存 

取shape格式的空间数据文件,也可以使用其XML 

格式的空间数据文件,同时完全支持从DB2 9中索 

取空间数据文件. 

数据访问中间件在现有RDBMS的基础上利用 

XML技术进行空间扩展,可以将空间数据和非空间 

数据集成在商用RDBMS中.其访问模式如下:对于 

shape文件,用户直接通过中间件接口TCP/IP下载 

到本地使用;对于XML文件,客户端用户通过中间 

件接口提出请求,中间件负责将上述XML格式的层 

次数据文件转换成Java类层次,并负责实例化成对 

象,最后将结果提交给客户端应用,至于存储于 

维普资讯

80 计算机辅助工程 2008生 

RDBMS中的空间数据文件,中间件负责检索用户请 

理,并实现数据在不同客户应用中的实时更新.本文 

求的数据并封装成对象层次结构,并将搜索结果通 

利用JavaBean技术已完成上述中间件的数据文件 

过网络向用户的应用程序返回.上述开放式数据访 

格式转换和XML空间数据文件的关系数据库存取 

问中间件模型,支持最新的标准(XPath,XQuery和 等大部分功能. 

SQL),提供快速、多用户的数据存取,以及开放的应 

用开发环境.在RDBMS中融入空间数据后,数据访 

3 结 论 

问中间件模型可以提供对空间和非空间数据进行高 通过对shape文件格式的分析,通过中间件将 

效率操作的数据库服务. 

空间数据转换为XML格式的空间几何数据文件,并 

数据访问中间件模型具有很强的扩展性,其优 

在关系数据库DB2 9上以XML方式存储和管理空 

势在于:(1)为不同的客户应用需求提供不同的空 

间数据,既保留所有的空间信息,又保证空间数据和 

间数据服务;(2)通过TCP/IP横跨任何同构或异构 

属性数据在修改时的一致性.由于所有数据均保存 

网络;(3)提供从基于文件的系统到RDBMS管理数 

在关系数据库中,因此可以通过网络访问技术实现 

据系统的平滑升迁;(4)以连续、无缝的数据库管理 

GIS数据的共享与应用.在研究与实现的过程中,发 

地理空间数据;(5)跨越Internet提供公开的空间数 现一些问题,如存储开销增大(1个50 KB的中心线 

据访问. 

道路空间几何数据文件存储为XML文件格式需要 

从以上优势可以看出,在不同的应用中可以使 

332 KB的空间),以及数据存取速度稍慢等,下一步 

用不同的空间数据,并可以根据业务的大小调整应 准备通过压缩方法解决这些问题. 

用服务的数量和组织模式.完成数据的动态存储管 

参考文献: 

[1] 王英杰,袁勘省,李天文,交通GIS及其在ITS中的应用[M],北京:中国铁道出版社,2004:124.135, 

[2]POLI A,di GIOVANDOMENICO P.Dynamic and integrated GIS-RDBMS tools to develop and manage air pollutant emission inventories[J].Epi- 

demiology,2006,17(6):265-265. 

[3]SMIATEK G.SOAP-based Web services in GIS/RDBMS environment[J].Environmental Modelling&Software,2005,20(6):775-782. 

[4]CHANG Yoon—seop,PARK Hyeong-dong.XML Web service-hased development model for Internet GIS applications[J].International J Geograph- 

ical Info Sci,2006,20(4):37l-399. 

[5] BRESSAN S,MANG C Y.A benchmark for XML processing in GIS[C]//Sixteenth Wo ̄shop on Database and Expert Systems Applications, 

2005:507-511. 

[6]崔丽美,谢传节,杨联安,等.基于XML Schema地球系统科学数据的元数据扩展机制[J].测绘学报,2005,34(3):246-251. 

[7] ESRI.ESRI shapefile ̄chnical description[EB/OL].[1998].http://www.esri.con. 

[8] 庞鲲,邢汉承.多种非空间数据与GIS应用的集成[J].计算机辅助工程,2003,12(3):56-60. 

(编辑于杰) 

《计算机辅助工程》成为“中国CAE工程分析技术年会" 

金牌合作媒体 

第4届中国CAE工程分析技术年会将于2008年6月7日在西安召开.《计算机辅助工程》将作为金牌 

合作媒体参加本次盛会. . 

本届年会将由科技部“十一五”制造业信息化科技工程办公室、中国机械工程学会机械工业自动化分 

会、中国自动化学会制造技术专业委员会、陕西省国防科技工业信息化协会共同主办,北京诺维特机械科学 

技术发展中心承办.会议的研讨内容涵盖CAE仿真分析、高性能计算、数据模拟与仿真和流体计算等多个 

领域,涉及航空、航天、汽车、机械、船舶、兵器、电子、土木工程和教育等多个行业. 


本文标签: 数据 空间数据 中间件 空间