东北电力大学学报
第27卷第1期 Journa l O f Northea st D i a nli Un iversity Vol.27,No.1 2007年2月Na tura l Sc i ence Ed ition Feb.,2007
文章编号:1005-2992(2007)01-0073-04
基于SVG的电力图形系统的实现
李林辉,王玉芹,刘 莹
(东北电力大学信息工程学院,吉林吉林132012)
摘 要:S VG(Scalable Vect or Graphics)是W3C推出的基于X ML(Extensible M arkup Language)的文
本化网络矢量图像格式,具有其他图像格式所不可比拟的优势和发展前景。首先介绍主流的矢量图形
技术,通过分析比较,指出S VG在电力图形系统中的可行性和优越性,并结合.NET框架,给出基于S VG
的电力图形系统的解决方案。
关键词:S VG电力图形系统;NET框架;矢量图形
中图分类号:T M711;T M713 文献标识码:A
随着计算机和网络技术的迅速发展,电力系统的图形化表示以及各种数据的图形化输出是电力应用软件的重要内容,而且图形矢量化是电力行业实时监控系统的热点问题。目前电力图形系统的实现方案,有些采用独立开发的图形模块,有些是在GI S等现有平台的基础上进行二次开发,因此多样化的应用环境存在着难以共享和交换数据的问题[1]。但是随着国际电工委员会(I EC)提出的I EC61970系列标准的提出,公共信息模型(C I M)能够实现E MS应用真正意义上的信息共享。公用信息模型(C I M)是整个E MS2AP I框架的一部分,电力系统公共信息模型(C I M)已经可以用可扩展的标志性语言(X ML)来描述,这样模型就可以通过标准格式进行交换,实现不同E MS、不同应用程序间的数据交换。
S VG是由W3C组织发布的一种基于X ML的开放的二维矢量图形描述语言,主要面向网络应用,本身基于X ML的特征为电力系统应用的网络图形化应用提供了新的思路和技术手段。本文主要讨论如果使用Javascri p t/S VG/.NET Fra me work技术实现基于W eb的电力图形系统,不仅仅实现S VG图形的编辑和存储,而且还完善了图形的实时发布,改善了工作效率。
1 矢量图形技术
目前基于W eb的矢量图形技术是电力图形系统开发中的热点问题之一,本文通过三种矢量图形技术Flash、VML和S VG的分析比较,指出S VG在电力矢量图形系统中的可行性和优越性[2~4]。
1.1 F l a sh技术
S W F是Macr omedia公司推出的Flash软件输出的矢量图形文件格式,其独特的二维网页多媒体技术,将矢量图、位图、音频和动画等互动信息有机而灵活地结合起来,以创造智能高效且颇具渲染力的页面效果令浏览者产生共鸣,成为事实上的新一代网络动画标准。它之所以能占据重要位置,主要是因为它采用了矢量技术,但是由于S W F是Flash在网上发布的经过封装的二进制代码文件,他人无法进行编辑和修改,并且S W F中的文字内容无法让使用者在浏览器中进行字符串搜索,这样也无法让搜索引擎
收稿日期:2006-10-10
作者简介:李林辉(1979-),男,东北电力大学信息工程学院在读硕士研究生,研究方向:计算机在电力系统的应用.
索供用户做全文检索。
1.2 VML 技术
VML (Vect orMarkup Language )是X ML1.0的一个应用,使用VML 可以在I E 5.0以上版本中绘制矢量图形。由于VML 是基于新一带网络标记语言X ML 标准的,也就是说,表示方法简单,易于扩展,数据与表现相分离,同时VML 支持高质量的矢量图形显示,它基于相连接的直线和曲线描述路径。其次VML 由文本构成,可以很方便地融合到HT ML 文件中,可用很少的字节来表示较复杂的图像,可以和其它HT ML 元素一样使用VML 元素,在客户端浏览器显示图像。VML 可以使用DHT ML 大部分属性和事件,如id,on mouseover 等。最后VML 的功能不只是绘图,它可以在图形中嵌入文本,并可实现超链,通
过脚本控制还可以实现动画效果[3]。
1.3 SVG 技术
S VG 是由W 3C 制定的基于X ML 来描述二维矢量图型的一个开放标准,它用文本格式的描述性语言来描述图像内容,因此是一种和图像分辨率无关的矢量图形格式。它具有以下优点:①图像文件可读,易于修改和编辑。②与现有技术可以互动融合。另外,S VG 文件还可嵌入JavaScri p t (严格的说应该是EC MAScri p t )脚本来控制S VG 对象。③S VG 图形格式可以方便的建立文字索引,从而实现基于内容的图像搜索。④S VG 图形格式支持多种滤镜和特殊效果,在不改变图像内容的前提下可以实现位图格式中类似文字阴影的效果。⑤S VG 图形格式可以用来动态生成图形。例如,可用S VG 动态生成具有
交互功能的地图,嵌入网页中,并显示给终端用户[4]。
如前所述,S VG 文档作为一种规范的X ML 文档,能够很好地与W 3C 其他开放标准如DOM ,CSS,XS L,XL ink,Xpointer,S M I L ,HT ML,XHT ML 等进行协同工作,简化异质系统间的信息交流,方便数据库的存取,更重要的是S VG 是W 3C 制定的网络标准,不受单一的公司控制。而在动态环境中,S VG 可以很方便地通过JavaScri p t 和X ML 的DOM 动态生成图形,对于图形的编辑和发布,这项特征是极其重要的。基于以上考虑,电力图形系统采用S VG 来实现。
图1 电力矢量图形系统的应用架构
2 S VG 在电力图形系统中的应用
2.1 图形系统框架
基于S VG 的电力矢量图形系统主要包括两方面:编辑模块和发布模块。编辑模块处理诸如电力接线图等的编辑工作,发布模块解决S VG 图形在W eb 上的发布问题。整个系统的应用架构如图1所
示[5]。
(1)用户表示层:与用户交互的W eb U I 界面,完
全采用S VG 实现。
(2)业务外观层:从用户表示层接受用户的输
入,把请求传递到业务规则层,并将响应返回到用户
表示层。主要功能是实现图元的绘制以及各种操作
功能的完成。
(3)业务规则层:从业务外观层接受请求,根据
系统的业务规则处理请求,并将处理结果传回业务外
观层,实现了各种业务规则和逻辑。
(4)W eb 服务层:接收客户端的请求后,处理客
户端发送过来的数据,将数据按照一定的规则进行转
svg图形换后,并向数据访问层请求服务。
(5)数据访问层:主要解决对数据库的访问问
题,这里数据访问接口采用.NET 框架下的ADO.47东北电力大学学报 第27卷
NET 。
从上面可以看出,由于S VG 是基于X ML 的特性,利用.NET 框架下的Syste m.Xm l 命名空间下的函数,容易实现把X ML 中的数据存入数据库。同样,从数据库检索出来的图形数据也是以X ML 文档的形式从服务器端传到客户端,这样通过DOM 操作把数据载入系统的绘图区。
2.2 客户端表现形式
图2是截取由系统绘制的S VG 示例图片,后面简要介绍了绘图区域图形的描述代码,由于篇幅关系省略部分图形元素的属性描述:
图2 S VG 示例图
<svg width ="800"height ="600">
<g id =layer >
<g id =gr oup >
<line x1="78"y1="55"x2="168"y2="55"/>
<line x1="120"y1="35"x2="120"y2="75"/>
<line x1="215"y1="55"x2="245"y2="55"/>
<use x ="50"y ="30"width ="50"height ="50"xlink:href
="#G"/>
<use x ="180"y ="35"width ="60"height ="60"xlink:href
="#T2"/>
</g >
</g >
</svg >由于S VG 是基于X ML 格式的,完整支持X ML 的DOM 接口,同时S VG 针对自身的特点也提
供了一系列DOM 接口,通过这些接口,系统能够方便地操作图形。但是在电力系统的图形系统设计中,不仅仅要具备S VG 本身的<line >、<rect >、<circle >等元素提供的基本图元,为了提高图形系统的编辑效率,还需要应用<defs >元素特性来提供电力系统特有的设备图元,进而通过<use >元素任意引用指定的设备图元。不仅如此,在使用S VG 的图形编辑系统中,还必须依据S VG 文档中各个元素定义顺序进行渲染的规则,用<g >元素实现层、组的概念。在完善图元的公共属性(例如:线条颜,线宽和填充等等)选择的基础上,可以绘制复杂的电力系统图形。
2.3 服务器端的数据处理
利用S VG 显示电力接线图,可以采用两种解决方案,一种解决方案是将电力接线图保存为S VG 文件,存储在服务器端,客户端请求数据后,将S VG 文件下载到客户端,在客户端的浏览器上显示,另一种解决方案是将电力接线图的图元信息存储到服务器端的数据库中,客户端可以通过查询语句检索最新的图形数据[6]。
表2 SVG 标签的转化规则类型v0v1v2v3v4…直线line x1y1x2y2…矩形rect x y width height …圆circle cx cy r null …自定义use x y width height
………<?x m l versi on ="1.0"><svg >
<line v1="78"v2="55"v3="168"v4="55"/>
<line v1="120"v2="35"v3="120"v4="75"/>
<line v1="215"v2="55"v3="245"v4="55"/>
<use v1="50"v2="30"v3="50"v4="50"v5
="#G"/>
<use v1="180"v2="35"v3="60"v4="60"v5=
"#T2"/>
</svg >上述代码是S VG 文档按照表2的数据转换规则形成的X ML 文档。采用这种处理方法是考虑作业环境是相对变化的,因为相对来说,第一种方案对于静态接线图是一种有效的解决方法,但是在一种动57第1期 李林辉等:基于S VG 的电力图形系统的实现
67东北电力大学学报 第27卷
态的需求环境中,系统经常需要更新电力接线图,这样对不仅加重服务器的负荷,而且在S VG文件的管理上也容易造成混乱,因此基于S VG的电力矢量图形系统采用第二种解决方案。但是对于S VG而
言,图元标签的形式各异,这样在数据库的存储上有一定的困难。为了方便对图形数据的存储,系统必须对S VG数据进行一定的转化,从而能够把S VG相关信息转化为统一的模型。
3 结束语
由于基于X ML的特征,S VG的出现对推进图形数据的共享具有重要意义。本文详细介绍了基于S VG的电力图形系统的实现方法,并阐述了S VG文档对象与X ML文档对象之间的转换,方便了S VG数据的存储,而且基于S VG的图形系统本身具有的可伸缩性和开放性,使得不同厂商之间的图形信息交换更为方便。本系统的下一步工作将是结合A jax技术,完善基于S VG的电力图形系统的发布功能,使其能够达到实时效果。
参 考 文 献
[1] 石东源,卢炎生,等.S VG及其在电力系统软件图形化中的应用初探[J],继电器,2004年第32卷第16期.
[2] 万明民,顾景文.网络矢量图形S W F与S VG的比较分析[J].哈尔滨工业大学学报,2003年第35卷第8期.
[3] 吴彬卓,夏斌.W ebGI S客户端实现技术的比较研究及应用[J].农机化研究,2006(3).
[4] W3C.Scalable Vect or Graphics(S VG)1.1Specificati on[EB/OL].htt p:///TR/S VG/.
[5] 任远,姚建国,等.E MS图形子系统的4层体系设计[J].电力系统自动化,2006年第30卷第16期.
[6] 万本庭陈,明.基于S VG的矢量图形库管理模型[J].计算机工程,2006年第32卷第3期.
Rea li za ti on of power graph i cs syste m ba sed on SVG
L IL i n2hu i,W ANG Y u2q i n,L I U Y i n g
(I nf or mati on Engineering School,Northeast D ianli University,J ilin City,J ilin Pr ovince132012)
Abstract:S VG is the net w ork vect or graphic f or m,which W3C p r omotes,based on X ML,and it has other graphic f or m inco mparable superi ority and the p r os pects f or devel opment.First,this article briefs the p revalent vect or graph technol ogy.Thr ough analysis and comparis on,the paper points out the feasibility and superi ority of S VG in the power graph syste m.Finally,I ntegrated NET Fra me work,the paper p r oduces power graph sys2 te m s oluti on based on the S VG.
Key words:S VG;Power Graphics Syste m;.NET Fra me work
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论