已阅读5页,还剩59页未读, 继续免费阅读
(水利水电工程专业论文)基于xml支持数字流域的webgis初步设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
华中科技大学硕士学位论文 摘要 ( 数字流域是数字地球在流域区域内的实现。在数字流域的建设中,关键的数据需 要保持唯一并且需要及时更新。还有一部分数据可以向公众开放,从而允许公众根据 自身的需要使用这些数据。使用i n t e r n e t 技术的w e b g i s 无疑能够实现上述目的。然 而传统的w e b g l s 在数据共享上存在有局限性。在w e b g i s 中使用x m l 技术可以弥 、 补传统技术的局限。户,6 , 本文论述了当前x m l 技术在w e b g i s 中应用状况,并且着重研究了使用g m l 和x s l t 技术的w e b g i s 方案。本文实现了该方案的一个原型,发现在当前的条件下 该方案具有通用性差、程序编写复杂、编程量大和系统运行效率低下的缺点。针对这 些缺点,本文提出了x m l 技术和组件技术相结合,以e s r i 的s h a p e 文件为原始系 统输入的w e b g i s 解决方案。本文的解决方案将s h a p e 文件中以s h p 为扩展名的主文 件中所存放的矢量空间数据用s v g 文件的形式存储,并且将s h a p e 文件中扩展名 为d b f 的文件中的属性数据用a d o 转换为符合a d o 的s c h e m a 的x m l 数据文件。 除此之外,该方案还使用一个h t m l 将s v g 文件和x m l 文件联系在一起,同时在 h t m l 中的脚本代码还负责响应用户的操作。这种设计方案不仅使属性数据可以容易 的在x m l 文件和数据库存储形式之间转换,而且允许用户对系统的某些特征进行白 定义。在本文方案的实现过程中,使用了设计模式和c o m 技术。这些技术的使用大 大提高了系统的源代码级和二进制级的重用性。在对s h a p e 文件的读取过程中,本文 根据s h a p e 文件数据的存储结构的特殊性,针对c + + 文件流在这种环境下的缺点,使 用了内存映射的读取方式。该技术的使用大大提高了程序的运行效率,而且使程序的 编写更为简单。 在数字流域的建设中,本文所描述的系统可以将以有的s h a p e 文件存放的g i s 数 据快捷地发布到i n t e m e t 上。 关键词:w e b g i s 可扩展标记语言设计模式组件对象模型可伸缩矢量图形 s h a p e 文件 华中科技大学硕士学位论文 a b s t r a c t d i g i t a lv a l l e yi st h ei m p l e m e n t a t i o no f d i g i t a le a r t h i nv a l l e ya r e a i nt h ec o n s t r u c t i o n o f d i g i t a lv a l l e y , i m p o r t a n td a t an e e d sk e e ps i n g l e t o na n du p d a t i n gi m m e d i a t e l y ap a r to f d a t ac a nb eo p e n e dt op u b l i c t h i sa l l o w sp u b l i ct ou s ei t b yo w nn e e d s w e b g i su s i n g i n t e r a c tt e c h n o l o g yc a nr e a c ht h o s eg o a l sd e s c r i b e da b o v e b u tt h et r a d i t i o n a lw e b g i s t e c h n o l o g yh a ss o m el i m i t i o ni nd a t as h a r i n g a p p l y i n gx m l t e c h n o l o g yi nw e b g i sc a n a m e n d st h o s el i m i t i o n t o d a ym o s tw e b g i ss y s t e mi sd e v e l o p e db a s e do nt h ec g i ( c o m m a ng a t e w a y i n t e r f a c e ) a n dj a v aa p p l e t e st e c h n o l o g y t h e s ek i n d so ft e c h n o l o g ye n c a p s u l a t et h ed a t a t h a tc r e a t e db y d i g i t i z a t i o ni na n y f o r mt h a tt h ec l i e n tc a n n o tr e a d s oo u rd a t ac a n n o tb e s h a r e de f f e c t i v eo ni n t e r a c t a n di f t h es e r v e rs i d e p r o v i d e sa n yl i m i t e ds e r v i c e s ,c l i e n t s c a nd o n o t h i n g t oe x t e n dt h es y s t e m x m l ( e x t e n s i b l e m a r k u pl a n g u a g e ) t e c h n o l o g y c a n s o l v es u c h p r o b l e m s i tc a nm a k em a n y w o r k sd o n eo nt h ec l i e n ts i d ea tt h em e a nw h i l eo f p r o v i d i n gd a t as h a r i n ga n d f u n c t i o ne x t e n s i o n s ot h i st e c h n o l o g y r e a l l yd e c r e a s e st h el o a d o f s e r v e rs i d e t h i st h e s i sd e s c r i b e st h e a p p l i c a t i o n s t a t u so fx m l t e c h n o l o g y i nw e b g i s i t e s p e c i a l l y s t u d i e st h ew e b g i ss o l u t i o nu s i n gg m l ( g e o g r a h ym a r k u pl a n g u a g e ) a n d x s t l t e c h n o l o g y t h i st h e s i sa l s oi m p l e m e n t sap r o t o t y p eo f t h i ss o l u t i o n b u tt h ed e f e c t s s u c ha sp o o rg e n e t i c ,c o m p l i c a t ep r o g r a m m i n g , h e a v yw o r ka n db a dp e r f o r m a n c eo ft h i s m e t h o da r ef o u n d t os o l v et h e s ep r o b l e m s ,t h i st h e s i sp r o p o s e daw e b g i ss o l u t i o nw h i c h t a k e se s r i s h a p e f i l ea st h ei n p u to f t h e s y s t e mb a s e do n t h ex m la n dc o m t e c h n o l o g y t h es o l u t i o ni nt h i st h e s i se x t r a c t st h ei n f o r m a t i o ni nt h em a i nf i l eo f s h a p e f i l e sa n ds t o r e s t h ei n f o m a t i o ni nas v g f i l e ,a tt h es a m et i m e ,t h es o l u t i o na l s oc o n v e r tt h ed a t af i l eo f s h a p e f i l e si n t oax m ld a t af i l e b e s i d e st h e s e ,i tb u i l d sa l lh t m lf i l ew h i c hc o n n e c t st h e t w of i l e so u t p u tf r o mu p o nd e s c r i b e t h es c r i p tc o d e si nt h i sh t m lf i l em a k et h es y s t e m i i 华中科技大学硕士学位论文 i n t e r a t e dw i t hu s e r s t h i sd e s i g nn o to n l ym a k e st h ec o n v e r tb e t w e e na t t r i b u t ed a t as t o r e d i nd a t a b a s ea n dx m lf i l ee a s i e rb u ta l s oa l l o w su s e r st od e f i n es o m ea t t r i b u t eo f t h es y s t e m i nt h ei m p l e m e n t a t i o no ft h es o l u t i o n ,d e s i g np a t t e r na n dc o mi su s e d t h ea p p l i c a t i o no f t h o s e t e c h n o l o g i e si m p r o v e s t h er e u s a b i l i t yo ft h es y s t e mi ns o u r c ec o d el e v e la n dr u n n i n g c o d el e v e l f o rt h ec h a r a c t e r i s t i co fd a t af o r m a to fe s r is h a p ef i l e ,m e m o r ym a p i n g t e c h n o l o g y i ss e l e c t e dt or e m e d yt h ed e f e c to fc + + s t a n d a r df i l es t r e a mm e t h o di nr e a d i n g p r o c e d u r eo f t h em a i nf i l eo f s h a p e f i l e s t h i st e c h n o l o g ye n h a n c e st h ep e r f o r m a n c eo ft h e p r o g r a m a n dm a k e s c o d i n g e a s i e r i nt h ec o n s t r u c t i o no f d i g i t a lv a l l e y , t h es y s t e md e s c r i b e di nt h i st h e s i sc a n d e l i v e rt h e g i sd a t as t o r e di ns h a p e 矗1 e q u i c k l y o i lt h ei n t e r n e t k e yw o r d s :w e b g i s ,d e s i g np a t t e r n ,c o m ( c o m p o n e n to b j e c tm o d e l ) ,s v g ( s c a l a b l e v e c t o r g r a p h i c s ) ,e s r is h a p e f i l e 1 i i 华中科技大学硕士学位论文 第1 章绪论 w e b g i s 是i n t e m e t 技术及g i s ( g e o g r a p h i c a l i n f o r m a t i o ns y s t e m ) 技术相互结合 的一种技术。它的主要功能是在w e b 上实现g i s 的相关功能。这些功能包括空问数 据的显示、用户对属性数据的查询和空间信息分析“i t 2 1 等等。用户可以通过互联网快 捷的访问g i s 所提供的数据而无需使用特定的专业软件。这种技术从一方面使地理信 息得到更大的共享从而为人们所利用,另一方面它可以使用户无需为不必需的g i s 功 能支付昂贵的软件费用。 w e b g i s 通常可以按照系统中负载的分布归纳为以下三种模式:服务器策略、客 户端策略以及混合策略【3 l 。其中每种模式都有着它所适应的具体环境和优缺点。因此 实际的w e b g i s 系统的开发通常是根据各种应用环境而采用不同的系统模式从而实现 最佳的成本效益和运行性能。 1 1 课题的来源和目的 在数字流域的w e b g i s 的开发过程中,我们发现基于j a v aa p p l e t s 和a c t i v e x 技 术的传统w e b g i s 解决方案有着种种的不足之处,这些缺点包括: ( 1 ) 在从原始数据转换到w e b 形式的过程中存在着信息的遗失。这种遗失在矢量 数据转换为w e b 中可以显示的图形格式的过程中显的尤为突出。 ( 2 ) 系统的数据是以用户无法知晓的格式存放的。因此,当用户希望对数据进行 进一步处理的时候,用户是无法获得原始数据的。 ( 3 ) 系统中使用的技术往往存在某些安全隐患。许多公司的系统管理员都禁止浏 览器使用j a v aa p p l e t s 和a c t i v e x 控件。在这种情况下,传统的w e b g i s 系统将无法 有效的运行。 ( 4 ) 就使用j a v a a p p l e t s 技术的系统而言,系统的运行效率在极大程度上受到网络 带宽的限制。原因在于,j a v a a p p l e t s 在小带宽的环境中需要很长的下载时间【4 j 。 由于以上缺点,在我们使用基于传统技术的a _ r e v i e wi m s 发布地理信息的时候, 华中科技大学硕士学位论文 运行效果和性能始终无法满足我们的要求。于是我们尝试用其他的技术来解决以上的 问题。在选择更为有效技术的时候,我们发现x m l ( e x t e n s i b l em a r k u pl a i l g u a g e ) 技术 的种种优点可以弥补上述系统的不足。x m l 技术的优点包括: ( 1 ) 使用x m l 描述地理信息不会存在信息遗失的问题。x m l 在数据存储中应用 表明该技术极为适合精确地表述各种形式的数据。 ( 2 ) x m l 是以文本形式存储的,因此用户可以在各种平台下清楚的识别一个x m l 文件中所存放的数据的内容。同时,x m l 还支持u n i c o d e ,这使得无论用户是使用何 种语言,数据都可以被其他人所识别【5 1 。 ( 3 ) x m l 所使用的网络传输协议为h t t p ,几乎所有的网络管理员都不会禁用该 协议的端i s l 。与此同时,x m l 与h t m l ( h y p e rt e x tm a r k u pl a n g u a g e ) - - 样是纯文本 的,因此所有的w e b 浏览器都不会禁用该功能。因此,系统在任何情况下都可以使 用。 ( 4 ) 像s v c - ( s c a l a b l e v e c t o r g r a p h i c ) 这样的x m l 标准还支持以压缩的形式传送【6 】, 这样可以极大的减少网络负载。 鉴于以上的优点,我们决定开发一个基于x i v l l 技术的拥有基本功能的w e b g i s 软件。该软件可以将我们存放在e s r is h a p e 文件中的地理数据以x m l 的形式表达出 来,同时实现地图的浏览、放大( z o o mi n ) 、缩& ( z o o mo u t ) 、点击地图获得相应属性 数据( i d e n t i f y ) 的功能。除此之外,由于x m l 数据的存储是透明的,因此用户还可 以根据自身的需要对系统的行为和功能进行扩展。在整个系统实现后,我们将会使我 们所拥有的地理信息得到充分的共享,从而发挥更大的作用。 1 2 本文的主要研究内容 本文首先对当前w e b g i s 的技术进行了总结及回顾。然后,本文探讨了x m l 技 术及其在w e b g i s 中的应用,并且考察了当前所广泛使用的基于x m l 技术的w e b g i s 的解决方案。针对这种解决方案的不足之处和我们所处的软硬件环境,本文提出了系 统的设计方案。该方案使用s v g 显示矢量数据,使用m i c r o s o f t a d o 中的x m l 标准 存放属性数据,然后通过h t m l 页面将两者联系起来,并且使用脚本控制三者之间 2 华中科技大学硕士学位论文 的交互。本文随后对方案的实现中所遇到的各种技术问题作了具体的描述和分析,并 探讨了如何将面对对象技术和组件技术应用在系统的开发中,从而在源代码和二进制 码的级别上对软件进行重用。最后,本文阐述了系统的不足之处,并且展望了今后 w e b g i s 的发展方向。 1 3 w e b g i s 技术策略研究及分析 i n t e m e t 的普及已经大大改变了人们获取信息的方式。它从诞生之同开始就是为 了使人们极大地共享信息。我们之所以将g i s 系统建筑在i n t e m e t 技术之上,就是让 人们更为方便地获得和使用已经获取的地理信息,从而使资源得到最为充分的利用。 但是种种技术的局限使这种初衷难以实现。当前的w e b g i s 可以分为三种主要的实现 方式,它们分别为:服务器策略、客户端策略以及混合策略。在下面我们将要分析它 们之间的优缺点以及适合的情况。 1 3 1 服务器端策略分析 首先先来考虑服务器策略。所谓服务器策略就是w e b g i s 系统的主要功能都是在 服务器端完成的。这些功能包括分析、查询、图形的生成等等,而客户端仅仅负责数 据的浏览。客户与服务器的交互过程通常是由以下几步组成的: ( 1 ) 客户向服务器发出请求。 ( 2 ) 服务器处理该请求,并且在服务器端完成相关的运算,然后将结果和数据传 送回客户端。 ( 3 ) 客户浏览结果并且重复步骤1 。 这种方案的优点在于客户端不必完成大量的运算而将复杂的运算和分析交给功 能强大的服务器去完成。这种方案的缺点在于由于客户必须向服务器不断发出需要处 理的请求,服务器必须在处理完成之后将结果提交给客户端。因此客户和服务器之间 必须保持持续的连接。同时,当传送的数据较为庞大时整个系统必然会受到网络带宽 和拥塞的严重影响。另外,应用服务也不能利用客户终端的计算能力。客户端不参与 任何的计算和分析,所作的仅仅是提交请求和接受结果。因此这种方案适合于客户端 3 华中科技大学硕士学位论文 不需要什么g 1 s 分析能力的情况中。 1 3 2 客户端策略分析 这种方案有时也称为胖客户策略。该方案将一部分服务器所要进行的处理放到客 户端来执行。客户端策略的优点在于应用服务可以利用客户端的计算能力从而极大的 减轻了服务器的负担。与此同时客户还获得了对数据处理过程的更多地控制权。在服 务器将所有用户希望得到的数据提交给客户之后,用户可以在本地机上对数据进行处 理,从而不需要与服务器保持持续的网络连接。 客户端策略的缺点在于:由于在应用运行时需要将类似于j a v aa p p l e t s 之类这样 的大数据从服务器端下载到客户端,因此在这段时间之内会造成较大的通信量并导致 延迟。如果客户端的运算能力不很强大时就无法完成复杂而巨大的数据处理任务。同 时,复杂的g i s 分析处理也会运行的十分缓慢。客户有可能因为缺乏必要的培训从而 根本无法使用所提供的分析和处理的功能。 综上所述,这种策略适合将少量的数据集发布在速度较快的i n t r a n e t 中。同时客 户端策略存在有两种变体: 一是使用具备g i s 功能的a p p l c t s 的技术方案。在这种方案中,g i s 的功能是由 在客户端运行的小程序或者a p p l e t s 所提供。而这些a p p l e t s 则是根据客户的需要进行 下载的。一旦这样的小程序或者a p p l e t s 下载到客户端之后,客户端与服务器之间就 无需进行任何交互,因为客户所发出的所有请求都是由本地的小程序或a p p l e t s 负责 响应。 以下描述了该方案的运作过程: ( 1 ) 客户通过浏览器向服务器发出请求。 ( 2 ) 该请求通过i n t e r n e t 传输到服务器端。 ( 3 ) 服务器负责处理该请求。 ( 4 ) 服务器将数据和a p p l e t s 或小程序一起发给客户端作为响应。 图l l 描述了使用g i s a p p l e t s 的客户端策略。该方案中的a p p l e t s 可以用j a v a , j a v a s c r i p t 或者a c t i v e x 编写。其中j a v a 及j a v a s c r i p t 语言是由s u n 及n e t s c a p e 公司 4 华中科技大学硕士学位论文 开发的,在几乎所有的浏览器中都有用j a v a 及j a v a s c r i p t 语言编写的a p p l e t s 的运行 环境。而与之不同的是由m i c r o s o f t 开发的a c t i v e x ,它只能使用在以w i n d o w s 为操 作平台的浏览器环境中。 客户端服务器端 注解: ( 1 ) 客户向服务器发出请求;( 2 ) 服务器处理该请求并且将所需信息传回客户端;( 3 ) 数据处理在客户端进行。 图1 - 1 使用a p p l e t s 的客户端w e bg 1 s 方案 另一种技术方案是在客户端永久或半永久保存的g i sa p p l e t s 及插件,这种客户 端策略将g i s 功能添加到浏览器上。我们知道从i n t e r n e t 上获取必要的数据和a p p l e t s 是相当耗时的工作,尤其当该应用是经常使用时。 这种方案或者将g i s 功能a p p l e t s 以永久或半永久的方式传送至客户端,因此客 户不必在每次使用的时候都从服务器端去下载;或者客户下载插件程序然后在安装到 客户的浏览器中;再或者在客户端的g i s 软件中添加浏览器功能的模块一其中一些包 含有可以操作外部文件的脚本语言的g i s 软件包,这些软件包还可以从互联网上下载 数据。现在的g i s 软件包也提供象m s o f f i c e 这样的办公软件一样允许用户在本地文 档和互联网资源之间建立链接的功能。 客户端服务器端 注解: ( 1 ) 应用内部的链接向服务器请求数据;( 2 ) 服务器根据需要返口l 数据 图1 - 2 客户端程序象浏览器那样使用g 1 s 系统 5 华中科技大学硕士学位论文 在这种客户端的w e b g i s 策略中,客户可以自行决定在程序中与互联网资源建立 链接的位置。服务器只需为客户某个特定应用程序的请求而传送数据。这种方式允许 用户对数据的使用和分析有着全部的支配权 1 3 3 策略的比较分析和本文所采用的混合策略 纯粹的服务器端和客户端的方案有着以下的局限: ( 1 ) 如果服务器端方案中涉及到频繁的响应和数据传送,那么网络的带宽和拥塞 将会极大影响整个系统的性能。 ( 2 ) 客户端的解决方案在某种程度上依赖于客户端的计算能力,这意味着如果系 统的运算处理需要比客户端处理器的运算能力高的话,那么某些处理任务将会运行的 十分缓慢。 为了将最大程度的利用客户和服务器端的计算能力,可以将服务器端的策略和客 户端策略结合在一起,这就是所谓的混合策略。这种解决方案的核心思想是将涉及到 大量数据库使用和复杂分析处理的操作放置在速度较快的机器上执行,通常是由服务 器端处理;而需要由客户进行更多控制的部分则是在客户端的机器上进行处理。在这 种解决方案中,服务器与客户端需要对相互的计算能力信息进行相互的了解从而决定 如何在服务器和客户端分配计算任务从而达到最佳的性能指标。下图显示了混合方案 的基本结构。 如果w e b g i s 系统的设计者对客户端的计算能力、客户对g i s 应用的知识和 w e b g i s 系统的理解情况有着很好的理解就可以设计出十分具有效率的w e b g i s 系统。 1 4x m l 技术及其在w e b g i s 中的应用 在当今,x m l 技术无疑是最为热门的技术之一。从前几年作为h t m l 替代者开 发出来到现在它已经成为事实上的数据存储和交换方式之一【7 1 【8 1 。x m l 与大家熟悉的 用于描述文本排列的h t m l 不同,x m l 是用来描述原始的数据而根本不考虑数据是 如何显示的。同时,x m l 也没有h t m l 那些预先定义的标记。但是,x m l 仍然与 h t m l 一样是使用纯文本描述的,因此它与h t m l 一样都适合面向文本的传输协议 6 华中科技大学硕士学位论文 一h t t p 。在某种方面而占,x m l 定义了游戏的规则,而其余的问题则由使用者决定。 x m l 技术目前已经得到了广泛的应用。它不仅为公司和个人提供了一种通用的 数据存储格式而且还为w e bs e r v i c e 提供了不依赖于任何平台的消息包装机制。而且, 有些互联网站点也是用x m l 技术构建的,x m l 技术在这样的站点中可以将数据及数 据的描述清楚的分离开来。 x m l 技术得到普及的另外一个原因就是它现在已经成为了工业标准。有着大量的 程序和应用使人们方便的从中提取数据或者将数据存放为x m l 的格式。同时,这些 工具还允许我们在存储数据的x m l 文件与数据库之间进行相互的转换。这使我们的 工作变得更为轻松。本章描述了x m l 技术的一些基本知识并且介绍了x m l 技术在 g i s 中的一些应用。 注解: ( 1 ) 客户向服务器请求数据;( 2 ) 服务器向客户返回数据和a p p l e t s ;( 3 ) 客户与服务器之间仍然保持交互和 数据传输 图1 3 服务器和客户端混合w e bg i s 策略 1 4 1x m l 技术综述 x m l 是描述数据本身和结构的语言,x m l 的数据存放在文档中,这种所谓的文 档可以是文本文件,也可以是流( s t r e a m ) 这样的抽象媒质。这一点可以在d o m ( d o c u m e n t o b j e c tm o d e l ) 1 7 1 1 8 l 的操作中发现。 一个正确的x m l 文档应该以类似于 ? x m lv e r s i o n = ”1 0 ”的处理指令开头, 所谓处理指令是指告诉x m l 解析器如何处理x m l 文档的指示,它类似于c 语言中 的# i n c l u d e 或者# d e f i n e 这样的预处理指令。上一条处理指令表示该x m l 文档符合 x m l l 0 的规范。同时x m l 还可以允许其他的处理指令,但是所有的处理指令都必 须放置在 ( b o o k ( t i t l e m f ci n t e r n a l s ( t i t l e a d d i s o nw e s l e y ( b o o k i n s i d ec o m m i c r o s o f tp r e s s 如果将以上的x m l 文件表示为树形结构,我们将会得出图1 4 的结果。 属性( a t t r i b u t e s ) 是名称与对应的值组成的对。x m l 允许在元素的开始标记中 添加属性从而进一步说明该元素。属性的值应该放置在双引号或者单引号之中,并且 该值可以包含空格和引号。属性的名称和元素的名称一样都不能包含空格。并且,一 个元素所拥有的属性数目没有特殊的限制。在什么时候使用属性和在什么时候选择元 素,这完全取决于客户的喜好。一般说来,重要的信息由元素来表示,而一些与之相 关的额外信 8 华中科技大学硕士学位论文 图1 - - 4x m l 文档结构图示例 息则使用属性来表示。 包含在x m l 元素中的文本数据可以表示为字符数据( c d a t a ) 、解析的字符数据 ( p c d a t a ) 或者两者的混合。在 ! c d a t a 【】标记之间的文字数据就是c d a t a 而 其他的数据则为p c d a t a 。x m l 解析器会分析p c d a t a 数据但是会忽略c d a t a 数 据。这意味着你可以在c d a t a 的标签中使用任何字符,包括 这些对x m l 有特 殊意义的字符。因此c d a t a 在向x m l 文件中添加一些数学表达式和程序代码的时 候十分方便。另一种在数据中添加x m l 特殊字符的方式是使用实体引用( e m i t y r e f e r e n c e s ) 。所谓实体引用就是一个用& 号和;号包围的字符串符号。x m l 将一些特殊 的字符预定义为一些实体引用。例如在p c d a t a 中使用 号的时候应该写为& n :在 p c d a t a 中还可以使用字符引用( c h a r a c t e rr e f e r e n c e s ) 。字符引用使用数字编码代表字 符,该数字编码放置在& 撑与:号之间。 学习过c + + 的人对名字空间的概念应该十分清楚。同样,在x m l 中名字空间也 是为了解决名称冲突的一个十分重要的概念。名称空间通常以以下方式作为属性定义 在一个元素中:x m l n s :p r e f i x n a l n e = ”u r i ” 其中x m l n s 是x m l 中用来定义名字空问的指示符,p r e f i x 则是该名字空间的前 缀,用来标示该名字空间中的所有元素和属性的名称。而u r i 则是统一资源标示符, 用于指示该名字空间所参照的文档。一个名字空间的前缀在所声明的位置开始和予元 素当中都是有效的,子元素没有必要再重新指定同一个名字空间而自动与父元素声明 在相同的名字空间中。但是,属性并不遵守相同的规则。元素声明在一个名字空问中 并不意味它的属性也是在该名字空间中。如果要表明属性在某一名字空问中,必须要 9 华中科技大学硕士学位论文 明确的指出。x m l 同时还支持所谓默认的名字空间,该名字空间的定义是不需要任 何的名字前缀的。并且,一经定义,所有子元素都属于该名字空问除非明确指定了该 子元素的名字空间前缀。 符合x m l 规则的x m l 文档称为规范( w e l l f o r m e d ) 的。规范的文档只能说明该 x m l 文档的语法没有错误,但并不能说明该文档所描述的数据是有效。为了使x m l 文当中所包含的内容可以正确的描述客观世界的事实就必须将该文档进一步规范为 有效的文档( v a l i dd o c u m e n t ) 。早先的有效文档在规范的同时必须符合d t d ( d o c u m e n t t y p ed e f i n i t i o n s 文档类型定义) 。但是由于d t d 本身是以另外的方式描述的,这样会 给从事x m l 文件定义的人带来一些麻烦,所以现在基本上已经放弃了这种做法。现 在用来描述x m l 文档中数据类型和文件结构的方法称为s c h e m a ,它实际上也是一个 x m l 文档,只不过它的目的是为了描述其他的x m l 文档。因此,现在称为有效的 x m l 文档是指那些规范而又符合某个s c h e m a 的文档。当前用来编写s h e m a 所使用的 是由w 3 c ( 互联网论坛) 制定的一种称为x m l s c h e m a d e f m i t i o n s ( x s d s ) 的x m l 语 言定义的。关于x s d s 的详细定义请参考h t t p :w w w w 3 o r g t r x m l s c h e m a - 1 以及 h t t p :w w w w 3 o r g 厂r r ,x m l s c h 叫l a 2 。 1 4 2x m l 在w e b g i s 中的应用研究 由于x m l 的种种优点,g i s7 - 业的开发商和研究人员从x m l 技术诞生之初就 不断研究如何将x m l 技术用在g i s 中。地理信息系统的巨头e s r i 就在a r e l n f 0 8 中 选用x m l 作为存储元数据( m e t a d a t a ) 的格式【”。该x m l 文件只是存储最原始的数 据,至于该数据是如何现实则取决于客户。 同时。g i s 社团还开发出了专门用于描述地理信息的x m l 应用一g m l ( g e o g r a p h i cm a r k u pl a n g u a g e 地理标记语言) 1 0 l b h g m l 是由o p e n g i s 论坛所提 出的,目前的版本为2 。第一个版本使用d t d 定义各种标记【l “,而第二个版本则是 用s c h e m a 定义所有标记【1 0 1 。g i s 的研究人员希望将g m l 建立成为一个标准。但是由 于g m l 仍然在发展的过程中,存在一些悬而未决的问题,因此它暂时还没有被接受 为标准之一。g m l 的拥护者指出如果我们使用g m l 传递地理信息许多问题将有所改 1 0 华中科技大学硕士学位论文 观。“因为我们拥有可以绘图和可视化的x m l 技术( v m l ,s v g 和x 3 d ) ,我们还拥 有数据转化的x m l 技术( x s l t ) ,我们还有描述数据摘要的x m l 技术( d t d ,x m l s c h e m a ,r d f s ) ,同时x m l 技术中的x p o i n t e r , x q l 向我们提供了数据查询的手段 而且x l l 还向我们提供了连结大型数据集的方法。”【1 2 1 而且,x m l 技术还可以在任 何平台上实现。 正如我们所知,地理信息系统是与地理位置信息相关的系统,它显著的技术特征 在于需要处理大量的图形。图形作为系统的输入同时也作为系统的输出。因此,最终 客户在要求数据的同时必定要求该数据图形显示从而获得对应的位置关系的形象化 的描述。但是由于用于描述原始地理信息的x m l 应用无法提供任何现实方式,所以 我们必须寻找其他的途径显示数据。在g i s 中使用的数据模型通常分为两类,一类是 栅格模型,另一类则是矢量模型。栅格模型将空间分为一系列单元,每个单元代表有 限但是确定的地球表面【1 3 】。单元可以是任何形状,但是通常为矩形。而矢量数据则是 假定地理空间是连续的,因此它提供用坐标精确描述的地理信息。由于矢量数据与传 统的地图很相似,因此制图学家较为偏爱矢量数据。当前有许多种x m l 应用用于描 述矢量图形,它们包括v m l ( v e c t o rm a r k u pl a n g u a g e ) 和s v g 【1 4 】。v m l 是m i c r o s o f t 于1 9 9 8 年向w 3 c 提交并且获得通过的标准。并且m i c r o s o f t 将v m l 的功能和实现嵌 入到o f f i c e 2 0 0 0 系列和i e 5 0 之后的版本中,因此,在w i n d o w s 平台上使用v m l 将 无需更多的支持。但是,v m l 只提供了对矢量图形的简单描述并且缺少事件支持, 因此它的功能十分有限。后来,m i c r o s o f t 转而支持s v g v m l 基本上处于维护阶段, 并没有新增的功能。s v g 也是由w 3 c 指定的用于描述矢量图形的x m l 应用。s v g 允许w e b 开发者和设计者根据事实数据创建具有精确结构和视觉控制的动态和高质 量的图形【1 5 l ( 1 6 l 。同时s v g 有着许多事件驱动模型并且为各种通用的w e b 脚本语言提 供了编程接口因此通过使用该技术,开发者可以创建基于数据驱动、交互的和个性化 图形的w e b 应用。与v m l 不同,m i c r o s o f t 并没有在浏览器中加入s v g 显示的功能, 要显示s v g 文件必须要下载专门的插件。不过,s v g 插件都是免费的,并且不止一 家公司提供了用于显示s v g 的浏览器插件。其中a d o b e 公司为各种平台下的浏览器 都提供了可应用的插件。 华中科技大学硕士学位论文 如果将数据存放在类似于g m l 这样的x m l 文件中,客户是无法在浏览器中显 示它的。为了使客户在浏览器中查看到相应的图形必须对g m l 文件进行相应的转换。 用两种方式可以完成该转换。一种方式是使用c s s ( c a s c a d i n gs t y l es h e e t 层叠风格 页) ,这种方式也是对h t m l 页进行调整和显示的方式。通过使用c s s 可以在不改变 x m l 文档结构和内容的情况下对x m l 文件中个别元素的显示做出规定,但是该技术 不能存取x m l 的属性、实体和处理指令也没有提供修改和改变x m l 文件的内容的 功能。因此它的功能十分有限,也无法完成显示图形的工作,只能对文字的显示和排 版做出规定。 x m l 技术中专门针对x m l 的转换及显示提供了一种机制,该机制称为 x s l t ( e x t e n s i b l es t y l e s h e e tl a n g u a g ef o rt r a n s f o r m 扩展转换风格页语言) 。x s l t 是由 w 3 c 通过的一项正式的提议。该技术实际上是一种用于将一种x m l 文件结构转换为 另一种x m l 文件结构或者其他的基于文本的各是的标记和编程模型。它可以将描述 原始数据的x m l 文件转换为通用的h 1 m l 文件以显示其中的数据。x s l l 真正的强 大之处在于它不仅仅提供了像c s s 那样描述一种x m l 文档结构的媒介而且具备改变 该文档结构底层结构的能力。 以上两种技术是w 3 c 的规范技术,还有一种技术是中特别提供的。它是将 h t m l 页的外部x m l 文件作为数据源嵌套在h t m l 页面中,然后通过脚本语言访问 和操纵x m l 数据。这一技术m i c r o s o f t 称为d s o ( d a t a s o u r c e o b j e c t 数据来源对象) 。 而链接到h t m l 页面中的x m l 数据则称为d a t ai s l a n d ( 数据岛) ,每个数据岛都有一 个用于标示从而允许s c r i p t 通过d 访问该数据文件。s c r i p t 则是使用d o m ( d o c u m e n t o b j e c t m o d e l 文档对象模型) 对x m l 数据进行操作。 1 5 小结 w e b g i s 技术在当前应用广泛。当今主要的w e b g i s 解决方案主要有3 种,它们 分别是基于服务器端的解决方案、基于客户端的解决方案和服务器及客户端的混合方 案。但是具体选择怎样的方案要根据所要解决的问题和客户和服务器以及网络的具体 情况来做出决定。 华中科技大学硕士学位论文 x m l 与h t m l 一样是基于文本的标记语言。但它与h t m l 不同在于它是用来描 述数据而不是描述数据的显示。同时,它允许用户自定义标记的规则从而提供了极大 的灵活性。在
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 甘肃张掖甘州中学2027届数学七上期末综合测试试题含解析
- 贵州省绥阳县2027届数学九上期末检测模拟试题含解析
- 2027届河南省洛阳市李村一中学数学九上期末联考模拟试题含解析
- 四川省内江市东兴区2027届数学八上期末学业质量监测模拟试题含解析
- 2027届江苏省徐州市丰县数学九年级第一学期期末综合测试模拟试题含解析
- 2026年浙江省义乌市高三数学下册期末考试模拟测试卷(考点提分)附答案
- 2026年浙江省桐乡市高三数学下册期末考试模拟卷含完整答案【必刷】
- 2026年山东省诸城市高三数学下册期末考试模拟试卷及一套完整答案
- 2026年吉林省洮南市高三数学下册期末考试模拟试卷及完整答案【考点梳理】
- 2025-2026学年seasons四季英语说课稿
- 糖尿病自我管理行为量表SDSCA
- 学校各班级评分评比各项细则
- 2026特种作业人员培训
- 2026-2030洗发护发品市场发展现状调查及供需格局分析预测报告
- 2026年检察院书记员招聘笔试核心考点
- (2026年)危重病人的病情观察及护理课件
- 桩基检测监理实施细则
- 厦门大学介绍
- 国家安全法培训课件
- 低温冰雪天气防范课件
- (一模)柳州市2026届高三第一次模拟考试化学试卷(含答案)
评论
0/150
提交评论