SVG技术是网络图形化的解决方案

 我们对SVG两年多的应用经验表明,SVG是成熟的技术,它能满足油田以及其它行业对Web绘图的要求。SVG技术也正在制定在Web上实现动画以及虚拟现实等的图形化规范。

前言

  随着Internet技术的发展,分布式计算技术也得到了长足的发展。特别是其于Web的绘图技术已经提到日程上来,众所周知,在Web实现图形功能是可以实现的,但是必须借助与第三方提供的一些工具来实现这些图形的绘制,像微软的.NET、SUN的Java等实现Web上的图形功能,但是采用这些工具实现的Web图形,基本上是一个"死图",所以很难让这些图形"活"起来,即实现与用户的有效交互。此外,更重要的一点是,这些图形很难在Interne上实现真正的数据交换功能,因此,W3C基于XML等技术提出了基于Web的二维图形绘制规范,即SVG规范。这个规范不仅适合于Internet上的图形的展示,而且还适合于移动终端上的图形绘制,如基于手机的图形绘制等功能。通过W3C的这一规范,真正实现了用"数据"表达"图形"的时代,在XML中将要绘制的图形的命令及其数据按照规范进行描述,那么就可以实现在Web的丰富的图形展示功能。下面,我们针对在科研中对SVG的使用的一些体会,整理出一些关于SVG的材料,有些也是从相关技术文章引用的。

一、SVG是基于XML专业的Web图像

  1 SVG基于XML格式,易于Web发布、传输以及跨平台性;
  SVG是可缩放矢量图像格式(Scalable Vector Graphics)的简称,SVG标准由权威的W3C组织制定并推荐,它基于XML(可扩展标识语言),是一个全新的标准开放的矢量图像和动画格式。SVG通过使用简单的文本语句完成矢量图像,以及诸如色彩填充、对象运动、动态交互、滤镜效果、音效等各式媒体效果,成为未来的Web图形图像标准。
  SVG兼容XML、HTML 4、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技术为采油厂研究的一个WebGIS交互的实例,见图1。

采用SVG为采油厂研究的WebGIS交互实例

图1 采用SVG为采油厂研究的WebGIS交互实例(点击图片放大)

  除了具备当前网页所具有的一些交互手段外,SVG还在很多方面加强或引入了先进的交互方式,如它完全支持DOM(文档对象模型),并为各种图元留有相应的DOM接口,因而SVG以及SVG中的物件(图元)完全可以通过脚本语言接受外部事件的驱动来实现自身或对其它图元的控制;SVG支持XLink和XPointer,可以在SVG文档及其它文档之间制作超级链接。

  3.SVG既是一种静态图像,又是一种动态图像,可以很方便的实现动态模拟;
  SVG的精华之处更在于它对动画的支持,SVG可以非常方便的实现对地理信息的实时动态模拟,如路径跟踪、气团流动、洪峰监视与预警等诸多应用领域。作为SVG的一个重要的应用分支,Mobile SVG将SVG与GPS、GIS等技术关联起来,借助移动通信设备,为人类活动提供更方便,更智能化的空间定位与导航、目标锁定跟踪等多方面的GIS服务。目前国外有很多大型的IT公司正在积极组织开发Mobile SVG,成熟的Mobile SVG技术已经应用到了我们的生活中。

  4 SVG是一种文本描述格式,易于查询地理信息的属性数据与相关联对象的动态数据
  作为基于文本的格式,SVG图像中的文字可以被网络搜索引擎所搜寻(这样可以制作自由的图像搜索引擎),或被用户浏览器查找和编辑,这种基于文本的格式的另一个好处是可以进行二次修改,因此SVG是一种可升级的图像文件格式。SVG的这一特性非常适合表述复杂而海量的空间数据,这不仅是因为它的存储容量小,结构性强,更重要的是它可以方便的对这些空间数据进行维护与升级。SVG基于对像与组合对像,结构性强,数据具有直观可读性,容易对系统进行维护与升级。SVG既可以对空间数据进行查询,也可以对属性数据进行查询。SVG支持的是一种精确查询,实现简单,查询效率高,是栅格图像中像模式识别所进行的复杂的概似查询所无法比拟的。见图2,是我们利用SVG以及.NET等技术实现的对油田WebGIS上的对象的查询与定位功能。

利用SVG与.NET等技术实现油田WebGIS的对象查询与定位功能

图2 利用SVG与.NET等技术实现油田WebGIS的对象查询与定位功能(点击图片放大)

  5 数据量少,传输效率高
  与传统图形图像格式相比,SVG文档的文件尺寸小得令人吃惊(如上面图2A的大小只有850k字节)。这个优点缘自于SVG与SMIL 1.0(Synchronized Multimedia Integration Language,同步多媒体集成语言)规范的部分结合,同时也是SVG相关的设计机构和人员共同努力的结果。SVG压缩文件尺寸的技术主要包括:SVG制作人员可以使用滤镜效果通过客户端图形操作来构造图形,另外,当同一个图形在一个文档中多次出现时可以使用符号来替代。SVG阅读器可以使用HTTP 1.1的数据压缩功能以及采用逐级渲染的方法来大幅降低用户浏览和交互的时间。高效的SVG词汇表大大缩减了图像文件的尺寸,从而减少了下载时间。同时,在编辑SVG文档时,可以充分利用基本图元定义来组合新的复杂图元

  7 渲染与滤镜处理能力强,电子地图质量高;
  SVG图像的清晰度适合于任何屏幕分辨率或打印分辨率(dpi),支持ICC标准,RGB,线性填充、图案填充和遮罩。增强的色彩精度(1600万种颜色)使得屏幕显示的图像与打印输出的图像色彩保持一致。SVG的矢量滤镜并不直接针对像素进行操作,而是作为某一个对象的独立属性保存在文件中。修改图像效果只需要重新调整这些属性,就可以完成对滤镜的修改、替换和删除,非常的便捷。SVG的矢量滤镜为远程协作和二次编辑提供了极大的自由度。
  SVG符号库填充更是胜人一筹,由于SVG支持引入栅格图像填充,也可以自己定义矢量图元进行填充,SVG还能够引入透明栅格图像,无论什么样的地图符号都可以根据需要填充到相应的方位上。与其它相关语言相比,SVG是专业的图像标准,在图像处理方面有着独特的优势。见图3,就是利用SVG丰富的渲演等功能实现的丰富多彩的图形绘制功能。

利用SVG的渲演功能实现丰富多彩的图形绘制

图3 利用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的查询图像中文字的功能。

三、应用实例

  下面,是我们利用SVG技术实现的油田上的一些地质专业图幅的绘制与展示,见图4。

利用SVG技术实现油田专业地质图幅的绘制与展示

图4 利用SVG技术实现油田专业地质图幅的绘制与展示(点击图片放大)

利用SVG技术实现的油田多井连通关系图


图5 利用SVG技术实现的油田多井连通关系图(点击图片放大)

四、总结

  SVG技术是一个成熟的技术,建议大家要实现基于Web的绘图功能时可以大胆地采用。经过我们对SVG技术的两年多的应用经验表明,这个技术是国际标准,能够满足油田以及其它行业对Web绘图的要求。此外,SVG技术也正在制定在Web上实现动画以及虚拟现实等的图形化规范。
  我们课题组采用SVG技术实现了油田地面工程的WebGIS中的各种对象的展示功能,除些之外,还实现了基于GIS的油田信息集成功能。

关于作者

  袁满,大庆石油学院计算机与信息技术学院,信息集成与分布式计算研究室( <script language="JavaScript" type="text/javascript"> /n </script> yuanman@263.net <script language="JavaScript" type="text/javascript"> </script> 这个 E-mail 地址已经被防止灌水恶意程序保护,您需要激活 Java Script 才能观看 <script language="JavaScript" type="text/javascript"> </script> )

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值