admin 管理员组

文章数量: 1184232


2024年4月20日发(作者:web开发什么最简单)

维普资讯

第27卷 

湖北师范学院学报(自然科学版) 

V0L 27 

第4期 

Journal of Hubei Normal University(Natural Science) 

No.4,2007 

基于XML技术的Web GIS架构分析与实现 

关卫军,张国祥 

(湖北师范学院现代信息技术中心,湖北黄石435002) 

摘要:在Intemet环境下,XML技术更适合矢量空间数据的显示和发布及Web交互式操作。随着XML技 

术的发展,利用GML、SVG和XSLT等XML技术构建新一代的Web GIS平台成为可能。通过分析基于 

XML技术的Web GIS平台的特点,选择了以XSLT作为表示层的StrutsCX框架,并在此基础上建立了基于 

xML技术的Web GIS平台的体系结构,给出了其关键技术的实现。 

关键词:Web GIS;XML;GML;SVG;StrutsCX 

中图分类号:TP391 文献标识码:A 文章编号:1009-2714(2007)04—0063—04 

目前已存在的Web GIS平台从技术上说可以分为三种类型:即基于服务器模式、基于客户端(带 

插件的浏览器)模式以及混合模式的Web GIS…。无论采用哪种模式,在Intemet环境下矢量空间数 

据的显示和发布及Web交互式操作是实现Web GIS的关键。而目前通用的Web语言标准HTML由 

于自身的局限性使得它在传输和表达GIS信息上力不从心,具体表现为:1)HTML采用的标记固定、 

有限且无内涵,不利于表达空间信息,不支持矢量图形;2)HTML在客户端产生的是静态页面,用户不 

能操作。随着可扩展标记语言(eXtensible Markup Language,XML)标准的发布,现在WWW服务的重 

点从以HTML为核心转移到了以XML技术为核心上。由于XML所拥有的良好的扩展性、自描述性、 

自相容性以及跨语种等优点,使得它非常适合于GIS数据在Web中的表达、交换与发布。 

1 XML在Web GIS中的应用 

1.1地理标记语言(Geography Markup Language,GML) 

GML是由开放式地理信息系统联盟(The OpenGIS Consortium,OGC)制定的一种基于XML的对 

地理信息进行建模、传输和存储的编码规范标准,用来表示地理空间对象的空间数据和非空间属性数 

据 J。它通过提供基本的几何标记、通用的数据模型和一个创建与共享应用系统框架的机制来实现 

空间数据的互操作。 

GML象任何XML编码规范一样用文本的形式来表示地理信息。GML将地理信息世界中的数据 

内容及其表现形式分离开来,GML所关注的是地理数据内容的表示,它用地理空间特征(Geographic 

Features)来描述真实世界。地理空间特征是对真实世界现象的一种抽象,当这种抽象与某一地理位 

置相关时,就表现为地理空间特征。现实世界的数字化表示构成了一个特征集,特征由其属性说明, 

属性由一个三元组(属性名、属性类型、属性值)表示,属性的当前数值反映了地理特征的当前状态。 

多种特征合并在一起形成一个“特征集”(Feature Collection),特征集也可以当作单个特征使用,并且 

也有自己的属性。 

收稿日期:2O07—09—O5 

基金项目:湖北师范学院科研基金资助项目(2006D17) 

作者简介:关卫军(1974一),男,湖北仙桃人,硕士,主要研究领域为计算机网络、数据库技术 

63・ 

维普资讯

描述地理空间特征通常需要对一些几何体(Geometries)进行描述,如点、线、曲线、面、多边形等, 

GML可以对这些简单的以及由其组合的复杂的几何实体进行编码描述。为了简便,最初的GML规 

范仅限于2维几何体,现已扩展为可表示2.5维、3维等复杂几何实体以及对拓扑、空间参照系统、元 

数据、时间特征和动态数据等的支持,使其更适合描述现实世界问题。对GML的可视化必须开发相 

应的解析工具来对GML数据进行解释。可能的图形格式包括W3C的SVG格式、微软的VML以及 

X3D格式。 

由GML规范可知,基于GML可以构建开放的、大众化的、不需要复杂的GIS服务器及空间数据 

传输协议的GIS应用。 

1.2可伸缩矢量图形(Scalable Vec ̄r Graphics,SVG) 

SVG是一种使用XML来描述二维图像的语言,它包括基于XML的文件格式和用于图形应用的 

API编程接口L 3 J。SVG应用于Web GIS有以下优点: 

1)基于XML标准。可以将同样基于XML的GML地理空间数据很容易地通过XSL、XSLT和 

XPATH等标准技术转换为SVG,实现基于GML数据的可视化。 

2)高质量的图像。SVG对矢量图形的支持使得任意放大、缩小或随意调整图像的参数不会影响 

图像质量,其图像大小只与图形的复杂程度有关,而与图形的具体尺寸无关,而且提供了丰富的图像 

渲染功能,能增强图像的表现能力,这些都非常适合绘制基于矢量数据的地理信息数据。 

3)支持动画功能。由于SVG中的图形元素具有动画功能,可以产生动画地图,使展现在客户端 

用户面前的地图更具有表现力,如实现选中的空间实体的闪烁。 

4)由文本构成的图像。由于SVG图像是用文本语言来描述的,可以使用任何文本编辑器浏览、 

修改和更新图像,并且支持在图像中查找字符,Adobe的SVG Viewer就内置了该功能,因此,对GIS中 

查找空间对象的操作可以完全基于此来实现。 

5)支持超链接。这对于Web GIS是很有用的,可以通过鼠标对SVG地图上任意空间实体进行操 

作,使用Web链接打开一个新的窗口来显示与该空间实体相关的更详细的信息。 

6)支持交互。可以利用SVG对DOM接口和脚本语言的支持为SVG添加功能强大的交互功能, 

使得许多GIS常规操作在浏览器客户端就可完成。 

1.3 XSL与XSLT 

可扩展样式单语言(eXtensible Stylesheet Languge,XSL)是另一个基于XML的W3C规范标 

准 J。XSL和大多数XML文档相比,主要描述文档的结构而不是内容,确切地说是用来将一种应用 

的XML文档转换为另一种应用的XML文档。XSL由两大部分组成:.1)描述了如何将一个XML文档 

进行转换,转换为可浏览或可输出的格式;2)定义了格式对象FO(formatted object)。 

XSLT(XSL Transformations)是从XSL中分离出来的,用来分离XML数据内容和它的表现形式, 

以便把同一份数据以不同的形式(或格式)输出,满足各种不同显示设备的需要。也就是说,在不改 

动输入的XML文档的条件下,对于每一种不同的输出格式,只需定义相应的XSL样式。至于具体的 

转换过程,既可以在服务器端进行,也可以在客户端进行。 

由于SVG和GML都是基于XML的,所以用GML表示的空间地理数据可以通过XSLT很容易地 

转化为SVG格式。 

2基于XML的Web GIS平台分析 

2.1 Web GIS平台的框架选择 

基于XML的Web GIS平台的理想解决方案是用GML来传输和存储地理信息和地理参考信息, 

而采用SVG作为空间数据可视化的首选格式。也就是说,在Intemet环境下,基于XML的Web GIS 

平台适宜采用SVG作为GIS应用的表示层,以满足GIS数据互操作性规范的GML作为数据层的一 

种互操作性极强的GIS数据格式,其它各种数据源可以是任意GIS厂商的GIS数据文件和GIS数据 

64・ 

维普资讯

库,而各种数据源到GML的转换、GML到SVG的转换和其它GIS应用逻辑由控制层来实现。 

因此,在选择构建基于XML的WebGIS平台的框架时除了要考虑Web应用框架是否实现了 

MVC模式,以便满足GIS数据的显示、存储及GIS应用逻辑三者的分离,还要考虑框架对XML技术 

的支持。目前,在实现MVC模式的WEB应用框架中,StrutsCX框架基于经典的MVC框架——S缸uts, 

并对Struts的表示层部分进行了扩展,使得可以使用XSL、XML、Xpath、XSLT等技术作为表示层 】。 

图1就是StrutsCX的体系结构图。 

StrutsCX框架把Struts和XSLT的优势结合到一起,利用XSLT来替换生成View的JSP,但原封不 

动地保留了Struts的Controller和Model部分。在View中,StmtsCX传递的目标不再是JSP,而是一个 

Servlet,由Servlet组织、构造XML文档,并利用XSL样式转换XML文档。如果有ActionForm Bean, 

Action对象则把它们复制到HttpServletRequest中,随后加入到XML输出文档。类似于Struts,Strut— 

sCX的Action的功能也是协调Web应用或J2EE应用的表现层和其他各个层,例如业务层等。 

2.2 基于XML的Web GIS平台的体系结构 

图2就是采用StrutsCX框架的Web GIS平台的体系结构图。该Web GIS体系结构使用基于 

XML标准的GML和SVG分别做为GIS的数据存储和地图显示,运用StrutsCX框架提供的内在XSLT 

转换机制来实现GML到SVG的蒜换。 

图1 StmtsCX的体系结构 图2基于StrutsCX框架的Web GIS体系结构 

这里简要地描述一下系统的流程:if-先,用户通过浏览器请求返回地图,Web服务器接受请求后 

通过ActionServlet传递请求给相应的Action,Aciton向地图服务模块请求GIS信息处理,地图服务模 

块从数据源攫取数据并将数据以XML文档的形式返回给Action,Action通过HttpServletRequest把 

XML文档以及相应的XSL文档传递给StrutsCXServlet,StrutsCXServlet完成空间数据到SVG地图的转 

换,并将SVG地图返回给浏览器显示,浏览器必须具有合适的SVG Plug—in或ActiveX控件等来显示 

SVG地图。 

3基于XML的Web GIS平台的实现 

基于XML技术的Web GIS平台实现的关键主要有两个方面:一方面是SVG地图的生成;另一方 

面是SVG地图浏览器的实现。 

3.1 生成SVG地图 

生成SVG地图指的是GML文档到SVG文档的转换。GML文档和SVG文档都基于XML的纯文 

本文件,GML文档到SVG文档的转换既可以通过编程实现,也可以通过XSLT来实现。系统的GML 

文档到SVG文档的转换是通过XSLT实现的。如果空间数据已经组织成XML或GML文挡,只要提 

供了对应GML文档到SVG文档的样式单XSL,就可以借助StrutsCX框架直接完成该转换过程。实 

现GML文档到SVG文档的转换过程所需的样式单实际上是GML到SVG的映射模板规则集合,主要 

涉及5种模板的建立 】:GML中的<collection>映射为SVG中<g>的集合模板,GML中的<point> 

映射为SVG中<circle>的点模板,GML中的<linestring>和<polygon>映射为SVG中<path>的线 

模板及面模板,GML中的<annotation>映射为SVG中<text>的注记模板。通过确定这5种模板规 

则,从GML文档中获取相应的信息就可构成SVG文档。 

65・ 

维普资讯

StmtsCX除了可以直接将XML文档格式的数据直接添加到XML输出文档外,还提供将JavaBean 

对象以单个对象或添加到ArrayList对象中再转换为XML文档。 

3.2 SVG地图浏览器实现 

目前,主流的Web浏览器尚不能直接显示SVG图形,实现SVG地图浏览器最直接的方式是在 

Web浏览器中使用SVG插件。系统采用了Adobe公司的SVG Viewer插件,该插件内置了图形缩放、 

图形漫游及搜索SVG文档的内容等功能,还提供了DOM接口。要实现SVG地图浏览器仅靠插件的 

内置功能是不够的,必须通过SVG对JavaScript等脚本语言编程和DOM接口编程的支持进一步扩充 

SVG地图浏览器的功能。 

1)地图的放大、缩小和漫游对地图的放大、缩小和漫游可以借助SVG文档的<svg>元素的 

viewBox属性来完成。viewBox属性的前两个数值表示视口初始坐标的x和Y值,后两个数值代表视 

口坐标的范围,即宽度和高度。通过DOM接口动态增加或减小x值可以对地图进行左右平移,增加 

或减小Y值可以对地图进行上下平移,对宽度和高度成比例的增加和减小可以对地图进行缩放。 

2)图层控制SVG由于采用基于XML的DOM文档管理结构,可以借助分组元素<g>来实现 

图层管理。1)静态图层(即SVG文档建立之初就已存在的图层)可以通过重新设置<g>元素的visi- 

bility属性值为“hidden”或“visiable”来隐藏或显示图层。2)动态图层的加载首先要创建一个<g>元 

素并设置其id属性为图层名,然后把数据检索结果组织成SVG文档片段并用appendChild方法把 

SVG文档片段加到<g>元素中,最后用同样的方法把该图层追加到<svg>文档中。通过DOM的 

removeChild方法可以把已有图层删除。 

3)属性查询要实现空间对象及其属性数据的双向查询,必须在二者之间建立联系。一般地, 

在SVG地图中通常将代表空间对象的图形元素的id属性设为地物标志号,并把地物标志号作为属性 

数据的关健字存储在外部数据库中。如下<svg>文档片段建立了空间对象MX2井与其属性数据的 

联系:<a xlink:href=“javascript:openWindow("detaillist.do?spatialobject=well&id=mx2 300,200, 

detail3”target=“一parent”><circle id=“mx2”CX=“739.379211”cy=“376.13455”r=“3. 

00000”/></a>这样,在SVG地图中点击代表MX2井的圆就可以查询到MX2井的属性数据。相 

反,如果根据一定的查询条件能获得MX2井的地物标志号,就能通过图形元素的id属性在地图上定 

位该空间对象。 

目前主流的各种Web GIS都是桌面式或客户端/服务器模式的GIS厂商为适应Intemet环境而提 

出来的解决方案,或多或少地依赖于特定的GIS平台,而且制约于HTML的局限性,在应用于其它领 

域时存在着集成困难的问题。相比较而言,XML技术更适合矢量空间数据的显示和发布及Web交互 

式操作。随着XML技术的发展,利用GML、SVG和XSLT等XML技术构建新一代的Web GIS平台已 

成为可能。本文通过分析基于XML技术的Web GIS平台的特点,选择了以XSLT作为表示层的 

StrutsCX框架,并在此基础上建立了基于XML技术的Web GIS平台的体系结构,给出了其关键技术 

的实现。随着主流Web浏览器对SVG的直接支持,基于XML技术的Web GIS平台将会更有优势。 

参考文献: 

[1]董伟杰,史杏荣.基于XML的图形技术在Web GIS中的应用[J].计算机工程,2001,27(7):174~176. 

[2]Simon Cox,Paul Daisey,Ronlake,et a1.OpenGIS Geography Markup Language(GML)Implementation Speciifcation[EB/ 

OL].http://www.opengeospatia1.org/docs/02—023r4.oaf,2003. 

[3]刘啸.基于XML的SVG应用指南[M].北京:北京科海电子出版社,2001. 

[4]霍兹纳.XSLT技术内幕[M].北京:机械工业出版社,2002. 

[5]Bernhard Woehrlin.Struts CX—Struts with XSLT[EB/OL].http://it.cappuccinonet.com/strutscx/doe/vO8/en/intro/ 

index.html,2002. 

[6]刘旭军,关佶红.Web GIS应用中GML文档到SVG的转换[J].计算机应用,2004,24(2):157~159. 

(下转第74页) 

66・ 

维普资讯

A1C1,显示出良好的催化活性。因此,反应需要一定量的tiC1气体。如过氮气通人速度太快,会带走 

体系中的HC1气体,使反应难以进行。为了既确保反应体系与空气中的水蒸汽隔绝又不影响液面上 

HC1气体的存在,本文采用极微弱的氮气流,并将氮气倒人管提离液面处于较高的位置。 

3.3、3温度的影响许多文献报道,脱叔丁基杯四芳烃合成在室温下进行,但实验证明,温度升高有 

利于提高反应速率,使反应进行充分。因此,本文采用加热微回流的方式,缩短了时间,提高了产率。 

参考文献: 

[1]吕鉴泉,陈朗星,郭洪声,等、杯芳烃的功能化修饰及其在分子识别中的应用[J].化学进展,2001,13(3):209 

215. 

[2]刘育,尤长城,张衡益.超分子化学[M]、天津:南开大学出版社,2001. 

[3]郭兵,冯亚青,周立山,等.新型主体分子一杯芳烃的研究进展[J].合成化学,2000,8(5):395 399. 

[4]李勇,郭金粱,宋心琦.新型主体分子一杯芳烃类化合物[j]、大学化学,1994,9(2):1 8、 

[5]Gutsche C D,lqbal M、P—tert—butylcalix[4]arene[J]、Organic Syntheses,1986,68:243~244、 

[6]周岩,字敏,许志刚,等.两种杯[4]芳烃母体化合物的简易合成方法及其性质研究[J].云南师范大学学报 

(自然科学版),2005,25(4):57~59. 

[7]陈鑫,曹端林,李永祥、25,26,27,28—4羟基杯[4]芳烃合成工艺改进研究[J].应用化工,2007,36(1):99 

101、 

[8]武芸,曹端林,陈鑫,等.叔丁基杯[6]芳烃的去叔丁基反应[J]、化学研究,2007,18(1):46—48、 

[9]Gutsche C D,Dhawan B,No K H,et a1.Calixarenes、4.The synthesis,characterization,and proprieties ofthe calix— 

arenes from P—tertrabutylphenol[J]、J Am Chem.Soc 1981,103(15):3782—3792. 

[10]Gutsche C D,Lee G L、The synthesis offunctionalized Calixarenes[j].Tetrahedron,1986,42(6):1633—1640. 

[11]梅素容,何季平,李建森,等.杯[8]芳烃的红外光谱和拉曼光谱研究[J].武汉大学学报(自然科学版),1998,4 

(2):159~162. 

Investigation for syntheses of calix[4]arenes 

LI Shu-jun,ZHANG De—hua,LV Han—qing,LV Jian—quan 

(Hubei Key Laboratory of Bioanalytical Technique, 

Hubei Normal University,Huangshi 435002,China) 

Abstract:The syntheses of two ca ̄x[4]arene derivatives were investigated by improved the rate of temperature,reflux temper— 

ature and other conditions.The physical properties of the products were characterized by IR and l H NMR.The results indica— 

ted the parameters are similar with the reportde values. 

Key words:Calix[4]arenes;synthesis;improved method 

(上接第66页) 

The analysis and implemention of 

一 一 

the Web GIS structure based on XML technologies 

GUAN Wei-jun.ZHAN G Guo—xiang 

(Modem Information Technology Center,Hubei Normal Universty,Huangshi 435002,China) 

Abstract:In the Internet environment,the XML technologies are more suitable for the display,publishing and Web interac— 

rive operation of the vector spatila data.With the development of XML technologies,it is possible to create a new generation of 

Web GIS platform using the XML technologies,such as GML,SVG and XSLT.Throu【gh analyzing the features of the Web GIS 

platform based on XML technologies,choose the StrutsCX as the web development framework which the present layer is based 

on XSLT,establish the architecture of the Web GIS platform based on XML technologies,and igve the key tcehnologies to rel— 

ize the platform. 

Key words:Web GIS;XML;GML;SVG;StrutsCX 

74・ 


本文标签: 地图 空间 文档 数据