一种电力系统图形文件解析显示方法

文档序号:6517655阅读:331来源:国知局
一种电力系统图形文件解析显示方法
【专利摘要】本发明的目的在于提供一种电力系统图形文件解析显示方法,包括如下步骤:启动图形图形显示界面;选择要打开的图形文件;解析线程以数据流的方式解析文件;图元生成线程从图元基本数据队列中读取图元基本数据,生成图元对象;解析线程读取完文件所有数据,结束本文件的解析过程;图元生成线程将生成的图元对象提交给图形显示主进程,由主进程将图元对象显示出来,完成图形文件的显示。其中的图形文件是基于SVG格式的图形文件。本方法是一种简单易用、高可靠性的SVG电力系统图形文件解析显示方法。
【专利说明】—种电力系统图形文件解析显示方法
【技术领域】
[0001]本发明涉及电网自动化领域,具体来说是一种采用多线程技术,针对SVG图形格式,实现SVG格式电力系统图形文件的解析显示方法。
【背景技术】
[0002]SVG是一种用XML定义的语言,用来描述二维矢量及矢量/栅格图形。SVG提供了 3种类型的图形对象:矢量图形(vectorgraphicshape例如:由直线和曲线组成的路径)、图象(image)、文本(text)。图形对象还可进行分组、添加样式、变换、组合等操作,特征集包括嵌套变换(nestedtransformations)、剪切路径(clippingpaths)、alpha 蒙板(alphamasks)、滤镜效果(filtereffects)、模板对象(templateobjects)和其它扩展(extensibility)。
[0003]可缩放矢量图形(SVG)作为国际电工委员会正式推荐的图形格式,具有无法比拟的优势。SVG已经是在电力自动化系统中最最火热的图像文件格式了,基于SVG的图形在电力系统图形大量出现在各种电力自动化系统中,成为一个最常用的各系统之间的图形交互标准。
[0004]本发明通过应用多线程技术实现了 SVG电力系统图的解析和显示方法,由线程管理模块、图形解析模块、图元生成模块及图形显示进程共同完成对SVG电力系统图的解析和显示。

【发明内容】

[0005]本发明的目的在于提供一种简单易用、高可靠性的SVG电力系统图形文件解析显示方法。
[0006]本发明的目的可通过以下的技术措施来实现:一种电力系统图形文件解析显示方法,包括如下步骤:
[0007]I)启动图形图形显示界面(g3_mmi);
[0008]所述启动过程中,加载任务管理对象,由任务管理对象初始化图形解析线程池和图元生成线程池。
[0009]2)选择要打开的图形文件;所述图形文件为SVG格式的图形文件。
[0010]3)任务管理对象在图形解析线程池中获取一个空闲线程,作为解析线程,由其负责解析当前文件,同时在图元生成线程池中获取另一个空闲线程,作为图元生成线程,由其负责生成用于显示的图元;
[0011]4)解析线程获取文件内容,检查文件格式是否是相应的图形格式,如果不是,则结束本次解析显示;如果是,则进入下一步对文件进行解析;
[0012]5)所述解析线程以数据流的方式解析文件,每次读取一个当前文件位置的数据提取电力系统图元基本数据,电力系统图元基本数据包括图元所处坐标、图元对应电力系统设备属性(设备ID、点ID、设备类型等)信息,将提取的数据放到图元基本数据队列中;所述数据是SVG格式的图形文件的数据。
[0013]6)所述图元生成线程从图元基本数据队列中读取图元基本数据,生成图元对象;
[0014]7)所述解析线程读取完文件所有数据,结束本文件的解析过程;
[0015]8)所述图元生成线程将生成的图元对象提交给图形显示主进程,由主进程将图元对象显示出来,完成图形文件的显示。
[0016]本发明对比现有技术,有如下优点:
[0017]I建立了基本图元模型,有利于对不同图形类型的扩展。
[0018]2图形解析采用了流模式,解析速度快。
[0019]3多线程池的设计方式,极大提高了文件的解析速度,当解析大文件时效果尤其明显。
[0020]4采用任务对象进行管理线程池,实现简单、规范,易于扩展。
【专利附图】

【附图说明】
[0021]图1是本发明的电力系统图形文件解析的流程图;
[0022]图2是本发明的电力系统图形文件显示的流程图。
【具体实施方式】
[0023]下面结合附图对本发明的电力系统图形文件解析显示方法进行具体描述,该方法包括如下步骤:
[0024]I)启动图形图形显示界面(g3_mmi);
[0025]所述启动过程中,加载任务管理对象,初始化图1中所示的工作线程管理模块、图元解析线程和图元生成线程。
[0026]当打开图形时,由工作线程管理模块寻找一个空闲的图形解析线程,它来负责对图形进行解析。解析完一个完整图元后,将该图元数据放入图元基本数据队列中。然后再由工作线程管理模块寻找一个空闲的图元生成线程,由这个线程负责根据图元基本数据队列中的数据生成具体的现实图元,并将生成的图元提交给图形显示主进程用于显示。
[0027]2)选择要打开的SVG图形文件。
[0028]3)任务管理对象在图形解析线程池中获取一个空闲线程,作为解析线程,由其负责解析当前文件,同时在图元生成线程池中获取另一个空闲线程,作为图元生成线程,由其负责生成用于显示的图元,如图1所示。
[0029]4)解析线程获取文件内容,检查文件格式是否是SVG图形格式,如果不是,则结束本次解析显示;
[0030]5)所述解析线程以数据流的方式解析文件,每次读取一个当前文件位置的SVG数据提取电力系统图元基本数据,电力系统图元基本数据包括图元所处坐标、图元对应电力系统设备属性(设备ID、点ID、设备类型等)信息,将提取的数据放到图元基本数据队列中;
[0031]6)图元生成线程从图元基本数据队列中读取图元基本数据,生成图元对象;
[0032]7)解析线程读取完文件所有信息,结束本文件的解析过程;图2中图元为NULL的情形。图2为图形显示主进程的显示流程。对于图1中图元生成线程发过来的图元,首先判断其是否为NULL,如果为NULL,表明文件解析完成,可以开始从数据库中获取实时数据,进行图元的刷新。如果不为NULL,要辨识图元的图层信息,对于具有图层信息的图元,要放入图层容器中显示。而对于不包含图层信息的图元,则直接放入显示场景中。
[0033]8)所述图元生成线程将生成的图元对象提交给图形显示主进程,由主进程将图元对象显示出来,完成SVG图形文件的显示,如图2所示。
[0034]本发明的实施方式不限于此,在本发明上述基本技术思想前提下,按照本领域的普通技术知识和惯用手段对本
【发明内容】
所做出其它多种形式的修改、替换或变更,均落在本发明权利保护范围之内。
【权利要求】
1.一种电力系统图形文件解析显示方法,其特征在于包括如下步骤: 1)启动图形图形显示界面;在启动过程中,加载任务管理对象,由任务管理对象初始化图形解析线程池和图元生成线程池; 2)选择要打开的图形文件; 3)任务管理对象在图形解析线程池中获取一个空闲线程,作为解析线程,由其负责解析当前文件,同时在图元生成线程池中获取另一个空闲线程,作为图元生成线程,由其负责生成用于显示的图元; 4)解析线程获取文件内容,检查文件格式是否是相应的图形格式,如果不是,则结束本次解析显示;如果是,则进入下一步对文件进行解析; 5)所述解析线程以数据流的方式解析文件,每次读取一个当前文件位置的数据提取电力系统图元基本数据,将提取的数据放到图元基本数据队列中; 6)所述图元生成线程从图元基本数据队列中读取图元基本数据,生成图元对象; 7)所述解析线程读取完文件所有数据,结束本文件的解析过程; 8)所述图元生成线程将生成的图元对象提交给图形显示主进程,由主进程将图元对象显示出来,完成图形文件的显示。
2.根据权利要求1所述的电力系统图形文件解析显示方法,其特征在于:所述图形文件为SVG格式的图形文件;所述步骤5)中的所述数据是SVG格式的图形文件的数据。
3.根据权利要求1所述的电力系统图形文件解析显示方法,其特征在于:所述步骤5)中的所述电力系统图元基本数据包括图元所处坐标、图元对应电力系统设备属性信息。
4.根据权利要求3所述的电力系统图形文件解析显示方法,其特征在于:所述设备属性信息包括设备ID、点ID、设备类型。
【文档编号】G06F9/46GK103617073SQ201310535832
【公开日】2014年3月5日 申请日期:2013年11月1日 优先权日:2013年11月1日
【发明者】陈宏辉, 曹彦朝, 胡铁斌, 邹剑, 吴锡武, 孔海滨, 刘仲尧, 李绥荣, 吴海勇, 周志辉, 任永伟 申请人:广东电网公司茂名供电局
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1