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仿真分析、高性能计算、数据模拟与仿真和流体计算等多个
领域,涉及航空、航天、汽车、机械、船舶、兵器、电子、土木工程和教育等多个行业.
版权声明:本文标题:基于XML与中间件技术的GIS空间数据存取 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1713542767a639930.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论