适用于移动设备的面向对象的电网SVG单线图展示方法与流程

文档序号:16246305发布日期:2018-12-11 23:36阅读:476来源:国知局
适用于移动设备的面向对象的电网SVG单线图展示方法与流程

本发明属于智能电网信息化管理技术领域,具体涉及一种适用于移动终端设备的面向对象的电网svg格式单线图的展示方法。

背景技术

随着智能电网建设的逐步深入,以信息化、自动化等技术手段为支撑,提升供电服务质量,成为电力企业发展的核心。基于移动设备(平板电脑、智能手机)的电网实时运行监视,能够实现随时、随地监视电网的实时运行状态,为电网监控、调度及运维检修等工作提供便利。在移动设备上进行电网实时运行监视,主要包括电网接线图的解析与渲染、基于接线图的实时运行数据监视、和其他重要信息的发布与展示,其中前两项是基础和重点。

svg(可缩放矢量图形)基于可扩展标记语言,是一种常见的电网单线图文件格式。目前,用于移动设备的电网svg格式单线图文件解析与渲染、及基于接线图的实时运行数据监视方法主要包括:

1)基于浏览器进行图形展示及数据监视;

该方法通过在浏览器中打开svg格式单线图文件,由浏览器负责进行svg格式单线图的解析与渲染,同时使用javascript脚本通过http通信定时向服务端请求实时数据,取得数据后,根据约定的数据格式由javascript脚本进行数据解析,并依据数据标识将实时数据更新显示到图形上,实现图形展示及实时运行数据监视。这种方法的优点在于开发工作量小,只要定义好数据格式并完成数据解析即可,如果已经实现了基于web的图形展示和数据监视,则可以直接重用。但是也存在着一些问题,图形的解析、展示以及数据解析等都依赖于浏览器,整体性能易受浏览器的影响,当图形较大时耗时较长;同时,通过原生语言调用javascript脚本方法的接口有安全漏洞,存在安全隐患;此外,展示的信息仅包含表象数据,缺少电网拓扑信息。

2)基于浏览器内核进行图形展示;

这种方法与方案1)类似,由浏览器内核组件负责进行svg格式单线图的解析与渲染,不同的是,这种方法使用移动设备操作系统原生开发语言(如安卓为java,ios为objectivec)、通过http/socket通信定时向服务端请求实时数据;取得数据后,根据约定的格式由原生开发语言进行数据解析,并调用javascript脚本方法,由脚本方法依据数据标识将实时数据更新显示到图形上,通过浏览器内核与原生开发语言结合实现图形展示及数据监视。此方法在方法1)的基础上,通过使用系统原生开发语言进行数据通信,避免了将通信接口暴露给浏览器,同时实时数据的解析也由原生开发语言完成,一定程度降低了整体性能对浏览器内核的依赖程度。但是,图形的解析、展示仍然由浏览器内核完成,而展示的信息也缺少电网拓扑信息;此外,通过原生语言调用javascript脚本方法的接口有安全漏洞,存在安全隐患。



技术实现要素:

为解决上述技术问题,本发明提出了分别由面向对象的图形解析引擎和系统画布完成图形的解析和渲染,不仅脱离了对浏览器(浏览器内核)的依赖,而且避免了使用存在安全漏洞的接口,解决了原方案中存在的安全隐患;本发明提出将图形解析和渲染分离,由运行在服务器上的面向对象的图形解析引擎进行图形解析,形成二进制格式的面向对象的图像模型文件,然后由移动设备的系统画布基于模型文件完成图形的渲染,提升了工作效率;另外,本发明按类别将每个电网设备解析为对象后,根据描述库和拓扑信息库的内容,为对象添加描述信息、拓扑关系和互操作事件属性,最终在移动设备上展示的图形,既包含图形以及连接方式等基础信息,也包含电网设备的描述信息和拓扑关系。本发明所采用的技术方案如下:

适用于移动设备的面向对象的电网svg单线图展示方法,包括以下步骤:

步骤1、根据组成电网的设备的图形元素的不同类型,对每一类图形元素都定义一个类、以及该类图形元素的属性,定义图形元素库;

步骤2、根据组成电网的设备的不同类型,对每一类电网设备都定义一个类、以及该类电网设备的属性和方法,定义电网设备类型库;

步骤3、调用电网svg图形文件,服务器上的解析引擎对svg图形文件进行扫描;

步骤4、对每个电网设备,按照步骤2中所定义的电网设备类型库的描述实例化为对象,称为设备对象,创建设备对象的图形元素容器;

步骤5、对组成每个电网设备的所有图形元素,按照步骤1中所定义的图形元素库的描述依次实例化为对象,称为图形元素对象,根据svg图形文件中图形元素标签的属性及其值、初始化图形元素对象的属性(包括线段样式、线段端点样式、线段颜色、是否首尾闭合、是否填充、填充颜色、线宽、路径、轮廓点集合、字体、字体大小、字体颜色、字体样式中的一个或多个),并依据图形元素的类型,将图形元素对象添加到步骤4中实例化得到的设备对象的图形元素容器中(即构建图形元素对象到设备对象的组成关系);

步骤6、调用并检索电网描述库和拓扑库,并根据检索结果初始化步骤4中实例化得到的设备对象的描述属性和拓扑属性,包括设备id、设备类型、设备名称、设备编号及拓扑关系;

步骤7、对每个设备对象,根据步骤5、6中设置的属性的值,按照步骤1中所定义的图形元素库的描述和步骤2中所定义的电网设备类型库的描述,生成设备对象的互操作方法,包括:放大、缩小、滑动、点击、选中;以及,绘制方法及重绘方法,并生成面向对象的图形模型文件;在这里,设备对象的互操作方法中的放大、缩小、滑动,以及设备对象的绘制和重绘,可最终分解为由组成该设备对象的所有图形元素对象对应方法的依次执行完成;互操作方法中的点击,由组成设备对象的任一图形元素对象的点击方法触发,继而执行设备对象的选中方法完成;互操作方法中的选中,由组成设备对象的所有图形元素的选中方法执行完成;

步骤8、移动设备读取步骤7生成的图形模型文件的内容,完成设备对象的载入,依次调用设备对象的绘制方法,在系统画布上进行设备对象图形的绘制,完成电网svg图形文件的展示;

步骤9、通过https/socket通信定时获取电网实时运行数据,解析后,调用相关设备对象图形元素的重绘方法(这里的重绘方法即步骤7中定义的重绘方法),完成实时运行数据在图形上的刷新。

优选地,步骤1所述的组成电网的设备的图形元素的不同类型包括:直线、椭圆、折线、矩形、多边形、三角形、热点、曲线、点、字符。

优选地,步骤1所述的定义图形元素库的具体方法是:对每一类图形元素都定义一个类,该类图形元素的属性包括:线段样式、线段端点样式、线段颜色、是否首尾闭合、是否填充、填充颜色、线宽、路径、轮廓点集合、字体、字体大小、字体颜色、字体样式中的一个或多个,用来描述图形显示的唯一标识、位置、大小、颜色、形状及样式;定义用来进行交互操作的属性(方法),包括放大、缩小、滑动、点击、选中等;以及,定义图形元素绘制方法和重绘方法。在这里,图形元素的互操作方法、绘制方法和重绘方法基于系统的图形基类的对应方法实现。

优选地,步骤2所述的组成电网的设备的不同类型包括:开关、刀闸、母线、馈线、变压器、故障指示器、接地刀闸、电容器、避雷器、pt、ct、消弧线圈等。

优选地,步骤2所述的定义电网设备类型库的具体方法是:对每一类电网设备都定义一个类,该类电网设备的属性包括:组成该类电网设备的图形元素的容器,每类图形元素一个容器,容器中包含该类图形元素的个数为0及以上;定义电网设备的描述信息属性和拓扑信息属性;定义用来进行互操作的方法、图形绘制方法和重绘方法。

优选地,步骤6所述的调用并检索电网描述库和拓扑库、并根据检索结果初始化属性的具体方法是:在进行svg图形文件解析的同时,根据每个电网设备的唯一标识(id),在电网描述信息库和拓扑信息库中检索该设备的描述信息和拓扑信息,根据检索到的信息对该电网设备实例对象的描述信息属性和拓扑信息属性进行赋值。

优选地,步骤7所述的生成面向对象的图形模型文件的具体方法是:完成步骤6的工作后、对生成的信息进行存档,保存为二进制格式的面向对象的图形模型文件。

本发明的有益效果:

1)本发明将图形中的每个电网设备解析为一个对象,并将其图形构成、图形样式、图形显示、交互操作、描述库和拓扑信息等都作为该对象的属性。其中,构成该电网设备的每个图形元素又作为一个对象,该图形元素的图形样式、图形显示、交互操作等又作为该图形元素对象的属性。这种面向对象的方法,使得图形定义、视图渲染与显示及实时运行数据监视能够分层处理,结构清晰,易于管理和扩展。

2)本发明对电网图形的解析与展示及基于图形的实时运行数据监视不再依赖浏览器(浏览器内核),而使用系统画布进行图形的展示和实时运行数据的展示。而对图形解析这种耗费硬件资源的任务,可以在高性能的服务器上进行,提升了整体性能。

3)本发明使用基于原生开发语言的https/socket通信完成基于图形的实时运行数据监视,避免使用存在安全漏洞的接口,保证了通信数据的安全性。

4)本发明可以展示更详细的电网设备描述信息以及拓扑信息;同时,基于本方案的便于扩展特性,还可以根据需要对展示的信息进行扩展,展示更多的信息,对电网监控、调度及运维检修等工作进行辅助。

附图说明

图1是本发明的逻辑流程框图。

具体实施方式

下面结合附图,具体说明本发明的实施方式。

本发明采用的技术手段是面向对象的电网svg图形解析与渲染方法。在svg图形文件中,定义了各类电网设备图形,而每一类电网设备均由不同的图形元素构成。其中不同的图形元素以标签(xml标签)的形式进行定义,而图形元素所表示的电网设备的类型、位置、大小、颜色、形状、唯一标识、字体样式、互操作事件属性则由标签属性定义。

本方法将电网svg格式单线图文件的解析与电网svg格式单线图文件的展示进行拆分,将原来都由移动设备完成的工作一分为二,其中计算较为复杂的部分由性能较高的服务器完成,而计算较为简单的部分则由移动设备完成。首先,由运行在服务器上的面向对象的图形解析引擎进行svg格式单线图文件的解析,它扫描整个svg格式单线图文件,对文件中定义的每个电网设备,根据类型一一实例化为对象(即设备对象),创建组成电网设备的图形元素容器。然后,对组成电网设备的图形元素一一实例化为图形元素对象,由标签属性定义的电网设备在图形中显示的位置、大小、颜色、形状等样式则初始化为图形元素对应属性的值,并将图形元素按类别添加到组成电网设备的图形元素容器中。其次,解析引擎根据设定的电网描述库和拓扑信息库的数据源,在数据库中进行检索,并根据检索结果初始化设备对象的描述信息和拓扑信息属性;同时,根据前述步骤设置的设备对象的值,定义设备对象的互操作方法、绘制方法和重绘方法,完成svg格式单线图文件的解析。最后,将解析的结果保存为二进制形式的面向对象的图形模型文件。

移动设备在取得面向对象的图形模型文件后,通过读取模型文件的内容,完成设备图形对象的载入,然后按照对象属性的值,调用对象的绘制方法,在系统画布上完成图形上所有设备的渲染与显示;并由原生开发语言通过https/socket通信完成电网实时运行数据获取,并解析、刷新到图形上。

如图1所示,是本发明的逻辑流程框图。适用于移动设备的面向对象的电网svg单线图展示方法,包括以下步骤:

步骤1、根据组成电网的设备的图形元素的不同类型,定义图形元素库;图形元素的类型包括:直线、椭圆、折线、矩形、多边形、三角形、热点、曲线、点、字符。对每一类图形元素都定义一个类,该类图形元素的属性包括:线段样式、线段端点样式、线段颜色、是否首尾闭合、是否填充、填充颜色、线宽、路径、轮廓点集合、字体、字体大小、字体颜色、字体样式中的一个或多个,用来描述图形显示的唯一标识、位置、大小、颜色、形状及样式;定义用来进行交互操作的属性(方法),包括放大、缩小、滑动、点击、选中等;以及,定义图形元素绘制方法和重绘方法。

在一个面向对象的图形解析引擎中只有一个图形元素库,只需在解析引擎初始化时建立。图形元素库中某类图形元素的定义示例如下(java):

步骤2、根据组成电网的设备的不同类型,定义电网设备类型库;电网设备类型包括:开关、刀闸、母线、馈线、变压器、故障指示器、接地刀闸、电容器、避雷器、pt、ct、消弧线圈等。对每一类电网设备都定义一个类,该类的属性包括:组成该类电网设备的图形元素的容器,每类图形元素一个容器,容器中包含该类图形元素的个数为0及以上;定义电网设备的描述信息属性和拓扑信息属性;定义用来进行互操作的方法、图形绘制方法和重绘方法。

与图形元素库相同,在一个面向对象的图形解析引擎中只有一个设备类型库,只需在解析引擎初始化时建立。电网设备类型库中某类电网设备的定义示例如下(java):

步骤3、调用电网svg图形文件,服务器上的解析引擎对svg图形文件进行扫描。

步骤4、对每个电网设备,按照步骤2中所定义的电网设备类型库的描述实例化为对象,称为设备对象,创建设备对象的图形元素容器。

步骤5、对组成每个电网设备的所有图形元素,按照步骤1中所定义的图形元素库的描述依次实例化为对象,称为图形元素对象,根据svg文件中图形元素标签的属性及其值初始化图形元素对象的属性,并依据图形元素的类型,将图形元素对象添加到步骤4中实例化得到的设备对象的图形元素容器中(即构建图形元素对象到设备对象的组成关系)。

步骤6、调用并检索电网描述库和拓扑库,并根据检索结果初始化属性;在进行svg图形文件解析的同时,根据每个电网设备的唯一标识(id),在电网描述信息库和拓扑信息库中检索该设备的描述信息和拓扑信息,根据检索到的信息对该电网设备实例对象的描述信息属性和拓扑信息属性进行赋值。

步骤7、对每个设备对象,根据步骤5、6中设置的属性的值,按照步骤1中所定义的图形元素库的描述和步骤2中所定义的电网设备类型库的描述,生成设备对象的互操作方法(包括放大、缩小、滑动、点击、选中)、绘制方法和重绘方法,完成后、对生成的信息进行存档,保存为二进制格式的面向对象的图形模型文件。

步骤8、移动设备读取步骤7生成的图形模型文件的内容,完成设备对象的载入,依次调用设备对象的绘制方法,在系统画布上进行设备对象图形的绘制,完成电网svg图形文件的展示。

步骤9、通过https/socket通信定时获取电网实时运行数据,解析后,调用相关设备对象图形元素的重绘方法,完成实时运行数据在图形上的刷新。

本实施例中,步骤1-7在服务器端运行,步骤8-9在移动设备端运行。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1