一种基于多叉树自动布局的电网供电路径展现方法
技术领域
本发明涉及一种电网调度自动化领域的供电路径展现方法,具体涉及一种基于多叉树自动布局的电网供电路径展现方法。
背景技术
随着电力***的快速发展,各级调度运行***对智能化调度的要求越来越高。调度自动化***和配网自动化***逐渐由简单的监控型向智能辅助决策型发展。电网供电路径展现有助于调度人员快速把握电网运行方式,进行负荷转供和故障恢复。
发明内容
针对现有技术的不足,本发明提供一种基于多叉树自动布局的电网供电路径展现方法,该展现方法利用多叉树动态展现电网供电路径,既便于调度人员快速把握电网实时运行方式,也减轻自动化人员的维护工作。
本发明的目的是采用下述技术方案实现的:
一种基于多叉树自动布局的电网供电路径展现方法,其改进之处在于,所述方法包括下述步骤:
(1)采用递归算法进行供电路径搜索;
(2)确定多叉树每个节点的x、y坐标;
(3)绘制所述多叉树每个节点;
(4)用多叉树展现供电路径。
优选的,所述步骤(1)中,所述采用递归算法进行供电路径搜索包括下述步骤:
A、用户选择一个电力设备,将所述电力设备推入队列;
B、从队列中取出一个电力设备,得到和该电力设备属于同一逻辑母线的变压器绕组;
C、判断所述变压器绕组是否是高压侧绕组;
D、如果不是高压侧绕组,则得到该变压器的高压侧绕组;
E、继续搜索和该高压侧绕组同一逻辑母线的线路;
F、记录该线路和该线路两端的厂站;
G、得到线路对端的交流线段端点,如果该端点的电压等级不是电网最高电压等级,将其推入队列;
H、返回步骤B,直到队列为空。
优选的,所述步骤(2)中,将搜索到的供电路径上的变电站对应多叉树中的节点,搜索供电路径上的线路对应多叉树的边。
优选的,所述步骤(2)中,将步骤(1)搜索到的供电路径用多叉树展现;确定多叉树每个节点的x、y坐标,采用多叉树自动布局算法。
较优选的,所述多叉树自动布局算法包括:
①确定多叉树每个节点的y坐标;
②确定多叉树每个节点的x坐标。
较优选的,所述确定多叉树每个节点的y坐标包括:根节点的y坐标=父节点的y坐标+多叉树层距;根节点的y坐标取默认值;多叉树层距取默认值;所述默认值为0-100 Pixel。
较优选的,采用递归算法确定多叉树每个节点的x坐标,包括下述步骤:
1)将根节点a推入队列;
2)从队列中取出一个节点b;
3)搜索节点b的最左端叶子节点c;
4)搜索所述叶子节点c的父节点d,如果所述父节点d无左兄弟,继续搜索所述父节点d的父节点,直到父节点有左兄弟e或者搜索到根节点a为止;
如果节点e不是根节点a,记录节点e最右端子节点的x坐标;
如果节点e是根节点a,则取默认值;所述默认值为0-100 Pixel;
5)设置节点c的x坐标;该坐标为步骤4)得到的坐标加节点间距;
6)循环设置节点c的右兄弟节点的x坐标;
所述右兄弟节点的x坐标=本节点x坐标+间距;
7)设置节点c的父节点d的x坐标;
父节点d的x坐标=(最左的子节点x坐标+最右子节点的x坐标)/2
8)如果队列中没有父节点d,将父节点d推入队列;
9)返回步骤2)继续执行。
优选的,所述步骤(3)中,采用递归算法进行多叉树的绘制,即绘制所述多叉树的每个节点,包括下述步骤:
I、将根节点a推入队列;
II、从队列中取出一个节点b;
III、根据节点b的x,y坐标进行绘制;
IV、循环绘制节点b的子节点c;
V、绘制节点b和其子节点c的连线;
VI、如果节点b的子节点c还有子节点,将子节点c推入队列;
VII、重新返回步骤II。
优选的,所述多叉树的节点数目和层数不小于1。
优选的,所述多叉树的节点之间不会交叉或重叠。
与现有技术比,本发明达到的有益效果是:
1、本发明提供的基于多叉树自动布局的电网供电路径展现方法,实现供电路径的实时、动态、可视化展现,便于电网调度人员快速把握电网运行方式、合理安排电网负荷,及时进行故障恢复。
2、本发明基于多叉树自动布局的电网供电路径展现方法,减轻调度员和自动化维护人员的工作量和工作强度,提供调度工作智能化水平,具有很好的推广价值。
附图说明
图1是本发明提供的基于多叉树自动布局的电网供电路径展现方法的流程图。
具体实施方式
下面结合附图对本发明的具体实施方式作进一步的详细说明。
本发明提供的基于多叉树自动布局的电网供电路径展现方法,由以下各功能模块实现:
供电路径搜索模块:从用户选择的设备出发,经过线路、变压器逐级向更高电压等级搜索,直到搜索到最高电压等级母线为止,记录下搜索经过的线路和变电站。变电站对应多叉树的节点,线路对应多叉树的边。
多叉树自动布局模块:实现多叉树根节点和各级子节点的x、y坐标计算,。
多叉树自动绘制模块:根据各节点的x,y坐标,在人机界面上绘制每个节点。
本发明提供的基于多叉树自动布局的电网供电路径展现方法包括以下步骤:
(1)采用递归算法进行供电路径搜索;
A、用户选择一个电力设备,将所述电力设备推入队列;
B、从队列中取出一个电力设备,得到和该电力设备属于同一逻辑母线的变压器绕组;
C、判断所述变压器绕组是否是高压侧绕组;
D、如果不是高压侧绕组,则得到该变压器的高压侧绕组;
E、继续搜索和该高压侧绕组同一逻辑母线的线路;
F、记录该线路和该线路两端的厂站;
G、得到线路对端的交流线段端点,如果该端点的电压等级不是电网最高电压等级,将其推入队列;
H、返回步骤B,直到队列为空。
(2)确定多叉树每个节点的x、y坐标;
将步骤(1)搜索到的供电路径用多叉树展现;确定多叉树每个节点的x、y坐标采用多叉树自动布局算法,多叉树自动布局算法包括:
①确定多叉树每个节点的y坐标:
根节点的y坐标=父节点的y坐标+多叉树层距;根节点的y坐标取默认值;多叉树层距取默认值;所述默认值为0-100 Pixel(像素)。
②确定多叉树每个节点的x坐标,采用递归算法确定多叉树每个节点的x坐标,包括下述步骤:
1)将根节点a推入队列;
2)从队列中取出一个节点b;
3)搜索节点b的最左端叶子节点c;
4)搜索所述叶子节点c的父节点d,如果所述父节点d无左兄弟,继续搜索所述父节点d的父节点,直到父节点有左兄弟e或者搜索到根节点a为止;
如果节点e不是根节点a,记录节点e最右端子节点的x坐标;
如果节点e是根节点a,则取默认值;所述默认值为0-100 Pixel;
5)设置节点c的x坐标;该坐标为步骤4)得到的坐标加节点间距;
6)循环设置节点c的右兄弟节点的x坐标;
所述右兄弟节点的x坐标=本节点x坐标+间距;
7)设置节点c的父节点d的x坐标;
父节点d的x坐标=(最左的子节点x坐标+最右子节点的x坐标)/2
8)如果队列中没有父节点d,将父节点d推入队列;
9)返回步骤2)继续执行。
(3)绘制所述多叉树每个节点:
采用递归算法进行多叉树的绘制,即绘制所述多叉树的每个节点,包括下述步骤:
I、将根节点a推入队列;
II、从队列中取出一个节点b;
III、根据节点b的x,y坐标进行绘制;
IV、循环绘制节点b的子节点c;
V、绘制节点b和其子节点c的连线;
VI、如果节点b的子节点c还有子节点,将子节点c推入队列;
VII、重新返回步骤II。
多叉树的节点数目和层数不小于1,多叉树的节点之间不会交叉或重叠。
(4)用多叉树展现供电路径。
本发明提供的基于多叉树自动布局的电网供电路径展现方法工作模式为客户端/服务器(C/S)方式。
1、在服务器端设置供电路径搜索的服务端,负责读取电网模型,进行网络拓扑分析,接收客户端的请求,利用递归算法搜索用户请求的电力设备的供电路径信息,并发送给客户端,电力设备包括线路、母线、负荷以及变压器。
2、客户端设置调度员工作站,负责提供人机交互界面,获取用户选中的电力设备信息,并通过和服务端交互获取供电路径信息,采用多叉树自动布局和自动绘制算法将供电路径图展现给调度员。
本发明提供的基于多叉树自动布局的电网供电路径展现方法利用多叉树动态展现电网供电路径,既便于调度人员快速把握电网实时运行方式,也减轻自动化人员的维护工作。多叉树采用自动布局算法,无层级限制,节点不交叉或重叠,布局效果美观。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求范围当中。