admin 管理员组文章数量: 1086019
2024年4月20日发(作者:myeclipse注释快捷键)
2010年8月
中央民族大学学报(自然科学版)
Aug.,2010
第19卷第3期
Journal of MUC(Natural Sciences Edition)
V0I.19 No.3
一
种基于XML的WebGIS多源异构数据集成方案
韩双旺
(天水师范学院物理学与信息科学技术学院,甘肃天水741001)
摘要:本文提出了一种基于XML的WebGIS多源异构数据集成方案,在该方案中,既可对不同数据源上
载到空间数据库,也可将不同数据源进行模式映射和转换而存储为XML数据库.对于空间数据库,调用GIS
应用服务器上的Web Service对其进行数据抽取并转换为XML格式;对于XML数据库,则直接通过封装了
XML查询的Web Service进行数据抽取;最终使异构空间数据集成于XML这一文本格式.同时,还可通过对已
定义的Web Service进行发布和注册实现本系统GIS数据库服务器上数据资源的共享,也可以通过搜索
[nternet上已发布和注册的相关Web Service,通过对其引用而实现异地数据的集成,由此实现空间数据之间的
共享与互操作,实现多源异构的地理空间数据的有机集成.最后通过XSLT将XML转换为SVG实现地理空间
数据的可视化.
关键词:WebGIS;XML;SVG;Web Service;XSLT
中图分类号:TP311 文献标识码:A 文章编号:1005—8036(2010)03-0056—07
士
丘
在WebGIS的发展过程中,围绕着基于GIS服务器的模型、基于客户端的模型、部分基于客户端的
模型产生了多种实现方法,各种方法都有各自的优缺点,但在空间数据模型上,都存在着缺陷,而人们对
空间数据在Web上的共享及交互提出了更高的要求,社会化的呼声要求各WebGIS厂商放弃各成一家
的WebGIS框架,而要更好地实现空间数据在Web上的共享及交互,这就需要实现WebGIS多源异构数
据的有机集成,而基于XML(eXtensible Markup Language,可扩展标记语言)的WebGIS正好可以实现这
一
点.
XML是国际组织W3C为适应www的应用将SGML(Standard Generalized Markup Language)标准
进行简化形成的标记语言,是为了用来对信息进行描述而设计的一种语言,它作为一种可用来制定具体
应用语言的元语言既具有强大的描述能力,又具有适合网络应用的简洁性.XML为WebGIS的发展带
来新的机遇,基于XML的WebGIS可实现多源异构的地理空间数据的有机集成,最终实现互联网环境
下多源异构地理空间数据的共享和互操作.
1 一种基于XML的WebGIS多源异构数据集成方案
本文提出了一种基于XML的WebGIS多源异构数据集成方案,在该方案中,当用户在客户端浏览
器指定地址之后,HrrTP请求被传送到WebGIS服务器,WebGIS服务器通过对请求分析,对于已上载到
收稿日期:2009-09—11
作者简介:韩双旺(1975一),男(汉族),甘肃庄浪人,天水师范学院物理学与信息科学技术学院讲师,硕士研究生,
主要研究方向:GIS与数据库技术.
第3期 韩双旺:一种基于XML的WebGIS多源异构数据集成方案
GIS数据库服务器上的地理空间数据,调用GIS应用服务器上的Web Service对其进行数据抽取,并将
其转换为XML格式;对于经过模式映射和转换而存储为XML数据库的地理空间数据,则直接通过封装
了XML查询的Web Service进行数据抽取;接着对以上两种情况下得到的XML进行XSLT(eXtensible
Stylesheet Language Transformation,可扩展样式表语言转换)转换,将XML格式的数据转换为SVG
(Scalable Vector Graphics,可伸缩矢量图形)格式,最后将SVG嵌入Web页面发送到客户端浏览器,浏
览器中的SVG插件对页面中的SVG进行显示,从而在实现地理空间数据的矢量传输和显示的同时,使
得不同格式和来源的地理空间数据集成于XML这一格式,同时,还可通过对已定义的Web Service进行
发布和注册,还可以实现本系统GIS数据库服务器上数据资源的共享,也可以通过搜索Internet上已发
布和注册的相关Web Service,通过对其引用而实现异地数据的集成 ,从而基于XML实现地理空间数
据的网络共享和互操作.
由于对所有的空间数据都保存在空间数据库或XML数据库中,并通过分析客户端的请求而实时地
从数据库中调取相应范围的数据生成包含SVG的Web页面发送到客户端浏览器显示,所以这种方案
不仅安全可靠也具有较高的效率.而当用户进行放大、缩小、漫游等操作时,若没有请求新的数据,则直
接对传到客户端的Web页面中的SVG进行操作,从而进一步提高系统的效率.
采用B/S三层结构和中等客户端模型,一种基于XML的WebGIS多源异构数据集成方案设计如图
1所示:
数据层
图1 一种基于XML的WebGIS多源异构数据集成方案
Fig.1 A kind of Integration Scheme of Many Source and Different Structure Data of WebGIS Based 0n XML
中央民族大学学报(自然科学版) 第l9卷
对于Oracle 9i可直接将Shape,Tab以及栅格文件上载到Oracle Spatial而成为空间数据库,对SQL
Server 2000可通过安装Mapinfo的SpatialWare for SQL Server使其具有空间数据存储能力,然后再利用
相应的软件上载.通过对地理空间数据上载,实现了多源异构数据的集成,也实现了基于RDBMS对空
间数据与属性数进行统一的存储与管理,省去了空间数据库和属性数据库之间的繁琐连接,提高了GIS
数据的存取速度.
由于当今的数据库软件多数都能够提供对XML很好的支持,所以可通过将不同数据源进行模式映
射和转换而存储为XML数据,从而实现多源异构数据的集成.最终通过将不同格式的空间数据转换成
基于文本格式的XML,从而使异构空间数据集成于XML这一格式,由此实现空间数据之间的共享与互
操作,实现多源异构的地理空间数据的有机集成.
1 基于XML的WebGIS多源异构数据的集成
1.1 WebGIS多源异构数据的上载
随着WebGIS的发展,对于空问数据的安全性、一致性以及空问数据与属性数据能够统一管理的要
求使得将空间数据存储到关系数据库中便成为一个必然的发展趋势.目前,能够提供对空间数据支持的
关系数据库并不很多,Oracle8i之后的版本提供了空间对象的管理机制,但是对于其他数据库如SQL
Server等可利用Maplnfo提供的一个中间件产品SaptialWare,来解决空间数据存放到关系数据库中并可
对其进行管理的问题.
1.1.1 向SQL Server上载GIS空间数据
SpatialWare是Mapinfo公司开发的高效存储、管理和维护空间数据的管理工具,是完整的基于服务
器的空间信息管理系统.SpatialWare允许空间数据与先进的商业数据库管理系统的数据实现轻松的无
缝整合,支持大量空间数据的集中存储和管理,确保数据的可访问性、扩展性、完整性、可靠性和安
全性 .
对于安装了SpatialWare的SQL Server,数据上载通过两种方式可以完成:通过标准的SQL命令将
ASCII数据加入到数据库中;通过MapInfo提供的Easy Loader工具将TAB数据上载到数据库中.其他格
式的数据如DXF、DWG、E00等可以由MapInfo提供的通用转换器转换成TAB后再上载到数据库中.
1.1.2 向Oracle Spatial上载GIS空间数据
Oracle Spatial是一个对象一关系数据库,提供存储空间数据的类型是SDO—GEOMETRY.向Oracle
Spatial上载GIS空间数据,其实质也就是把空间数据与相应的属性数据写入相应的数据库表中.
向Oracle Spatial上载GIS空间数据的实现方法有 :
(1)矢量数据的上载.介绍以下三种情况:第一种使用EasyLoader上载Tab文件,Easyloader是
Maplnfo公司提供的上载工具,只支持上载Maplnfo格式的Tab数据.它提供了命令行上载与窗口上载
两种方法.使用EasyLoader上载空间数据到Oracle Spatial中,最大的优点就是上载的空间数据是使用对
象.关系模式存储的,可以完全利用Oracle Spatial的对象一关系模式的优点;第二种使用SQL Loader与
Shp2SDO上载Shp文件,SQL Loader根据从控制文件接受的指令读取ASCII码数据,并将数据放入
Oracle数据库中.控制文件通知SQL Loader数据应放在何处,并描述装入Oracle数据库中的各类数
据.Shp2SDO是Oracle公司提供的,用来把ESRI的Shp文件转换为可以使用SQL Loader的控制文件
与数据文件的一个命令行工具.该工具不仅可以把Shp转换为对象一关系的格式,也可以转换为关系格
式.配合使用SQL Loader与Shp2SDO就可以把ESRI的Shp文件上载到Oracle Spatial中;第三种
ArcSDE与MapGIS提供的上载工具,如果购买了ESR!的ArcSDE,就可以使用ArcToolbox工具通过
ArcSDE空间数据库引擎来上载ESRI格式的数据.除了ESRI格式的数据以外,ArcToolbox还提供了
EO0、DWG等常用文件格式的数据转换功能.同样,如果使用的MapGIS是6.5或者其更高版本,就可以
第3期 韩双旺:一种基于XML的WebGIS多源异构数据集成方案 59
使用MapGIS的属性库管理子系统、编辑子系统所提供的工具来上载MapGIS空间数据.
(2)栅格数据的上载.从Oracle 10g开始,Oracle Spatial中增加了存储栅格数据的模块,同时还提供
了上载栅格数据的Java API,PL/SQL API以及上载工具GeoRasterLoader.
1.2 NET平台下基于Web Service的空间数据库的抽取与转换
Web Service是下一代可编程网络的核心,它实际上就是一个可命名的网络资源,可用来在Internet
范围内方便的表现和使用对象,就像使用COM对象一样,不同的是使用和表现网络服务是通过SOAP
(简单对象访问协议)甚至HTTP来实现的 .
ODP.NET是Oracle公司提供的在.NET平台上的数据访问组件,使用ODP.NET,在.NET环境下可
以直接转换Oracle数据为XML字符串.
.
NET平台下基于Web Service的空问数据的抽取与转换的部分代码如下:
//引入相关命名空间
using System;
using System.Collections;
using System.Data;
using System.Data.OleDb;
using System.Data.OracleClient;
using System.Xml;
using Oracle.DataAccess.Client;
using Oracle.DataAccess.Types;
using System.Web.Services;
lfamespace gisservice
{
public class Servieel:System.Web.Services.WebService
{
[WebMethod(Description=”读取空间数据并转换为XML”)]
private XmlDocument GetSpatialData(string c0nnectionString,string SQL)
{
//创建一个数据库连接对象
OracleConnection con = new OracleConnection(connectionString);
try
{
con.Open();//打开数据库连接
//使用连接字符串创建新的查询对象
OracleCommand cmd=new OracleCommand(SQL,con);
cmd.XmlC0mmandType= OracleXmlCommandType.Query;
cmd.BindByName=true: .
int rows=cmd.ExecuteNonQuery();
//执行查询并初始化XmlReader类型的对象XmlReader
XmlReader xmlReader=cmd.ExecuteXmlReader();
XmlDocument xmlDocument=new XmlDocument();//创建一个XmlDocument对象
xmlDocument.PreserveWhitespace=true;
xmlDoeument.Load(xmlReader);
60 中央民族大学学报(自然科学版) 第19卷
return xmlDocument;//返回xmlDocument对象
}
}
}
1.3空间数据的XML化存储与XML数据库的抽取
XML数据库是可以对XML文档进行存取管理和数据查询的数据库.目前XML数据库主要有两种类
型:XML本源数据库(NXD,Native XML Database)、支持XML的数据库(XED,XML—enable Database) .
NXD是专门对XML数据格式的文档进行存取管理和数据查询的数据库.XED是在传统数据库的
基础上,通过增加对XML数据的管理功能,从而实现对XML数据管理的数据库.XED的主要用途是实
现数据关系不太复杂的XML文档与传统数据库之问的转换.
目前,NXD比较著名的产品有Tamino,dbXML,eXcelon和XHive/DB,XED产品有Access 2002,SQL
Server 2000,IBM的DB2 XML Extender,FileMaker、FoxPro,Informix,Objectivity/DB,Oracle 8i,9i等.
1.3.1空间数据的XML化存储
由于当今的数据库软件大多提供了对XML的很好地支持,所以可通过将不同数据源进行模式映射
和转换而存储为XML数据而实现多源异构数据的集成.
目前XML数据库系统主要由以下四部分组成 :DTD(文档类型定义)或者Schema(模式)是XML
数据库数据模型,对XML数据库内容的存储与访问都依据该模型.在模型中规定了元素(elements)、属
性(attributes)、PCDATA以及文档内容的顺序.XML文档是XML数据库的数据区,一个XML文档就是
一
个基本的存储单元,相当于关系数据库中的一个表格.
对于地理空间数据可通过编程先转换为XML文档,然后再将XML文档映射为关系模式进行存储,
有两大类映射方法:模型映射(Model Mapping)和结构映射(Structure Mapping).对于模型映射,需要将
XML文档模型(即文档树结构)映射为关系模式,关系模式表示XML文档模型的组成部分,这种存储方
法对于所有的XML文档都有固定的关系模式,因此,它是与Schema或DTD无关的.对于结构映射,需
要将Schema或DTD映射为关系模式,关系模式表示所存储的XML文档的逻辑结构(即Schema或
DTD),这种方法是与Schema或DTD相关的.具体说来,利用关系数据库系统存储XML文档有如下的
方法 :
(1)将一个XML文档看成是一个有向边标记图,称为XML图.设计一个或多个关系模式存储XML
图中的边信息和结点值.该策略是基于边的模型映射方法,称为边模型映射方法.
(2)设计若干个关系来存储XML文档树的结点信息、结点值和结构信息(通过区间编码来表示结
构信息,或直接存储双亲/孩子结点对),该策略基于结点的模型映射方法,称为结点模型映射方法.
(3)从XML文档的DTD或Schema推断XML元素应该怎样映射到关系模式,再将XML文档存储
到相应的关系模式中,该策略属于结构映射方法.
1.3.2 XML数据库的查询与抽取
目前大部分NXD产品都支持XPath和XQuery,另外还有一些NXD提供专有的查询语言.
对于XED的查询,首先需配置服务器来支持SQL XML,即在IIs服务器上建立代表SQL Server的
虚拟目录.由于XML文档模式和XED模式很难保持一致,所以在存取过程中经常用XSLT完成转换.但
XSLT非常耗时,这会对查询性能造成很大影响.所以较好的解决方法是XED提供一种查询语言来返回
XML文档.
目前已经有很多XED产品提供了这种语言,主要分三类 :
(1)基于模板的查询.这是目前RDBMS XED最流行的方法,将SQL语句嵌入到已写好的XML文
第3期 韩双旺:一种基于XML的WebGIS多源异构数据集成方案 6l
档模板中,在实际查询的时候用查询结果替换.
大多数从数据库读取XML的查询语言是基于模板的,这些语言并没有预先定义XML文件和数据
库之间的映射,相反,是将Select语句嵌入到模板中,由数据交换软件对结果进行处理.从关系数据库中
将数据转换到XML文件时,几乎一定要用到基于模板的查询语言.
(2)基于SQL的查询语言.通过在SQL语句的实现中增加对XML的支持,完成对XML数据的查
询.例如Oracle9i中,增加了XMLTYPE类型和一些新的函数包以支持XMLDB.基于SQL的查询语言使
用的是经过修改酌Select语句,查询结果被转换为XML.通过简单地使用嵌套的Select语句,就可直接
转换成符合对象 关系映射的嵌套的XML.或者使用SQL3的对象视图也可直接转换成XML.最后还可
使用outer union语句和特殊标记来决定怎样将结果转换成XML.
(3)XML查询.基于模板和基于SQL的查询语言只能用于关系数据库,与此不同,XML查询语言可
用于任何XML文档.为了把它用于关系数据库,必须把数据库中的数据看作XML的模型,这样才能对
虚拟的XML文件进行查询.
Xquery对于基于表格的映射或对象.关系型映射都可以使用.当使用基于表格的映射时,各个表格
被视为单独的文件,像SQL中的一样,这些表格的结合则在查询语句本身中指明.如果使用的是对象.关
系型映射,各个表格的层次被当作单个文件,而表格的结合在映射中说明.
如果使用Xpath在多个表格中进行查询,就必须使用对象.关系映射,这是因为Xpath不支持多个文
档的联合.因此,如果使用基于表格的映射,也许每次只对一个表格进行查询最好.
对于本文设计的基于XML的WebGIS多源异构数据集成方案中的XML数据库,虽然用上面三种
方法之一就能查询并产生XML文档,但是为了实现本地数据的共享,仍然可以将这些查询封装到Web
Service中,从而通过对其注册和发布,使得其他远程服务器可以通过对其引用而实现对本系统数据库
服务器数据的共享和集成.
1.4基于XSLT的XML数据的可视化
尽管XML适用于地理信息交换和共享,但它并不是为图像显示而设计的,所以XML文档是无法以
图像的形式显示给用户的.要将地理时空信息发布出去,就要将XML文档转换为合适的图像格式文件.
本题采用SVG作为系统的地理信息发布格式,因此需要将XML文档转换为SVG文档.
SVG是一种基于XML的用来描述二维矢量图形和矢量/栅格混合图形的标记语言,本质上是XML
在网络上表达图形图像的一种扩展 .虽然SVG是为适应Web上图形应用的发展而制定的,但SVG具
有很多适合应用于G1s的优点,在WebG1S中的广泛应用是今后发展的必然趋势 J.并且基于XML的
SVG在现有的Web上传输GIS数据具有可行性,不需要改变网络基础,利用原有的H,I'rrP协议,成本
低,而且文件小,传输速度快.
实现XML到SVG的转换通常有两种办法,一种是编写转换程序,另一种则是利用XSLT建立模板
规则实现转换,本文采用后者实现这种转换.
XSLT把XML文档转换成必需的输出结果,这个过程一般包含两个方面 :首先是结构变换.在该
变换中数据从传入的XML文档结构被转换成反映所需输出结果的结构,这是转换中的主要的一步;其
次是格式化,在该格式化中新结构按所需的格式得到输出.XSLT依赖于XML语法分析器,无论是DOM
语法分析器还是SAX语法分析器,它都是把XML文档转换成一个树形结构,XSLT所操纵的正是文档
的这种树形表示结构,而不是文档本身.XSLT语言是说明性的,它只是描述所需的转换,而并不是提供
实现这个转换的过程性指令系列.真正的转换实现则依赖于XSLT处理器.
目前主要的XSLT处理器有Saxon,Apache的Xalan和在|nternet中直接运行的Microsot的
MSXML4.0,本文的程序针对的是MSXML4.0,最终由其将XML按指定的XSLT样式表单转换成SVG.
XSLT处理器把XSLT样式表单的规则应用到XML/GML文档从而输出XHTML,SVG或者其他
XML格式的文档,如图2所示:
62 中央民族大学学报(自然科学版) 第19卷
图2 XSLT的处理过程
Fig.2 The XSLT treatment process
对特定的一个XML/GML源数据文件而言,应用不同的XSLT样式表单将会生成不同的XML输出
2 结束语
WebGIS服务器通过对来自客户端的请求分析,对于已上载到GIS数据库服务器上的地理空间数
据,调用GIS应用服务器上的Web Service对其进行数据抽取,并将其转换为XML格式;对于经过模式
映射和转换而存储为XML数据库地理空间数据,则直接通过封装了XML查询的Web Service进行数据
抽取;并对两种情况下得到的XML都进行XSLT转换,将XML格式的数据转换为SVG格式,最后将
SVG嵌入Web页面发送到客户端浏览器,浏览器中的SVG插件对页面中的SVG进行显示,从而在实现
地理空间数据的矢量传输和显示的同时,使得不同格式和来源的地理空间数据集成于XML这一格式,
同时,还可通过对已定义的Web Service进行发布和注册还可以实现本系统GIS数据库服务器上数据资
源的共享,也可以通过搜索Internet上已发布和注册的相关Web Service,通过对其引用而实现异地数据
的集成,从而基于XML格式实现地理空间数据的网络共享和互操作.
参考文献:
[1]韩双旺,鲍丽红,李德录,等.基于ASP.NET与SVG的WebGIS实现技术研究[J].测绘科学,2009,34(2):157
—
160.
[2]
MAPINFO CORPORATION.MAPINFO SPATIALWARE产品概述[EB/OL].[2006—07]http://www.powergis.net/
show
article.asp?id=897,2006,7.
_
[3] GIS公园.ORACLE SPATIAL中上载GIS空间数据方法研究[EB/OL].(2006—11—17).hup://www.glspark.
com/htm GISarticle/2006/1117/520.html,2006,2.
N,BRETT TOMSON,著.万松明,张滨义,译.循序渐进ASP.NET教程[M].北京:人民邮电出版
[4]
JOE MARTI
社,2002.
[5] 秦杰.XML数据库问答[EB/OL].(2002—06—19).http://www.CCW.tom.cn/htm/center/prog/02—6—19—
5.asp,2002,6.
nd.在关系数据库中存储XML文档[EB/OL].[2007—05].hUp://blog.slna.tom.cn/s/blog一
[6]
no ̄hwi
53d68 96O10O081.,i.htm1.2007.5.
http://www.chinaitpower.cDm/A/200l一
[7]
ONESTAB(译).XML与数据库[EB/OL].(2001—11—29)[2002一O8].
11—29/6341.html,2002,8.
许泉立.SVG在WebGIS中的应用研究[J].测绘与空间地理信息,2005,28(3):1—3.
[8]
杨昆,
孟令奎,黄长青,等.一种基于XML的WebGIS研究与实现[J].地理空间信息,2006,4(2):59—60.
[9]
谢文君,
陶华学,高华,等.基于GML的多源异构数据交换模式研究[J].测绘科学,2006,31(2):88—89.
[1O]
王雅琴,
(下转第68页)
中央民族大学学报(自然科学版) 第l9卷
[4] 孙圣和,王廷云,徐颖.光纤测量与传感技术[M].哈尔滨:哈尔滨工业大学出版社,2000
Application of Distributed Fiber-optical Temperature Sensing
System in Power Cable Fire Protection at Central TV Tower
DENG Wei
(Central Radio and TV Tower,Beiifng 100048,China)
Abstract:Fiber—Optic Distributed Temperature Sensing(DTS)is an emerging technology which has
been widely used in various industrial applications such as electrical equipment overheating
detection,fire protection,leakage detection,and downhole monitoring.In this paper the working
principle and structure of Fiber—Optic Distributed Temperature Sensor,along with comparison with
traditional thermo detector ware described.In this paper application of the Fiber—Optic Distributed
Temperature Sensing system for cable fire protection at Central TV Tower was also introduced,and as
a reference.
Key words:fiber optics temperature measurement;optical time domain refrectometry(OTDR);
power cable temperature
[责任编辑:关紫烽]
l● ◆1 ◆ ◆’Ji.i◆l¨◆’0● ●I-◆
◆◆ ‘◆ ●J|¨◆c◆ ●◆-● ●● ● ◆¨●-◆
(上接第62页)
A kind of Integration Scheme of Many Source and Different Structure
Data of WebGIS Based on XML
HAN Shuang—wang
(College of Physics and Information Science Technology of Tianshui Normal University,Tianshui Gansu 741001 China)
Abstract:A kind of integration scheme of many source and different structure data of WebGIS based
on XML is put foward in the paper.In this scheme,different data source can be uploaded to spatial
database,and also be stored to XML database through mode mapping and transformation.The data
are extracted and changed into XML by Web Service on the GIS application server for the spatial
database;The data are extracted directly by Web Service that has encapsulated XML inquires for
XML database;different structure spatial data are integrated into the text form XML finally.At the
same time,the data resources sharing on GIS database server of local system can be realized by
publishing and registering the Web Services that have been already defined,and the integration of
remote data can be realized by searching and citing relevant Web Services that have been published
and registered on Internet.XML data are changed into SVG through XSLT to realize geographical
spatial data visual finally.
Key words:WebGIS;XML;SVG;Web service;XSLT
[责任编辑:关紫烽]
版权声明:本文标题:一种基于XML的WebGIS多源异构数据集成方案 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1713542749a639929.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论