发明内容
有鉴于此,本发明提供了一种电网潮流图厂站节点坐标的计算方法,以克服现有技术中工作效率低下的问题。
为实现上述目的,本发明提供如下技术方案:
一种电网潮流图厂站节点坐标的计算方法,包括:
A、从存储有厂站节点信息的数据库中获取所有厂站节点,所述所有厂站节点共有N个,N为大于等于1的正整数;
B、当任意两个厂站节点Ni与Nj之间存在线路时,将所述线路记录为Lij,i与j均为大于等于1小于等于N的正整数,且i≠j;
C、获取任一厂站节点Ni的x坐标以及y坐标,x与y的取值范围为-1000至1000之间的整数;
D、将1赋值给i;
E、将i+1赋值给j;
F、计算所述厂站节点Ni与Nj的虚拟能量值Pij;
G、当所述虚拟能量值Pij小于0.001时,执行步骤I,当所述虚拟能量值Pij不小于0.001时,执行步骤H;
H、修正所述厂站节点Ni的x坐标Nix以及y坐标Niy,以及修正所述厂站节点Nj的x坐标Njx以及y坐标Njy;
I、将j自加1;
J、当j小于N时,返回至步骤F,当j不小于N时,执行步骤K;
K、将i自加1;
L、当i小于N时,返回至步骤E,当i不小于N时,执行步骤M;
M、获得所述厂站节点Ni的x坐标以及y坐标。
其中,所述步骤F具体为:
Pij=5/((Nix-Njx)*(Nix-Njx)+(Niy-Njy)*(Niy-Njy))。
其中,步骤H包括:
Nix=Nix+Rand(Pij*Abs(Nix-Njx)),Niy=Niy+Rand(Pij*Abs(Niy-Njy)),Njx=Njx+Rand(Pij*Abs(Nix-Njx)),Njy=Njy+Rand(Pij*Abs(Niy-Njy));其中,Rand(a)函数为一个取随机数的函数,返回值范围为[-a,+a]之间的满足平均分布要求的随机浮点数。Abs(b)函数为取绝对值的函数,返回值为输入参数b的绝对值。
一种电网潮流图厂站节点坐标的计算装置,包括:
第一获取模块,用于从存储有厂站节点信息的数据库中获取所有厂站节点,所述所有厂站节点共有N个,N为大于等于1的正整数;
记录模块,用于当任意两个厂站节点Ni与Nj之间存在线路时,将所述线路记录为Lij,i与j均为大于等于1小于等于N的正整数,且i≠j;
第二获取模块,用于获取任一厂站节点Ni的x坐标以及y坐标,x与y的取值范围为-1000至1000之间的整数;
第一赋值模块,用于将1赋值给i;
第二赋值模块,用于将i+1赋值给j;
计算模块,用于计算所述厂站节点Ni与Nj的虚拟能量值Pij;
第一触发模块,用于当所述虚拟能量值Pij小于0.001时,触发第一自加模块,当所述虚拟能量值Pij不小于0.001时,触发修正模块;
所述修正模块,用于修正所述厂站节点Ni的x坐标Nix以及y坐标Niy,以及修正所述厂站节点Nj的x坐标Njx以及y坐标Njy;
第一自加模块,用于将j自加1;
第二触发模块,用于当j小于N时,触发所述计算模块,当j不小于N时,触发第二自加模块;
所述第二自加模块,用于将i自加1;
第三触发模块,用于当i小于N时,触发所述第二赋值模块,当i不小于N时,触发第三获取模块;
所述第三获取模块,用于获得所述厂站节点Ni的x坐标以及y坐标。
其中,所述计算模块具体用于:Pij=5/((Nix-Njx)*(Nix-Njx)+(Niy-Njy)*(Niy-Njy))。
其中,所述修正模块具体用于:
Nix=Nix+Rand(Pij*Abs(Nix-Njx)),Niy=Niy+Rand(Pij*Abs(Niy-Njy)),Njx=Njx+Rand(Pij*Abs(Nix-Njx)),Njy=Njy+Rand(Pij*Abs(Niy-Njy));其中,Rand(a)函数为一个取随机数的函数,返回值范围为[-a,+a]之间的满足平均分布要求的随机浮点数。Abs(b)函数为取绝对值的函数,返回值为输入参数b的绝对值。
一种电网潮流图厂站节点排布系统,包括:
人机交互界面,用于接收用户选择的厂站节点信息以及任意两个厂站节点之间的线路信息;
电网数据库交互模块,用于存储所述人机交互界面接收的各个厂站节点信息以及任意两个厂站节点之间的线路信息;
排布模块,包括上述任一所述电网潮流图厂站节点坐标的计算装置,用于依据所述电网潮流图厂站节点坐标的计算装置计算的各个厂站节点的坐标,将各个厂站节点进行排布;
动态排布的中间结果输出模块,用于将所述排布模块计算出的各个厂站节点的坐标转换为标准格式,并控制所述人机交互界面显示所述排布模块输出的各个厂站节点的排布信息。
经由上述的技术方案可知,与现有技术相比,本发明实施例提供了一种电网潮流图厂站节点坐标的计算方法,依据任意两个厂站节点Ni与Nj的虚拟能量值Pij与0.001的关系,对所述厂站节点Ni的x坐标Nix以及y坐标Niy,以及所述厂站节点Nj的x坐标Njx以及y坐标Njy进行修正,从而获得各个厂站节点的坐标,从而可以依据计算出的各个厂站节点的坐标对厂站节点进行排布,避免了手工绘制厂站节点以及它们之间的线路连接,提高了工作效率。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅附图1,为本发明实施例提供的一种电网潮流图厂站节点坐标的计算方法的流程示意图,该方法包括:
步骤A:从存储有厂站节点信息的数据库中获取所有厂站节点,所述所有厂站节点共有N个。
N为大于等于1的正整数。
步骤B:当任意两个厂站节点Ni与Nj之间存在线路时,将所述线路记录为Lij。
i与j均为大于等于1小于等于N的正整数,且i≠j。
步骤C:获取任一厂站节点Ni的x坐标以及y坐标。
x与y的取值范围为-1000至1000之间的整数。
步骤D:将1赋值给i。
步骤E:将i+1赋值给j。
步骤F:计算所述厂站节点Ni与Nj的虚拟能量值Pij。
虚拟能量值Pi可以为5/((Nix-Njx)*(Nix-Njx)+(Niy-Njy)*(Niy-Njy))。
步骤G:当所述虚拟能量值Pij小于0.001时,执行步骤I,当所述虚拟能量值Pij不小于0.001时,执行步骤H。
步骤H:修正所述厂站节点Ni的x坐标Nix以及y坐标Niy,以及修正所述厂站节点Nj的x坐标Njx以及y坐标Njy。
步骤H可以包括:Nix=Nix+Rand(Pij*Abs(Nix-Njx)),Niy=Niy+Rand(Pij*Abs(Niy-Njy)),Njx=Njx+Rand(Pij*Abs(Nix-Njx)),Njy=Njy+Rand(Pij*Abs(Niy-Njy));其中,Rand(a)函数为一个取随机数的函数,返回值范围为[-a,+a]之间的满足平均分布要求的随机浮点数。Abs(b)函数为取绝对值的函数,返回值为输入参数b的绝对值。
步骤I:将j自加1。
步骤J:当j小于N时,返回至步骤F,当j不小于N时,执行步骤K。
步骤K:将i自加1。
步骤L:当i小于N时,返回至步骤E,当i不小于N时,执行步骤M。
步骤M:获得所述厂站节点Ni的x坐标以及y坐标。
本发明实施例提供的一种电网潮流图厂站节点坐标的计算方法,依据任意两个厂站节点Ni与Nj的虚拟能量值Pij与0.001的关系,对所述厂站节点Ni的x坐标Nix以及y坐标Niy,以及所述厂站节点Nj的x坐标Njx以及y坐标Njy进行修正,从而获得各个厂站节点的坐标,从而可以依据计算出的各个厂站节点的坐标对厂站节点进行排布,避免了手工绘制厂站节点以及它们之间的线路连接,提高了工作效率。
上述本发明公开的实施例中详细描述了方法,对于本发明的方法可采用多种形式的装置实现,因此本发明还公开了一种装置,下面给出具体的实施例进行详细说明。
请参阅图2,为本发明实施例提供的一种电网潮流图厂站节点坐标的计算装置的结构示意图,该装置包括:第一获取模块201、记录模块202、第二获取模块203、第一赋值模块204、第二赋值模块205、计算模块206、第一触发模块207、修正模块208、第一自加模块209、第二触发模块210、第二自加模块211、第三触发模块212以及第三获取模块213,其中:
第一获取模块201,用于从存储有厂站节点信息的数据库中获取所有厂站节点,所述所有厂站节点共有N个。
N为大于等于1的正整数。
记录模块202,用于当任意两个厂站节点Ni与Nj之间存在线路时,将所述线路记录为Lij。
i与j均为大于等于1小于等于N的正整数,且i≠j。
第二获取模块203,用于获取任一厂站节点Ni的x坐标以及y坐标。
x与y的取值范围为-1000至1000之间的整数。
第一赋值模块204,用于将1赋值给i。
第二赋值模块205,用于将i+1赋值给j。
计算模块206,用于计算所述厂站节点Ni与Nj的虚拟能量值Pij。
计算模块具体用于:Pij=5/((Nix-Njx)*(Nix-Njx)+(Niy-Njy)*(Niy-Njy))。
第一触发模块207,用于当所述虚拟能量值Pij小于0.001时,触发第一自加模块,当所述虚拟能量值Pij不小于0.001时,触发修正模块。
所述修正模块208,用于修正所述厂站节点Ni的x坐标Nix以及y坐标Niy,以及修正所述厂站节点Nj的x坐标Njx以及y坐标Njy。
修正模块具体用于:
Nix=Nix+Rand(Pij*Abs(Nix-Njx)),Niy=Niy+Rand(Pij*Abs(Niy-Njy)),Njx=Njx+Rand(Pij*Abs(Nix-Njx)),Njy=Njy+Rand(Pij*Abs(Niy-Njy));其中,Rand(a)函数为一个取随机数的函数,返回值范围为[-a,+a]之间的满足平均分布要求的随机浮点数。Abs(b)函数为取绝对值的函数,返回值为输入参数b的绝对值。
第一自加模块209,用于将j自加1。
第二触发模块210,用于当j小于N时,触发所述计算模块,当j不小于N时,触发第二自加模块。
所述第二自加模块211,用于将i自加1。
第三触发模块212,用于当i小于N时,触发所述第二赋值模块,当i不小于N时,触发第三获取模块。
所述第三获取模块213,用于获得所述厂站节点Ni的x坐标以及y坐标。
本发明实施例提供的一种电网潮流图厂站节点坐标的计算装置,依据任意两个厂站节点Ni与Nj的虚拟能量值Pij与0.001的关系,对所述厂站节点Ni的x坐标Nix以及y坐标Niy,以及所述厂站节点Nj的x坐标Njx以及y坐标Njy进行修正,从而获得各个厂站节点的坐标,从而可以依据计算出的各个厂站节点的坐标对厂站节点进行排布,避免了手工绘制厂站节点以及它们之间的线路连接,提高了工作效率。
请参阅图3,为本发明实施例提供的一种电网潮流图厂站节点排布系统的结构示意图,该系统包括:人机交互界面301、电网数据库交互模块302、排布模块303以及动态排布的中间结果输出模块304,其中:
人机交互界面301,用于接收用户选择的厂站节点信息以及任意两个厂站节点之间的线路信息。
电网数据库交互模块302,用于存储所述人机交互界面接收的各个厂站节点信息以及任意两个厂站节点之间的线路信息。
排布模块303,包括上述实施例任一所述电网潮流图厂站节点坐标的计算装置,用于依据所述电网潮流图厂站节点坐标的计算装置计算的各个厂站节点的坐标,将各个厂站节点进行排布。
动态排布的中间结果输出模块304,用于将所述排布模块计算出的各个厂站节点的坐标转换为标准格式,并控制所述人机交互界面显示所述排布模块输出的各个厂站节点的排布信息。
上述的人机交互界面301可以包括:厂站节点与线路选择单元:用于给调度人员提供需要排布的厂站节点和线路,以便调度员从中进行选择,以及最终结果显示单元:用于将渐进式排布结果的最终排布显示为SVG标准图形格式。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置或系统类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。