利用SVG建立WebGIS的优越性

来源:百度文库 编辑:神马文学网 时间:2024/04/26 00:34:05
利用SVG建立WebGIS的优越性
Written by 韩元利 陈飞 黄梦龙
2006-Jul-07
来源:中国科技论文在线(www.paper.edu.cn)
摘要:本文从 SVG 的特点出发,针对空间数据的复杂性、拓展性和 GIS 平台的开放性、交互性,论述了SVG 在构建地理信息系统平台时所发挥的重要作用,最后通过与各种矢量描述语言的对比,展现了 SVG技术在构建 OpenGIS 平台过程表现出来的优越性。
关键字:可缩放矢量图像格式、WebGIS、XML、矢量图像、优越性
SVG,是可缩放矢量图像格式(Scalable Vector Graphics)的简称,SVG 标准由权威的 W3C 组织制定并推荐,它基于 XML(可扩展标识语言),是一个全新的标准开放的矢量图像和动画格式。SVG 通过使用简单的文本语句完成矢量图像,以及诸如色彩填充、对象运动、动态交互、滤镜效果、音效等各式媒体效果,成为未来的 Web 图形图像标准。
一、SVG:基于 XML,是一种专业的 Web 图像标准
1.SVG 基于 XML 格式,易于 web 发布、传输,跨平台;
SVG 兼容 XML、HTML4、XHTML 等语言并符合 CSS、XSL、DOM 等规范。这就意味着 SVG 将是可扩展、可样式化、可脚本化和易于集成的。SVG 可以很好的跨平台工作,解决外部输出、色彩、带宽等相关问题。在 SVG 中,地理数据可被唯一地标识,便于信息查询和搜索,便于网上参与数字地球的资源共享,提高 WebGIS 服务的互操作性,减少了服务器和客户之间的频繁交互,从而提高 GIS 用户的互操作速度。XML 具有数据来源的多样性和多种应用的灵活性、柔韧性和适应性。XML 可以对不同来源的结构化的 GIS数据进行合并、集成,客户获得 XML 数据后,可以用以开发多种形式的 WebGIS 应用软件,也可用于测量、制图、空间分析和空间建模等空间数据计算和数据处理,扩展 XML 与 GIS 数据的多方面应用。利用 XSLT技术,可以非常容易的将各种 XML 空间数据转换为 SVG 的图像格式,因而可以说,正因为 XML 标准的开放性,SVG 才成为了 OpenGIS 的新宠。
2.交互性强,支持各种先进的网页交互技术;
SVG 支持 SMIL(synchronized multimedia integration language),使得用户可以自由的同 SVG 中的元素完成一些交互的动作,从而完成既定的目标,这一点在目前单独依靠图片是完成不了的,需要由网页中的脚本语句来实现。
SVG 图像能对用户动作做出不同响应,例如高亮、声效、特效、动画等,SVG 图像中的命令语句可以自由的和脚本程序,JavaScript 或 XML 进行交互,完全通过代码来实现。SVG 图像可以方便的由程序语言来动态的生成,例如用 JavaScript,Perl,Java 甚至是 XSLT,这对于一些数据库制表是非常实用的,图像可以根据数据库中的关系量实时的改变。
除了具备当前网页所具有的一些交互手段外,SVG 还在很多方面加强或引入了先进的交互方式,如它完全支持 DOM(文档对象模型),并为各种图元留有相应的 DOM 接口,因而 SVG 以及 SVG 中的物件(图元)完全可以通过脚本语言接受外部事件的驱动来实现自身或对其它图元的控制;SVG 支持 XLink 和 XPointer,
可以在 SVG 文档及其它文档之间制作超级链接。
3.SVG 既是一种静态图像,又是一种动态图像,可以很方便的实现动态模拟;

图 1、SVG 实现路径的动态模拟
SVG 的精华之处更在于它对动画的支持,如上图所示,SVG 可以非常方便的实现对地理信息的实时动态模拟,如路径跟踪、气团流动、洪峰监视与预警等诸多应用领域。作为 SVG 的一个重要的应用分支,Mobile SVG 将 SVG 与 GPS、GIS 等技术关联起来,借助移动通信设备,为人类活动提供更方便,更智能化的空间定位与导航、目标锁定跟踪等多方面的 GIS 服务。目前国外有很多大型的 IT 公司正在积极组织开发 Mobile SVG,成熟的 Mobile SVG 技术已经应用到了我们的生活中。
4.SVG 是一种文本描述格式,可以很容易的对各种复杂的地理信息进行查询与升级;
作为基于文本的格式,SVG 图像中的文字可以被网络搜索引擎所搜寻(这样可以制作自由的图像搜索引擎),或被用户浏览器查找和编辑,这种基于文本的格式的另一个好处是可以进行二次修改,因此 SVG 是一种可升级的图像文件格式。SVG 的这一特性非常适合表述复杂而海量的空间数据,这不仅是因为它的存储容量小,结构性强,更重要的是它可以方便的对这些空间数据进行维护与升级。SVG 基于对像与组合对像,结构性强,数据具有直观可读性,容易对系统进行维护与升级。SVG 既可以对空间数据进行查询,也可以对属性数据进行查询。SVG 支持的是一种精确查询,实现简单,查询效率高,是栅格图像中像模式识别所进行的复杂的概似查询所无法比拟的。

图 2A、全国 1:400 万省级行政区划图缩小图  2B、局部放大图
5.数据失真小,可以用真实的平面投影坐标来表述空间数据;
对空间信息的量化描述最佳表现模式是数字化制图,SVG 是完全的数字制图模式,非常适合表达空间量化信息。可缩放向量制图法可以保证图像的显示质量不会因为平移或缩放等操作而受损,而这类操作目前正被广泛地用于绘制图表和 Web 站点的导航图。矢量图形是可缩放的,并且在图形缩放或旋转时不会降低分辨率或模糊细节(如图 2B 所示,无论是放大的图像还是缩小的图像,地图所表现的精度却一致的,即1:400 万比例尺的精度)。可缩放矢量图形还可以采用轻巧的可移植格式描绘复杂图形。由于 SVG 的完全数字制图模式,为针对图元的空间拓扑关系研究、空间实体与实体属性的关联分析等课题提供了广泛的研究空间。
在 SVG 中,可以采用灵活的坐标系来描述图元,在不同坐标系之间的转换非常容易实现。观察者可以方便的设置视野范围,SVG 根据视野范围确定伸缩比例,SVG 中可以采用真实的平面投影坐标来表述图元数据,这也就是说,你完全可以通过 SVG 绘制出一幅我国疆域的 1:1 比例尺的地图来,只不过你永远看不到这幅地图的全貌。
SVG 提供了复杂的曲线拟合功能,同样可以从图 1 中可以看出,SVG 通过简单的方式实现了 Bezier 曲线的绘制,在 SVG 的路径命令中,同样提供了一串点链的弧线连接,所有这些,为我们更准确的描述地理信息提供了基本保证。
6.数据量少,传输效率高;
与传统图形图像格式相比,SVG 文档的文件尺寸小得令人吃惊(如上面图 2A 的大小只有 850k 字节)。这个优点缘自于 SVG 与 SMIL1.0(Synchronized Multimedia Integration Language,同步多媒体集成语言)规范的部分结合,同时也是 SVG 相关的设计机构和人员共同努力的结果。SVG 压缩文件尺寸的技术主要包括:SVG 制作人员可以使用滤镜效果通过客户端图形操作来构造图形,另外,当同一个图形在一个文档中多次出现时可以使用符号来替代。SVG 阅读器可以使用 HTTP 1.1 的数据压缩功能以及采用逐级渲染的方法来大幅降低用户浏览和交互的时间。高效的 SVG 词汇表大大缩减了图像文件的尺寸,从而减少了下载时间。
同时,在编辑 SVG 文档时,可以充分利用基本图元定义来组合新的复杂图元,如通过以经定义了弧线来组合多边形,如下所示:
M 4.01505e+006,4.20166e+006 l &arc1; l &arc3; l &arc5; l &arc4; l &arc8; z
这样一个简单的路径描述语句,就可以准确的描述北京市怀柔县的边界图,如果用点链来表示的话,在 1:100 万的地图中,它至少需要 800 个 Double 型的数据大小,这样处理的好处其实还有很多,我们将在以后相关文章中讨论。经过处理后,SVG 的文件大小可以大大的减少。
7. 渲染与滤镜处理能力强,电子地图质量高;
SVG 图像的清晰度适合于任何屏幕分辨率或打印分辨率(dpi), 支持 ICC 标准,RGB,线性填充、图案填充和遮罩。增强的色彩精度(1600 万种颜色)使得屏幕显示的图像与打印输出的图像色彩保持一致。SVG的矢量滤镜并不直接针对像素进行操作,而是作为某一个对象的独立属性保存在文件中。修改图像效果只需要重新调整这些属性,就可以完成对滤镜的修改、替换和删除,非常的便捷。SVG 的矢量滤镜为远程协作和二次编辑提供了极大的自由度。
SVG 符号库填充更是胜人一筹,由于 SVG 支持引入栅格图像填充,也可以自己定义矢量图元进行填充,SVG 还能够引入透明栅格图像,无论什么样的地图符号都可以根据需要填充到相应的方位上。与其它相关语言相比,SVG 是专业的图像标准,在图像处理方面有着独特的优势。
二、与其它矢量描述语言的比较
1.与 GML、VML、PGML 的比较
矢量标识语言(VML),精度图像标识语言(PGML)都是作为 W3C 的矢量图像初始标准在 1998 年提出的。VML 和 PGML 在很多地方非常的类似,但 VML 比较适合一些普通矢量图像,而 PGML 可以做出更加丰富多彩,适合专业设计和公众出版的图像。为了进一步促进图像标准的发展,W3C 成立了 SVG 工作组。SVG工作组将 VML 和 PGML 的优势结合在了一起,重新推出了新的标准矢量格式,这就是 SVG。
GML、SVG、VML 都与矢量图形有着密切的关系:GML 在表示实体的空间信息的同时加入了实体的其他属性信息,是表示实体的空间信息和属性的编码标准,但它并不支持直接显示图形。而 VML 和 SVG是在表示图形的矢量信息同时加入了图形的显示信息(即以什么样的样式显示矢量图形),是显示矢量图形的两种比较好的格式。相比之下,SVG 是综合了 VML 的优点后推出的,是国际标准,它比 VML 具有更多的优点,也有更广阔的前景。
2.与 VRML 的比较
虚拟现实建模语言是用来描述三维交互场景和实体的一种文件格式。用于联接全球网(WWW)。它可以用于创建复杂场景的三维表示,如装饰图像,产品设计和虚拟现实实现。同 Java 3D 一样,VRML 也是遵循 OpenGL 标准的。OpenGL 是近年来发展起来的一个性能卓越的三维图形标准,它是在 SGI 等多家世界闻名的计算机公司的倡导下,以 SGI 的 GL 三维图形库为基础制定的一个通用共享的开放式三维图形标准。
VRML 在其描述中也采用了节点树的表达方式。与 VRML 不同的是,SVG 是专门针对二维场景而推出的一种基于是 XML 标准的标记言语,对三维场景它显然无能为力。另一方面,VRML 并不是基于 XML标准的,这对我们实现三维 OpenGIS 也是一个不利因素。
3.与 SWF 比较
从某种意义上,SWF 与 SVG 有很多惊人的相似之处。Flash 凭借其优越的表现形式和便利的创作工具成为目前网络动画设计的首选,SWF 日益在网络中普及,但与 SVG 相比较,SWF 存在着以下的不足:
* SWF 是一个非开放标准。这就意味着该技术掌握在个体手中,技术的发展受到方方面面的限制。同时,SWF 与其他的开放标准也没有完整的融合方案。尽管 SWF 目前已经提供了对 XML 的支持,但这种支持是单方面的。随着 XML 及其他开放标准的发展,SWF 的不协调性将日益显著。
* SWF 的可编辑性不如 SVG。SWF 作为最终的动画生成格式,其创作过程封装在 SWF 文件中,几乎无法再进行二次编辑。同时,SWF 也不提供对文本格式的支持,因此,无法获得类似 SVG 的查询图像中文字的功能。
需要提及的是,在矢量描述语言中,还有一种不容忽视的描述语言—PostScript 语言,它的主要用意是
以相对设备独立的方式为影像提供一种方便的页面描述语言。在 GIS 中虽然可以用来描述最终的地图产品,但由于其缺少最起码的交互性,因而不适宜用来开发 GIS 平台。
三、小结
无论是 SVG 本身所具备的处理矢量图形的优越特性,还是 GIS 平台对处理数据的特殊要求,将 SVG应用到 GIS 中是相得益彰的。文章最后通过与各种矢量描述语言的对比,展现 SVG 技术在构建面向网络的开放式的 GIS 平台过程表现出来的优越性。
参考资料:
【1】 Scalable Vector Graphics (SVG) 1.1 Specification [R], W3C Working Draft,2003;
【2】 Christophe Jolif, Software Architect,Comparison between XML to SVG Transformation Mechanisms
- The GraphML use case,SVG Open 2003 Conference ,2003-7;
【3】 Mr. Ron Lake, President, Galdos Systems Inc,What is a Map Style? Building on GML and SVG,
SVG Open 2003 Conference ,2003-7;
【4】 侯宇,李素有,基于 XML 的 SVG 技术及其应用,计算机应用研究 2002 年第 5 期;
【5】 吴斌,SVG:未来的 Web 图形标准,PC World China,2000 No. 49
作者简介:
韩元利,博士生。
武汉大学资源与环境科学学院,武汉市珞喻路129,430079
现在主要研究方向是地理信息系统、三维可视化等。 E-mail :goldenhyl@sina.com This email address is being protected from spam bots, you need Javascript enabled to view it