zhhy51
路人甲
路人甲
  • 注册日期2003-10-13
  • 发帖数80
  • QQ
  • 铜币189枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1884回复:1

WebGIS发展的解决之道[转帖]

楼主#
更多 发布于:2003-11-21 17:18
XML——

添加时间:2003-11-19
作者:朱渭宁 黄杏元 马劲松 来自:南京大学城市与资源学系南京21op3



    摘要  本文论述了WebGIS当前面临的技术难点以及Web的新兴语言一XML的概念和特征,旨在说明在WebGIS中应用 XML的优势和良好的发展前景,并以 WebGIS的三层结构解决方案为例,简述了 XML在WebGIS中的应用概要。

    关键词   XML(eXtensible Mchp Language) WebGIS 地理信息系统(GIS)

1引言

    随着Internet应用的迅速普及和技术的日益发展,特别是国际上“数字地球”研究的兴起,以及建立“国家空间数据基础设施”方案的提出,原先基于Clien/serVer结构的GIS面临着丰富的、具有无限潜力的崭新空间。顺应这一趋势的WebGI必然是GIS能充分施展才能、提供更为有效服务的发展方向。以现有的Intemedlntranet为架构基础,建立基于Browser/Servers的WebGIS服务能够充分利用大量的WEB资源,合纵连横,向更为广大的GIS用户提供更为广泛的地理空间信息服务,这已经成为目前国际GIS发展的主要趋势。尤其针对现有网络的不足而提出的XML,已被包括ESRI、Inergraph和Maplnfo等在内的主要GIS软件提供商所普遍接受,并正作为新一代GIS的关键技术加以试验。之所以要在WebGIS中使用XML,与Internet和WebGIS面临的一些技术难点有关。

2 WebGIS的技术难点与XML的提出

    WebGIS是指利用 Word Wide Web向各种类型的用户提供地理空间信息服务的地理信息系统,是Internet与GIS结合的产物。但Intenet毕竟不是GIS的专用网,GIS最初的应用也不是以Internet为网络基础,所以,新旧事物在结合时必然面临着一些困难。

2.1 WebGIS技术难点

    传统的Web语言是被广泛使用的HTML HypeText MarkUp Language,超文本标识语言),其实质是一种文本显示语言。随着Web上信息类型的日益增多,其不利于表现地理空间数据的弊端也逐渐暴露出来,WebGIS由此而面临的一些技术难点也不易解决:

2.1.1 由于HTML页面仅仅擅长于数据表现,缺乏描述数据的内部结构和联系,不利于结构复杂的空间地理信息数据的查询和整合。

2.1.2 组成数字地球的数据将由数以千计的不同组织来维护,要对传统GIS数据库中大量的地理信息数据进行适应于Web表达的高效率、低成本的转换,各个WebGIS需要资源和信息共享,真正地做到GIS数据的物理分散而逻辑集中。

2.1.3 按照数字地球的要求,WebGIS需要一定层次上的互操作性,使得GIS数据参与多方面的应用,但HTML页面一旦生成,信息便处于静态,不能根据客户端的实际情况进行动态变化。

2.1.4 由于GIS处理海量的数据,而又受Internet的网路带宽以及其它路由限制,因此要建立快速的响应和传输机制,在满足用户交互操作需求的基础上,向WebGIS用户提供快速的地理信息服务。

2.1.5 WebGIS需要向用户提供多样化的、直观易懂的图形用户界面,预测客户的请求,动态地、客户化地表现数据。

    面对着上述的技术难点和国际信息化融合的潮流,XML将是WebGIS适应数字地球的发展和要求、提高自身实际应用能力的解决之道。

2.2 XML概述与特点

    XML(eXtensible Markup Language,可扩展标识语言)是W3C(Word Wde Web Consortium)为适应 Internet的发展,解决上述技术难点而推出的新型Web语言,是ISO(国际标准化组织)所制订的SGML(Standard Generalized Markup Language,通用语言标识标准)的一个精简集。它并不是类似于html的预定义的标识语言,而是用于定义其它标识语言的一种元语言。与HTML中有固定数量的标识不同,XML用于描述信息的各种标识都可以由设计者自行建立,以强化特定专业数据的结构和关联。

    在WebGIS中引进XML,其优越性和作用是十分巨大的:

2.2.l 有助于实现地理空间数据的标准化、结构化。地理数据可被XML唯一地标识,便于网上查询和搜索,便于信息参与数字地球的资源共享,提高WebGIS服务的互操作性,减少了服务器和客户之间的频繁交互,从而提高GIS用户的互操作速度。

2.2.2 XML具有数据来源的多样性和多种应用的灵活性、柔韧性和适应性。XML可以将不同来源的结构化的GIS数据进行合并、集成,客户获得XML数据后,可以用以开发多种形式的WallGIS应用软件,也可用于测量、制图、空间分析和地理建模等本地地理计算和二次处理,扩展XML与GIS数据的多方面应用。

2.2.3 由于内容与形式的分离,XML只描述GIS数据本身,数据的具体表现形式可利用样式表语言进行转换,使地理信息能根据客户的配置和实际情况动态地表现。

2.2.4用XML在现有的WEB上传输GIS数据具有可行性,不需要改变网络基础,利用原有的HTTP协议,成本低。

2.2.5 XML具有开放的标准和众多软件公司的支持。由W3C制订的XML1.0版已经发布,与处理XML相关的语言、接口等部件也由W3C统一提供标准。微软、网景和众多数据库软件国际企业已经并将继续为XML提供支持和服务。OGC也制订了用于 WebGIS的一个基于 XML的语言:GML(Geography Markup Language,地理标识语言)。

3 XML在WebGIS中的应用

    XML是针对于数据内容和结构的分析和描述,所以XML原则上可以被应用于任何WebGIS的解决方案。由于XML功能强大,其实现和被利用的过程也就比HTML复杂,现以建立WibGIS的比较普遍的三层服务解决方案为例,简要叙述XML的具体应用。

三层服务结构即以GIS基础数据库、中间层、Web客户端浏览器为架构基础的WebGIS解决方案。无论这三层结构如何具体实施,XML都可以在其中发挥数据存储、交换和表现的重要作用,见图1。

 



3.1基础服务器端:

    底端的地理信息服务器和基础数据库是WebGIS的数据源,存储着原始的大量非XML的GIS数据,这些数据要么被全部转换并存储为XML格式的数据,要么保持原有的数据形态,通过中间层根据客户请求而将之转换为XML数据供WEB使用。随着众多数据库提供商增强了对XML的支持,未来的主流数据库可以直接存贮和交互查询XML数据。在数据服务器端使用XML数据应注意以下几个方面:

确保XML文件的结构良好性和合法性。按照W3C制订的XML标准和OGC的规范严谨地书写和交换XML文件,用DTD(Document Type Definition,文件类型定义)或Schema描述和定义XML中使用的所有标识符,使得处理器获知XML的来源以及其中的空间数据类型、属性和相互关系等有关地理信息。

    保持GIS数据格式的统一。尽管XML允许设计者自行定义自己的XML标识,但保持WebGIS-XML定义的一致性是有利于数据处理和交互的。以OGC的GML语言为例,其中定义了以点、线、多边形为基础地理模式的简单几何特征集的关系以及与之关联的三种 SRS(Spatial Reference System,空间参照系)的DTD定义,下面是几何集的定义:

  
  
    <! ENITTY % Geometry"(GeometryCollection | Point | linestring | Polygon | MultiPoint | Multiline | MultiPolygon)">



几何特征的最底层描述为以<Clist></Clist>标识的空间坐标点集,随后的扩充集以XML的元素值表示特征集的特征数值,以XML元素的属性值表示特征集和SRS集的名称和地理信息的非空间属性,下面是一个多边形的XML表示:

    虽然GML还处于OGC所推荐的草案阶段,但如果每个WebGIS都以此为参考应是明智的选择。

3.2中间层:

    WebGIS的中间层用于响应客户端的请求,进行XML数据的识别和转换工作,它从底层数据库中申请空间和属性数据,与用户直接进行对话。如果从底层数据库申请到的是GIS的矢量和栅格数据,就需要将其转换为符合规范的XML格式;如果底层支持XML的存储和查询,中间层就需要向底层递交从客户端发送来的数据申请,归纳和整理数据库的响应数据,统一地向客户端例览器进行数据调度和分配。

    对于以XML格式存储的数据,如果数据库不支持XML,就可以在中间层直接进行XML数据的查询。W3C建议了XML的查询语言——XML-QL,其返回值具有灵活多样的特点,可以返回XML的结果树和图表,直接向客户提交。

    可以使用  DOM( Document  object  Model,文档对象模型),为WebGIS的专用程序提供访问XML文档中GIS数据的机制,这些方法通过XML的解析器实现,为每个WebGIS服务商进行程序化的XML数据访问提供了接口。许多解析器,包括Microsoft和Netscape的解析器都提供DOM功能,W3C的DOM Level 1标准定义了 DOM结构如何实现属性、方法、事件等等。以Microsoft的VBScript和IE为例,只要在程序中通过Msxml.dll创建一个解析器的实例:

    Set objwebGISParser=Createobject(" Microsoft.XMLDOM")

    就可以通过包含的类型库和代码访问、处理XML的各个地理信息节点,存取XML文档,获得节点的特征值、数据类型和空间属性等等。

    中间层还需向 XML文件提供名域(Name Space)服务,用以解决不同的XML在具体应用时出现的标识冲突。例如,当来源于不同WebGIS服务提供商的XML文件进行合并时,为避免同样的地理信息标识发生混淆,可使用其各自的Web-URL路径和共用DTD文件的地址为统一的标识前缀,确保标识的唯一性。

3.3客户端:

    WebGIS服务在客户端需要根据客户实际的网络处境,对响应的数据进行个性化和多样化的展示,XML具备这样的能力。显示XML数据的主要工作由XML解析器来完成,Microsoft的IE5、Netscape的Navigator 6.0等浏览器已经可以对XML进行解析。随着XML的发展,更多的网络应用软件支持XML将是必然的趋势。

    由于XML的内容和表现分离,XML在WebGIS客户端的具体展现形态由 style Sheet(样式表)来决定。XSL(eXtesible Stylesheet Language,可扩展样式语言)是XML的样式表语言,用以将XML转换成网络可识别的各种语言页面,例如 HTML页面。由于GIS数据的图形特性,可在WebGIS应用中将其转换为多种Web图形语言(例如 PGML、SVG、VML等等),一些此类的转换引擎已经也将会陆续出现。XSL还便利于客户的交互查询,缩短响应时间。例如当游客寻求至目的地的最短路径和最经济路径时,XSL能根据同样一份XML文件检索、排序,为客户提供结果清单,并即时地在地图上相应地显示。

XML的链接语言XLL(eXtensible link Language)改进了HTML的超文本简单链接,提供了更为强大的功能。它增加了链接可选的行为,支持可扩展的链接和多方向的链接,支持独立于地址的域名、双向链路、环路等等,在实现WebGIS的资源共享方面可加以充分利用。

    WebGIS在动态显示数据方面可以充分发挥XML的诸多功能。Microsoft最近发布了形式为ActiveX的一种XSL处理器,用于在创览器中处理XML文件,在客户端建立基于Java的虚拟机已不是唯一的选择,相当比例的数据可以通过XML交由客户端处理,并且这些数据不依赖于平台、语言等限制,即使在WebGIS的一个潜在的市场——通过移动通讯领域提供服务——也能够充当关键的角色。

4结论与展望

    南京大学已开始从事WebGIS与XML应用的一些基础研究工作,致力于使我国的GIS数据同XML标准化、规范化要求接轨。WebGIS与XML结合优势明显,适应数字地球的潮流与中国的GIS国情,特别是当前大力发展中国的数字地球之际,意义尤其重大。这既是发展的方向,也是机遇挑战,前景光明,必将进~步地推动我国GIS产业的前进。

参考文献:

1 黄杏元.地理信息系统概论,高等教育出版社,1989

2 Extensible Markup Language (XML) 1.0, http://www.w3.org/tr/rec-xml

3 Geography Markup Language(GML) 1.0, OpenGIS Geography Markup Language Specification

 
 
喜欢0 评分0
lzg_cj
路人甲
路人甲
  • 注册日期2004-01-08
  • 发帖数142
  • QQ
  • 铜币448枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2004-02-22 21:53
hao
举报 回复(0) 喜欢(0)     评分
游客

返回顶部