CN115688341A - 基于多叉树碰撞检测的配网专题图布局方法及存储介质 - Google Patents
基于多叉树碰撞检测的配网专题图布局方法及存储介质 Download PDFInfo
- Publication number
- CN115688341A CN115688341A CN202211428241.7A CN202211428241A CN115688341A CN 115688341 A CN115688341 A CN 115688341A CN 202211428241 A CN202211428241 A CN 202211428241A CN 115688341 A CN115688341 A CN 115688341A
- Authority
- CN
- China
- Prior art keywords
- branch
- node
- path
- area
- current
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 52
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000010079 rubber tapping Methods 0.000 claims abstract description 72
- 238000010586 diagram Methods 0.000 claims abstract description 17
- 238000002372 labelling Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 5
- 210000004907 gland Anatomy 0.000 abstract description 3
- 238000004422 calculation algorithm Methods 0.000 description 19
- 238000013519 translation Methods 0.000 description 11
- 230000000694 effects Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000013507 mapping Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 230000008030 elimination Effects 0.000 description 2
- 238000003379 elimination reaction Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于多叉树碰撞检测的配网专题图布局方法及存储介质,方法包括:获取配电线路中的各电网设备的设备模型数据;构建多叉树拓扑网络;确定多叉树拓扑网络的主干路径以及各分接点对应的枝干路径;确定主干路径的布局方向,并分别根据各分接点所在路径的布局方向,确定各分接点对应的各枝干路径的布局方向;依次放置各设备节点,并通过碰撞检测,对重叠的设备节点进行调整,确定各设备节点的中心坐标;分别根据各设备节点的中心坐标和设备端子偏移量,计算各设备节点的端子坐标,并进行设备节点之间的连接布线,得到布局图。本发明可消除线路重叠及标注冲突压盖的问题,使布局更加紧凑美观。
Description
技术领域
本发明涉及配电网绘图技术领域,尤其涉及一种基于多叉树碰撞检测的配网专题图布局方法及存储介质。
背景技术
目前应用于自动绘图的算法可以归结为三类:第一类是递归布局算法,例如干线支线算法;第二类是基于离散坐标的组合优化算法,例如粒子群算法、遗传算法等;第三类是基于连续坐标的布局算法,例如力导向算法。
对于组合优化算法,存在的主要问题是运行时间长、容易受到参数的影响,权值难以平衡,多次迭代后得到的图形布局也难以保证有较优的效果,随着配电网设备的增加,成图速度会明显降低并且成图效果变差;对于力导向算法等基于连续坐标的布局算法,同样存在绘图时间长的缺点,而且得到的图形容易出现较多的线路弯折,影响图形的可读性;而干线支线算法能够绘制线路横平竖直、清晰易读的配电网图形,适合于配电网辐射状或弱环状的拓扑结构,总体上具有较好的布局效果。然而,当前的干线支线算法仍然存在两种问题:一种是对线路拉伸平移过多,这样可以规避图形的重叠或者简化重叠的处理,但是容易造成画布“留白”、浪费绘图空间;另一种是对图形重叠的处理过于繁琐,这样虽然可以避免线路过多的拉伸平移,节约绘图空间,但是在重叠判断和消除中需要进行较多的计算,而且线路拉伸平移后容易引入新的重叠。
同时,这三类算法还有一个共同的缺陷,就是只考虑到设备图形的布局效果,却从未考虑到设备图形文字标注的布局效果。配网专题图是根据实际的线路按业务需求精简后生成横平竖直的图形布局并提供给工作人员进行审阅比对的,工作人员需要通过设备的标注来获取到有用的信息(如XX线路XX杆),由于同种设备的图形外观一致,设备如果不带有对应的文字标注,就会影响工作人员的判断,生成的专题图也就没有太大意义。而设备带有对应的文字标注时就会存在一个问题:设备图形之间不会压盖,但是设备之间的文字标注存在冲突和压盖,从而影响对图形的阅读。
在公开号为CN112685868A的中国专利公开文件中,提出了一种配电网单线图生成方法,但该方案一方面无法解决标注压盖问题,另一方面采用局部拉伸容易引入新的重叠,如图1所示,其左侧的图中存在节点重叠的情况,假设先处理节点3和6的重叠现象,需先通过一定分析确定向下平移的分支{5,6,7,8,9,10),拉伸平移该分支后得到图1中右侧的图,此时虽然消除了节点3和6的重叠现象,却在节点8和11处引入了新的重叠。
在公开号为CN111241646A的中国专利公开文件中,提出了一种电网设备的布局方法,但在实际应用中发现只通过深度递归及联合多边形按照面积排序的方法,虽然可以规避图形的重叠或者简化重叠的处理,但是容易造成画布“留白”、浪费绘图空间,同时在重叠判断和消除中引入了非常多的计算,造成图形生成时间较长,效率较低。如图2所示,每个区域都独占布局空间,为规避枝干区域间的重叠,引入了较多的判断和处理,分支拉伸平移过多造成了布局空间的浪费。
针对以往自动绘图算法容易出现设备图元重叠、重叠处理后的布局空间浪费、二次重叠的现象,以及考虑图形标注避让,本发明提出一种基于多叉树碰撞检测并带有标注避让的配网专题图布局方法。
发明内容
本发明所要解决的技术问题是:提供一种基于多叉树碰撞检测的配网专题图布局方法及存储介质,可消除线路重叠及标注冲突压盖的问题,使布局更加紧凑美观。
为了解决上述技术问题,本发明采用的技术方案为:一种基于多叉树碰撞检测的配网专题图布局方法,包括:
获取配电线路中的各电网设备的设备模型数据,所述设备模型数据包括设备ID、设备端子连接信息、设备端子偏移量、设备标注信息和符号样式信息;
根据所述各电网设备的设备端子连接信息,以电源点或出线点为根节点,构建多叉树拓扑网络,并根据各电网设备的设备模型数据,得到所述多叉树拓扑网络中各设备节点的节点信息;
以所述多叉树拓扑网络的根节点为起点,确定所述多叉树拓扑网络的主干路径,并以分接点的子节点为起点,递归地确定各分接点对应的枝干路径,所述分接点为存在至少两个子节点的设备节点;
确定主干路径的布局方向,并分别根据各分接点所在路径的布局方向,确定各分接点对应的各枝干路径的布局方向;
根据深度优先搜索的顺序、各电网设备的设备标注信息和符号样式信息、预设的布局间隔以及主干路径和枝干路径的布局方向,依次放置各设备节点,并通过碰撞检测,对重叠的设备节点进行调整,确定各设备节点的中心坐标;
分别根据各设备节点的中心坐标和设备端子偏移量,计算各设备节点的端子坐标,并根据所述多叉树拓扑网络以及各设备节点的端子坐标,进行设备节点之间的连接布线,得到布局图。
本发明还提出一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上所述的方法。
本发明的有益效果在于:通过碰撞检测,对存在重叠的区域进行调整,从而可消除线路重叠的问题;通过构建多叉树拓扑网络,并确定多叉树拓扑网络中的主干路径以及各分接点对应的枝干路径,使得后续可依据一定的顺序进行正向递归布置节点以及反向递归布置枝干,从而可在消除重叠的同时不引入新的重叠;并且,在布局过程中考虑了电网设备的标准信息,可消除标注冲突压盖的问题。
附图说明
图1为现有技术的示意图一;
图2为现有技术的示意图二;
图3为本发明实施例一的一种配网专题图布局方法的流程图;
图4为本发明实施例一的多叉树拓扑网络的示意图;
图5为本发明实施例一的边界最大重叠距离的计算及平移示意图;
图6为本发明实施例一的平移调整示意图;
图7为本发明实施例一的布局方向调整示意图;
图8为本发明实施例一的分接点对应多条枝干数量时的布局示意图;
图9为本发明实施例一的处理效果示意图。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图详予说明。
实施例一
请参照图3-9,本发明的实施例一为:一种配网专题图布局方法,可应用于配网单线图或低压台区图的布局。
如图3所示,包括如下步骤:
S1:获取配电线路中的各电网设备的设备模型数据。
具体地,解析从地理图中抽取的并以JSON存储的线路设备模型数据,所述设备模型数据包括设备ID、设备端子连接信息、设备端子偏移量、设备标注信息和符号样式信息。
S2:根据所述各电网设备的设备端子连接信息,以电源点或出线点为根节点,构建多叉树拓扑网络,并根据各电网设备的设备模型数据,得到所述多叉树拓扑网络中各设备节点的节点信息。
即根据设备端子连接信息,以电源点或出线点为起点,构建设备节点之间的拓扑关系,最后形成多叉树模型的拓扑网络,电网设备的设备模型数据即作为其对应的设备节点的节点信息。
S3:以所述多叉树拓扑网络的根节点为起点,确定所述多叉树拓扑网络的主干路径,并以分接点的子节点为起点,递归地确定各分接点对应的枝干路径,所述分接点为存在至少两个子节点的设备节点。
具体地,本步骤包括如下步骤:
S301:以所述多叉树拓扑网络的根节点为起点,对所述多叉树拓扑网络进行深度优先搜索,获取深度值最大的节点路径,作为主干路径。
即从根节点开始,采用深度优先搜索算法,对构建的多叉树拓扑网络进行搜索,获取深度值最大的节点路径,并将其作为主干路径。
S302:遍历所述主干路径上的主干设备节点,依次将一主干设备节点作为当前主干设备节点。
S303:判断当前主干设备节点是否为分接点,若是,则执行步骤S304,若否,则执行步骤S307。
本实施例中,将子节点数量大于或等于2的设备节点称为分接点,因此,本步骤即判断当前主干设备节点是否存在除主干设备节点外的其他子节点。
S304:遍历当前主干设备节点的其他子节点,依次将一其他子节点作为当前子节点。
S305:以当前子节点为起点,对所述多叉树拓扑网络进行深度优先搜索,获取深度值最大的节点路径,作为当前设备节点对应的一枝干路径,并当所述一枝干路径中存在分接点时,递归地获取所述一枝干路径中的各分接点对应的枝干路径。
S306:判断是否遍历完当前主干设备节点的其他子节点,若是,则继续遍历主干路径上的主干设备节点,获取下一主干设备节点作为当前主干设备节点,即继续执行步骤S302,若否,则继续遍历当前主干设备节点的其他子节点,获取下一其他子节点作为当前子节点,即继续执行步骤S304。
S307:判断是否遍历完主干路径上主干设备节点,若是,执行步骤S308,若否,则继续遍历主干路径上的主干设备节点,获取下一主干设备节点作为当前主干设备节点,即继续执行步骤S302。
S309:得到所述多叉树拓扑网络的主干路径以及各分接点对应的各枝干路径。
例如,假设一多叉树拓扑网络如图4所示,节点1为出线点,也为根节点,由于节点1至节点20的路径长度最长,因此,将{1,2,4,7,10,14,17,20}作为主干路径。主干路径上存在3个分接点,分别为节点2、节点4和节点10,这三个分接点也分别为三个子树的根节点。
对于节点2,从其出发只有一条节点路径,因此将该节点路径{3,5}作为节点2对应的枝干路径。
对于节点4,其除了节点7之外,还有节点6这个子节点,从节点6出发,获取长度最长的节点路径为{6,9,13,16}作为节点4对应的枝干路径;而在枝干路径{6,9,13,16}中,节点6为分接点,其除了节点9之外,还有节点8这个子节点,从节点8出发,将节点路径{8,12}作为节点6对应的枝干路径;而节点8也为分接点,因此将节点路径{11}作为节点8对应的枝干路径。
同理,对于节点10,其对应的枝干路径为{15,19},节点15也为分接点,其对应的枝干路径为{18}。
S4:确定主干路径的布局方向,并分别根据各分接点所在路径的布局方向,确定各分接点对应的各枝干路径的布局方向。
具体地,将预设的布局方向作为主干路径的布局方向,并将所述预设的布局方向存储至各主干设备节点的节点信息中。
主干路径的布局方向设置完后,通过深度优先搜索遍历所述多叉树拓扑网络中的各设备节点,若当前遍历到的设备节点为分接点,则将当前遍历到的设备节点作为当前分接点;根据当前分接点所在路径的布局方向,均匀地设置当前分接点对应的各枝干路径的布局方向,本实施例中,枝干路径的布局方向与其对应的分接点所在路径的布局方向垂直。
也就是说,若当前分接点对应的枝干路径的数量为1,则根据当前分接点所在路径的布局方向,设置当前分接点对应的枝干路径的布局方向,并将所确定的布局方向存储至所述对应的枝干路径中的各枝干设备节点的节点信息中;若当前分接点对应的枝干路径的数量大于或等于2,则根据当前分接点所在路径的布局方向,均匀地设置当前分接点对应的各枝干路径的布局方向,并分别将各枝干路径的布局方向存储至各枝干路径中的各枝干设备节点的节点信息中。
例如,若分接点所在路径的布局方向为向左或向右,则该分接点对应的枝干路径的布局方向为向上或向下;若分接点所在路径的布局方向为向上或向下,则该分接点对应的枝干路径的布局方向为向左或向右。
在步骤S3中,可以得到分接点与枝干路径的映射关系,因此可以得到每个分接点对应的枝干路径的数量。假设某个分接点所在路径的布局方向为向右,且其对应的枝干路径的数量为1,则该枝干路径的布局方向可为向下,也可以为向下;如果该分接点对应的枝干路径的数量为2,则两条枝干路径的布局方向分别为向上和向下;也就是说,如果该分接点对应的枝干路径的数量为偶数,则一半枝干路径的布局方向为向上,另一半枝干路径的布局方向为向下;如果分接点对应的枝干路径的数量为奇数,则在平分的基础上,剩下的一条枝干路径的布局方向可为向下,也可以为向下。例如,假设有5条枝干路径,则其中3条枝干路径的布局方向设为向下,2条枝干路径的布局方向设为向上。以此类推。
S5:根据深度优先搜索的顺序、预设的布局间隔以及主干路径和枝干路径的布局方向,依次放置各设备节点,并通过碰撞检测,对重叠的设备节点进行调整,确定各设备节点的中心坐标。
具体地,步骤S5包括如下步骤:
S501:遍历所述主干路径上的主干设备节点,依次将一主干设备节点作为当前主干设备节点。
S502:判断当前主干设备节点是否为第一个主干设备节点,若是,则执行步骤S503,若否,则执行步骤S504。
S503:将当前主干设备节点放置在预设的布局起点上,并确定当前主干设备节点的中心坐标。然后执行步骤S505。
例如,假设预设的布局起点为(0,0),则第一个主干设备节点的中心坐标即为(0,0)。
S504:根据上一个主干设备节点的中心坐标、主干路径的布局方向以及预设的第一布局间隔,放置当前主干设备节点,并确定当前主干设备节点的中心坐标。然后执行步骤S505。
例如,假设主干路径的布局方向为向右(即X轴正方向),上一个主干设备节点的中心坐标为(x1,0),预设的第一布局间隔为d,则当前主干设备节点的中心坐标为(x1+d,0)。
S505:根据当前主干设备节点的符号样式信息和设备标注信息,计算当前主干设备节点的图元大小和标注大小,并根据当前主干设备节点的图元大小和标注大小,构建当前主干设备节点对应的最小多边形区域,作为当前主干设备节点的节点区域,同时记录节点区域的上下左右四个方向的边界线段的位置。
本实施例中,多边形区域由至少一个的矩形区域合并而成。
其中,在得到第一个主干设备节点的节点区域后,将其作为主干路径的初始路径区域。
S506:将当前主干设备节点的节点区域与主干路径的最新路径区域进行碰撞检测,判断是否存在重叠,若是,则执行步骤S507,若否,则执行步骤S510。
S507:根据当前主干设备节点的节点区域的边界线路的位置以及主干路径的最新路径区域的边界线段的位置,计算第一边界最大重叠距离。
例如,假设主干路径的布局方向为向右,则可以根据当前主干设备节点的节点区域的左边界线段的位置以及主干路径的最新路径区域的右边界线段的位置,来计算存在重叠的边界线段之间的距离,若存在多个重叠处,则可计算得到多个距离,然后将这些距离中的最大值作为当前主干设备节点的节点区域与主干路径的最新路径区域之间的边界最大重叠距离。
S508:根据所述第一边界最大重叠距离以及主干路径的布局方向,对当前主干设备节点的节点区域进行平移,并更新当前主干设备节点的中心坐标及其节点区域的边界线段的位置。
即将当前主干设备节点的节点区域向主干路径的布局方向平移所述第一边界最大重叠距离,平移后,当前主干设备节点的节点区域与主干路径的最新路径区域之间不重叠,然后将平移后的中心坐标作为当前主干设备节点的中心坐标,并相应更新节点区域的边界线段的位置。
S509:将平移后的当前主干设备节点的节点区域合并至主干路径的最新路径区域,并将合并后的区域作为主干路径的最新路径区域。然后执行步骤S511。
S510:将当前主干设备节点的节点区域合并至主干路径的最新路径区域,并将合并后的区域作为主干路径的最新路径区域。然后执行步骤S511。
也就是说,如果当前主干设备节点的节点区域与主干路径的最新路径区域不重叠,则直接将当前主干设备节点的节点区域合并到主干路径的最新路径区域中,如果重叠,则调整当前主干设备节点的节点区域后,再将其合并到主干路径的最新路径区域中。
S511:判断当前主干设备节点是否为分接点,若是,则执行步骤S512,若否,则执行步骤S518。
S512:分别对当前主干设备节点对应的枝干路径中的各枝干设备节点进行布局,得到当前主干设备节点对应的枝干路径的路径区域。
S513:将当前主干设备节点对应的枝干路径的路径区域与主干路径的最新路径区域进行碰撞检测,判断是否存在重叠,若是,则执行步骤S514,若否,则执行步骤S517。
S514:对当前主干设备节点对应的枝干路径的路径区域以及当前主干设备节点的节点区域进行调整,并更新当前主干设备节点的中心坐标及其节点区域的边界线段的位置以及当前主干设备节点对应的枝干路径上的各枝干设备节点的中心坐标及其节点区域的边界线段的位置。
具体地,本实施例中,根据当前主干设备节点对应的枝干路径的路径区域的边界线路的位置以及主干路径的最新路径区域的边界线段的位置,计算第二边界最大重叠距离,然后根据所述第二边界最大重叠距离以及所述主干路径的布局方向,对当前主干设备节点对应的枝干路径的路径区域以及当前主干设备节点的节点区域进行平移,并更新当前主干设备节点的中心坐标及其节点区域的边界线段的位置以及当前主干设备节点对应的枝干路径上的各枝干设备节点的中心坐标及其节点区域的边界线段的位置。
例如,如图5所示,图中的B1区域为主干路径的最新路径区域,B2区域为当前主干设备节点对应的枝干路径的路径区域,其中,Lc和Ld为B2区域的左边界线段,La和Lb为B1区域右边界线段,由于La和Lc之间的距离大于Lb和Ld之间的距离,因此,将当前主干设备节点对应的枝干路径的路径区域以及当前主干设备节点的节点区域向右平移La-Lc。
在其他可选的实施例中,若当前主干设备节点对应的枝干路径中存在分接点,且该分接点对应的枝干路径的数量为1,则可将该分接点对应的枝干路径的布局方向修改为相反方向,并更新该分接点对应的枝干路径中的各枝干设备节点的中心坐标及其节点区域的边界线段的位置,同时更新当前主干设备节点对应的枝干路径的路径区域,然后将更新后的当前主干设备节点对应的枝干路径的路径区域与主干路径的最新路径区域进行碰撞检测,判断是否存在重叠,若不重叠,则保留对布局方向的修改,若还是重叠,则放弃对布局方向的修改,还是采用上述基于最大重叠距离进行平移的方法。若当前主干设备节点对应的枝干路径中的分接点对应的枝干路径的数量大于1,也采用上述基于最大重叠距离进行平移的方法。
例如,如图6-7所示,假设当前遍历到的主干设备节点为节点7,则节点1-7所形成的区域为主干路径的最新路径区域,节点8、9、10、11、15所形成的区域为当前主干设备节点对应的枝干路径的路径区域,可以看出,节点9和节点10与主干路径的最新路径区域存在重叠,图6中采用平移的方式消除重叠,图7中通过将节点8的枝干路径{9,10}的布局方向由向左修改为向右,修改后就不与主干路径的最新路径区域重叠。
相比起将节点7以及节点8、9、10、11、15同时向右平移的方案,该方法可进一步避免画布留白,使得节点布局尽可能地紧凑。
S515:根据调整后的当前主干设备节点的节点区域以及当前主干设备节点对应的枝干路径的路径区域,更新主干路径的最新路径区域,并将更新后的区域作为主干路径的最新路径区域。然后执行步骤S517。
S516:将当前主干设备节点对应的枝干路径的枝干路径区域合并至主干路径的最新路径区域,并将合并后的区域作为主干路径的最新路径区域。然后执行步骤S517。
S517:判断是否遍历完所述主干路径上的主干设备节点,若是,若是,则执行步骤S518,若否,则继续遍历主干路径上的主干设备节点,将下一主干设备节点作为当前主干设备节点,即继续执行步骤S501。
S518:根据主干路径的最新路径区域,确定各设备节点的中心坐标。
其中,对于步骤S512,即每当遍历到分接点时,优先对分接点对应的枝干路径上的枝干设备节点进行布局,布局完后,得到枝干路径的路径区域,并与分接点所在路径的路径区域合并后,再对分接点的下一设备节点进行布局。若枝干路径上也存在分接点,也采用相同的方法递归地先得到分接点对应的枝干路径的路径区域。
具体地,将当前遍历到的分接点作为当前分接点,步骤S512具体包括如下步骤:
S5001:遍历当前分接点对应的一枝干路径的枝干设备节点,依次将一枝干设备节点作为当前枝干设备节点。
S5002:判断当前枝干设备节点是否为所述一枝干路径的第一个枝干设备节点,若是,则执行步骤S5003,若否,则执行步骤S5010。
S5003:根据当前分接点的中心坐标、所述一枝干路径的布局方向以及预设的第一布局间隔,放置当前枝干设备节点,并确定当前枝干设备节点的中心坐标。
S5004:根据当前枝干设备节点的符号样式信息和设备标注信息,计算当前枝干设备节点的图元大小和标注大小,并根据当前枝干设备节点的图元大小和标注大小,构建当前枝干设备节点对应的最小多边形区域,作为当前枝干设备节点的节点区域,同时记录节点区域的上下左右四个方向的边界线段的位置。
S5005:将当前枝干设备节点的节点区域与当前分接点的节点区域进行碰撞检测,判断是否存在重叠,若是,则执行步骤S5006,若否,则执行步骤S5009。
S5006:根据当前枝干设备节点的节点区域的边界线路的位置以及当前分接点的节点区域的边界线段的位置,计算第三边界最大重叠距离。
S5007:根据所述第三边界最大重叠距离以及所述一枝干路径的布局方向,对当前枝干设备节点的节点区域进行平移,并更新当前枝干设备节点的中心坐标及其节点区域的边界线段的位置。
即将当前枝干设备节点的节点区域沿着所述一枝干路径的布局方向平移第三边界最大重叠距离。
S5008:将更新后的当前枝干设备节点的节点区域作为所述一枝干路径的初始路径区域。然后执行步骤S5017。
S5009:将当前枝干设备节点的节点区域作为所述一枝干路径的初始路径区域。然后执行步骤S5017。
S5010:根据上一个枝干设备节点的中心坐标、所述一枝干路径的布局方向以及预设的第一布局间隔,放置当前枝干设备节点,并确定当前枝干设备节点的中心坐标。
S5011:根据当前枝干设备节点的符号样式信息和设备标注信息,计算当前枝干设备节点的图元大小和标注大小,并根据当前枝干设备节点的图元大小和标注大小,构建当前枝干设备节点对应的最小多边形区域,作为当前枝干设备节点的节点区域,同时记录节点区域的上下左右四个方向的边界线段的位置。
S5012:将当前枝干设备节点的节点区域与所述一枝干路径的最新路径区域进行碰撞检测,判断是否存在重叠,若是,则执行步骤S5013,若否,则执行步骤S5016。
S5013:根据当前枝干设备节点的节点区域的边界线路的位置以及所述一枝干路径的最新路径区域的边界线段的位置,计算第四边界最大重叠距离。
S5014:根据所述第四边界最大重叠距离以及所述一枝干路径的布局方向,对当前枝干设备节点的节点区域进行平移,并更新当前枝干设备节点的中心坐标及其节点区域的边界线段的位置。
即将当前枝干设备节点的节点区域沿着所述一枝干路径的布局方向平移第四边界最大重叠距离。
S5015:将平移后的当前枝干设备节点的节点区域合并至所述一枝干路径的最新路径区域,并将合并后的区域作为所述一枝干路径的最新路径区域。然后执行步骤S5017。
S5016:将当前枝干设备节点的节点区域合并至所述一枝干路径的最新路径区域,并将合并后的区域作为所述一枝干路径的最新路径区域。然后执行步骤S5017。
S5017:判断当前枝干设备节点是否为分接点,若是,则执行步骤S5018,若否,则执行步骤S5019。
S5018:递归地对当前枝干设备节点对应的各枝干路径中的各枝干设备进行点进行布局,得到当前枝干设备节点对应的各枝干路径的路径区域。然后执行步骤S5019。
S5019:判断当前枝干设备节点是否为所述一枝干路径的最后一个枝干设备节点,若是,则执行步骤S5020,若否,则继续遍历所述一枝干路径的枝干设备节点,获取下一枝干设备节点作为当前枝干设备节点,即继续执行步骤S5001。
S5020:分别将所述一枝干路径中的各分接点对应的各枝干路径的路径区域与所述一枝干路径的最新路径区域进行碰撞检测,判断是否存在重叠,若是,则执行步骤S5021,若否,则执行步骤S5023。
此时,由于已遍历完所述一枝干路径的枝干设备节点,因此,此时所述一枝干路径的路径区域包含所述一枝干路径的所有枝干设备节点的节点区域,但还未包含所述一枝干路径上的分界点对应的枝干路径的路径区域。
本步骤中,可依次将所述一枝干路径中的各分接点对应的各枝干路径与所述一枝干路径的最新路径区域进行碰撞检测,若检测到有某个分接点对应的某条枝干路径的路径区域与所述一枝干路径的最新路径区域存在重叠,则后续可对该分接点及其对应的该枝干路径进行调整。
S5021:对与所述一枝干路径的最新路径区域存在重叠的所述一枝干路径中的一分接点对应的枝干路径的路径区域进行调整,并更新所述一分接点的中心坐标及其节点区域的边界线段的位置以及所述一分接点对应的枝干路径中的各枝干设备节点的中心坐标及其节点区域的边界线段的位置。
本步骤可参照上述步骤S514。
具体地,本实施例中,根据所述一分接点对应的枝干路径的路径区域的边界线路的位置以及所述一枝干路径的最新路径区域的边界线段的位置,计算第五边界最大重叠距离;然后根据所述第五边界最大重叠距离以及所述一枝干路径的布局方向,对所述一分接点的节点区域以及所述一分接点对应的枝干路径的路径区域进行平移,并更新所述一分接点的中心坐标及其节点区域的边界线段的位置以及所述一分接点对应的枝干路径中的各枝干设备节点的中心坐标及其节点区域的边界线段的位置。
在另一个实施例中,可先获取所述一分接点对应的枝干路径的数量,若数量为1,则将所述一分接点对应的枝干路径的布局方向修改为相反方向,并更新所述一分接点对应的枝干路径中的各枝干设备节点的中心坐标及其节点区域的边界线段的位置;然后将布局方向修改后的所述一分接点对应的枝干路径的路径区域与所述一枝干路径的最新路径区域进行碰撞检测,若不重叠,则保留布局方向修改,若重叠,则还是采用上述基于最大重叠距离进行平移的方法。若所述一分接点对应的枝干路径的数量大于1,也采用上述基于最大重叠距离进行平移的方法。
S5022:根据调整后的所述一分接点的节点区域以及所述一分接点对应的枝干路径的路径区域,更新所述一枝干路径的最新路径区域,并将更新后的区域作为所述一枝干路径的最新路径区域。
S5023:将与所述一枝干路径的最新路径区域不存在重叠的所述一枝干路径中的一分接点对应的枝干路径的路径区域合并至所述一枝干路径的最新路径区域,并将合并后的区域作为所述一枝干路径的最新路径区域。
进一步地,如果所述一枝干路径中存在多个分接点,则依次对各分接点对应的枝干路径进行遍历判断,并将合并了所有分接点对应的枝干路径的路径区域的所述一枝干路径的最新路径区域,作为所述一枝干路径的路径区域。当所述一枝干路径对应的分接点所在路径的设备节点遍历完后,再将所述一枝干路径的路径区域与其对应的分接点所在路径的路径区域进行碰撞检测。
进一步地,若当前分接点对应的枝干路径的数量大于1,则根据上述步骤,依次对各枝干路径进行遍历布局。
其中,若当前分接点对应的枝干路径的数量大于2,则将当前分接点对应的同一布局方向的枝干路径中,第一个进行布局的枝干路径的第一个枝干设备节点放置于垂直当前分接点所在路径且垂点为当前分接点的垂线上,其他枝干路径的第一个枝干设备节点,根据预设的第二布局间隔,依次放置于已布局的枝干路径的第一个枝干设备节点沿着所述同一布局方向的两侧。其中,第二布局间隔可与第一布局间隔相同,也可不相同。
例如,如图8所示,在左侧的图中,节点3为分接点,其对应的枝干路径的数量为2,因此两条枝干路径的第一个枝干设备节点——节点6和节点3放置在垂直于路径{1,2,3,7}的布局方向,且垂点为节点3的垂线上;在右侧的图中,节点3为分接点,其对应的枝干路径的数量为5,其中,枝干路径{6}和{9,10}的布局方向相同,枝干路径{4,5}、{11,12}和{7,8}的布局方向相同,那么对于枝干路径{6}和{9,10},第一个进行布局的枝干路径为{6},将其中的第一个枝干设备节点——节点6放置在垂直于路径{1,2,3,13}的布局方向,且垂点为节点3的垂线上,第二个进行布局的枝干路径为{9,10},将其中的第一个枝干设备节点——节点9放置在节点6沿着其布局方向的一侧(图中放置在节点6的左侧)。同理,对于枝干路径{4,5}、{11,12}和{7,8},节点4放置在垂直于路径{1,2,3,13}的布局方向,且垂点为节点3的垂线上,节点11和节点7分别放置于节点4沿着其布局方向的两侧。
对于步骤S5,假设最终得到的布局图如图6中的右侧图所示,那么节点的放置顺序如下:
先放置节点1,并生成节点1的节点区域,由于节点1不为分接点,因此将节点1的节点区域作为主干路径的初始路径区域。
然后放置节点2,并生成节点2的节点区域,由于节点2不为分接点,因此将节点2的节点区域合并至主干路径的最新路径区域(此时即为节点1的节点区域)。
然后放置节点3,并生成节点3的节点区域,由于节点3为分接点,因此,先将节点3的节点区域(或平移后的节点3的节点区域)合并至主干路径的最新路径区域中。
接着放置节点4,并生成节点4的节点区域,将节点4的节点区域与节点3的节点区域进行碰撞检测,根据检测结果调整或不调整节点4的节点区域,然后将节点4的节点区域作为枝干路径{4,5}的初始路径区域。接着放置节点5,并生成节点5的节点区域,将节点5的节点区域与枝干路径{4,5}的最新路径区域(此时即为节点4的节点区域)进行碰撞检测,根据检测结果调整或不调整节点5的节点区域,然后将节点5的节点区域合并至枝干路径{4,5}的最新路径区域。由于节点5是枝干路径{4,5}中的最后一个枝干设备节点,因此此时即可得到枝干路径{4,5}的路径区域,然后将其与主干路径的最新路径区域(此时即为路径{1,2,3}对应的区域)进行碰撞检测,根据检测结果调整或不调整枝干路径{4,5}的路径区域,最后将枝干路径{4,5}的路径区域合并至主干路径的最新路径区域,合并后,主干路径的最新路径区域为{1,2,3,4,5}对应的区域。
接着放置节点3的另一条枝干路径{6}中的节点6,同理,进行放置、碰撞检测、(调整、)合并后,主干路径的最新路径区域为{1,2,3,4,5,6}对应的区域。
然后放置节点7,并生成节点7的节点区域,由于节点7为分接点,因此,先将节点7的节点区域(或平移后的节点7的节点区域)合并至主干路径的最新路径区域中。
然后放置节点8,并生成节点8的节点区域,将节点8的节点区域与节点7的节点区域进行碰撞检测后,将节点8的节点区域作为枝干路径{8,11,15}的初始路径区域。
然后参照上述描述,依次放置节点9和节点10,生成枝干路径{9,10}的路径区域,然后将其与枝干路径{8,11,15}的最新路径区域(此时即为节点8的节点区域)进行碰撞检测,根据检测结果调整或不调整枝干路径{9,10}的路径区域,最后将枝干路径{9,10}的路径区域合并至枝干路径{8,11,15}的最新路径区域(此时即为节点8的节点区域)中,合并后,枝干路径{8,11,15}的最新路径区域即为{8,9,10}对应的区域。
然后参照上述描述,继续放置枝干路径{8,11,15}中的节点11和节点15,生成枝干路径{8,11,15}的路径区域(此时即为{8,9,10,11,15}对应的区域),将其与主干路径的最新路径区域(此时即为{1,2,3,4,5,6,7}对应的区域)进行碰撞检测,根据检测结果调整或不调整枝干路径该枝干路径的路径区域,最后将其合并至主干路径的最新路径区域,合并后,主干路径的最新路径区域为{1,2,3,4,5,6,7,8,9,10,11,15}对应的区域。
以此类推,依次放置节点12、节点13和节点14,当布局完节点14后,此时主干路径的最新路径区域即为{1,2,3,4,5,6,7,8,9,10,11,15,12,13,14}对应的区域,并可得到各设备节点的中心坐标。
S6:分别根据各设备节点的中心坐标和设备端子偏移量,计算各设备节点的端子坐标,并根据所述多叉树拓扑网络以及各设备节点的端子坐标,进行设备节点之间的连接布线,得到布局图。
具体地,根据多叉树拓扑网络获取设备端子间的连接关系,并根据计算得到的各设备节点的端子坐标,对设备端子进行连线,实现设备间的连接布线。
进一步地,布局完成后,生成JSON数据模型信息,保存至数据库中,并传回至应用端进行图形展示。
图9示出了图1-2中的示例经过本实施例的方法处理后的处理效果,可以看出,本实施例的方法可使布局更加紧凑美观,消除了线路重叠的问题,同时,在布局的过程中考虑了设备标注,消除了标注冲突压盖的问题。
本实施例从地理图中抽取的线路数据,将线路数据分成设备数据和样式数据,并通过JSON描述构成电网的设备对象及其相互关系,包括设备图元符号、设备标注信息、网络拓扑连接关系等,通过对JSON数据的解析,创建设备树节点并构建节点间的关系,在内存中形成多叉树的拓扑模型结构。再结合正向递归、反向递归布局算法和干线支线算法的优点,对树节点引入边界区域的方式描述设备和标注的布局区域,并将标注区域纳入到设备布局区域中,先通过正向递归布置节点,再通过反向递归布置枝干,接着通过设备区域之间进行碰撞检测,对有碰撞区域的进行处理,消除重叠。再通过边界合并的方式将设备区域递归的合并到统一布局区域中,形成一个整体,最终消除所有重叠而不引入新的重叠。同时为保证布线时,尽可能地减少路径交叉的情况出线,在图元布局时就计算图元间的最佳布线路径,及时调整排布顺序,在不引入新的布线算法影响运行时长的同时还能保证布线路径合理美观。
实施例二
本实施例是对应上述实施例的一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述实施例中基于多叉树碰撞检测的配网专题图布局方法的各个步骤,且能达到相同的技术效果,此处不再累述。
综上所述,本发明提供的一种基于多叉树碰撞检测的配网专题图布局方法及存储介质,通过碰撞检测,对存在重叠的区域进行调整,从而可消除线路重叠的问题;通过构建多叉树拓扑网络,并确定多叉树拓扑网络中的主干路径以及各分接点对应的枝干路径,使得后续可依据一定的顺序进行正向递归布置节点以及反向递归布置枝干,从而可在消除重叠的同时不引入新的重叠;并且,在布局过程中考虑了电网设备的标准信息,可消除标注冲突压盖的问题。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (9)
1.一种基于多叉树碰撞检测的配网专题图布局方法,其特征在于,包括:
获取配电线路中的各电网设备的设备模型数据,所述设备模型数据包括设备ID、设备端子连接信息、设备端子偏移量、设备标注信息和符号样式信息;
根据所述各电网设备的设备端子连接信息,以电源点或出线点为根节点,构建多叉树拓扑网络,并根据各电网设备的设备模型数据,得到所述多叉树拓扑网络中各设备节点的节点信息;
以所述多叉树拓扑网络的根节点为起点,确定所述多叉树拓扑网络的主干路径,并以分接点的子节点为起点,递归地确定各分接点对应的枝干路径,所述分接点为存在至少两个子节点的设备节点;
确定主干路径的布局方向,并分别根据各分接点所在路径的布局方向,确定各分接点对应的各枝干路径的布局方向;
根据深度优先搜索的顺序、各电网设备的设备标注信息和符号样式信息、预设的布局间隔以及主干路径和枝干路径的布局方向,依次放置各设备节点,并通过碰撞检测,对重叠的设备节点进行调整,确定各设备节点的中心坐标;
分别根据各设备节点的中心坐标和设备端子偏移量,计算各设备节点的端子坐标,并根据所述多叉树拓扑网络以及各设备节点的端子坐标,进行设备节点之间的连接布线,得到布局图。
2.根据权利要求1所述的基于多叉树碰撞检测的配网专题图布局方法,其特征在于,所述以所述多叉树拓扑网络的根节点为起点,确定所述多叉树拓扑网络的主干路径,并以分接点的子节点为起点,递归地确定各分接点对应的枝干路径,所述分接点为存在至少两个子节点的设备节点具体为:
以所述多叉树拓扑网络的根节点为起点,对所述多叉树拓扑网络进行深度优先搜索,获取深度值最大的节点路径,作为主干路径;
遍历所述主干路径上的主干设备节点,依次将一主干设备节点作为当前主干设备节点;
若当前主干设备节点不存在除主干设备节点外的其他子节点,则继续遍历所述主干路径上的主干设备节点;
若当前主干设备节点存在除主干设备节点外的其他子节点,则判定当前主干设备节点为分接点,并遍历当前主干设备节点的其他子节点,依次将一其他子节点作为当前子节点;
以当前子节点为起点,对所述多叉树拓扑网络进行深度优先搜索,获取深度值最大的节点路径,作为当前设备节点对应的一枝干路径;
若所述一枝干路径中存在分接点,则递归地获取所述一枝干路径中的各分接点对应的枝干路径;
当遍历完当前主干设备节点的其他子节点后,继续遍历所述主干路径上的主干设备节点;
当遍历完主干路径上的主干设备节点后,得到所述多叉树拓扑网络的主干路径以及各分接点对应的各枝干路径。
3.根据权利要求1所述的基于多叉树碰撞检测的配网专题图布局方法,其特征在于,所述确定主干路径的布局方向,并分别根据各分接点所在路径的布局方向,确定各分接点对应的各枝干路径的布局方向具体为:
将预设的布局方向作为主干路径的布局方向,并将所述预设的布局方向存储至各主干设备节点的节点信息中;
通过深度优先搜索遍历所述多叉树拓扑网络中的各设备节点,若当前遍历到的设备节点为分接点,则将当前遍历到的设备节点作为当前分接点;
根据当前分接点所在路径的布局方向,均匀地设置当前分接点对应的各枝干路径的布局方向,并分别将各枝干路径的布局方向存储至各枝干路径中的各枝干设备节点的节点信息中,其中,枝干路径的布局方向与其对应的分接点所在路径的布局方向垂直。
4.根据权利要求1所述的基于多叉树碰撞检测的配网专题图布局方法,其特征在于,所述根据深度优先搜索的顺序、各电网设备的设备标注信息和符号样式信息、预设的布局间隔以及主干路径和枝干路径的布局方向,依次放置各设备节点,并通过碰撞检测,对重叠的设备节点进行调整,确定各设备节点的中心坐标具体为:
遍历所述主干路径上的主干设备节点,依次将一主干设备节点作为当前主干设备节点;
根据上一个主干设备节点的中心坐标、主干路径的布局方向以及预设的第一布局间隔,放置当前主干设备节点,并确定当前主干设备节点的中心坐标,其中,第一个主干设备节点的放置于预设的布局起点上;
根据当前主干设备节点的符号样式信息和设备标注信息,计算当前主干设备节点的图元大小和标注大小,并根据当前主干设备节点的图元大小和标注大小,构建当前主干设备节点对应的最小多边形区域,作为当前主干设备节点的节点区域,同时记录节点区域的上下左右四个方向的边界线段的位置;
将当前主干设备节点的节点区域与主干路径的最新路径区域进行碰撞检测,判断是否存在重叠,其中,主干路径的初始路径区域为第一个主干设备节点的节点区域;
若存在重叠,则根据当前主干设备节点的节点区域的边界线路的位置以及主干路径的最新路径区域的边界线段的位置,计算第一边界最大重叠距离;
根据所述第一边界最大重叠距离以及主干路径的布局方向,对当前主干设备节点的节点区域进行平移,并更新当前主干设备节点的中心坐标及其节点区域的边界线段的位置;
将平移后的当前主干设备节点的节点区域合并至主干路径的最新路径区域,并将合并后的区域作为主干路径的最新路径区域;
若不存在重叠,则将当前主干设备节点的节点区域合并至主干路径的最新路径区域,并将合并后的区域作为主干路径的最新路径区域;
若当前主干设备节点不为分接点,则继续遍历所述主干路径上的主干设备节点;
若当前主干设备节点为分接点,则分别对当前主干设备节点对应的各枝干路径中的各枝干设备节点进行布局,得到当前主干设备节点对应的枝干路径的路径区域;
将当前主干设备节点对应的枝干路径的路径区域与主干路径的最新路径区域进行碰撞检测,判断是否存在重叠;
若存在重叠,则对当前主干设备节点对应的枝干路径的路径区域以及当前主干设备节点的节点区域进行调整,并更新当前主干设备节点的中心坐标及其节点区域的边界线段的位置以及当前主干设备节点对应的枝干路径上的各枝干设备节点的中心坐标及其节点区域的边界线段的位置;
根据调整后的当前主干设备节点的节点区域以及当前主干设备节点对应的枝干路径的路径区域,更新主干路径的最新路径区域,并将更新后的区域作为主干路径的最新路径区域;
若不存在重叠,则将当前主干设备节点对应的枝干路径的枝干路径区域合并至主干路径的最新路径区域,并将合并后的区域作为主干路径的最新路径区域;
继续遍历所述主干路径上的主干设备节点,当遍历完主干路径上的主干设备节点后,根据主干路径的最新路径区域,确定各设备节点的中心坐标。
5.根据权利要求4所述的基于多叉树碰撞检测的配网专题图布局方法,其特征在于,所述对当前主干设备节点对应的枝干路径的路径区域以及当前主干设备节点的节点区域进行调整,具体为:
根据当前主干设备节点对应的枝干路径的路径区域的边界线路的位置以及主干路径的最新路径区域的边界线段的位置,计算第二边界最大重叠距离;
根据所述第二边界最大重叠距离以及所述主干路径的布局方向,对当前主干设备节点对应的枝干路径的路径区域以及当前主干设备节点的节点区域进行平移。
6.根据权利要求4所述的基于多叉树碰撞检测的配网专题图布局方法,其特征在于,所述对当前主干设备节点对应的枝干路径的路径区域以及当前主干设备节点的节点区域进行调整,并更新当前主干设备节点的中心坐标及其节点区域的边界线段的位置以及当前主干设备节点对应的枝干路径上的各枝干设备节点的中心坐标及其节点区域的边界线段的位置,具体为:
若当前主干设备节点对应的枝干路径中存在分接点,且所述分接点中的一分接点对应的枝干路径的数量为1,则将所述一分接点对应的枝干路径的布局方向修改为相反方向,并更新所述一分接点对应的枝干路径中的各枝干设备节点的中心坐标及其节点区域的边界线段的位置,同时更新当前主干设备节点对应的枝干路径的路径区域;
将更新后的当前主干设备节点对应的枝干路径的路径区域与主干路径的最新路径区域进行碰撞检测,判断是否存在重叠;
若不存在重叠,则执行所述根据调整后的当前主干设备节点的节点区域以及当前主干设备节点对应的枝干路径的路径区域,更新主干路径的最新路径区域,并将更新后的区域作为主干路径的最新路径区域的步骤;
若存在重叠,则将所述一分接点对应的枝干路径的布局方向还原;
根据当前主干设备节点对应的枝干路径的路径区域的边界线路的位置以及主干路径的最新路径区域的边界线段的位置,计算第二边界最大重叠距离;
根据所述第二边界最大重叠距离以及所述主干路径的布局方向,对当前主干设备节点对应的枝干路径的路径区域以及当前主干设备节点的节点区域进行平移,并更新当前主干设备节点的中心坐标及其节点区域的边界线段的位置以及当前主干设备节点对应的枝干路径上的各枝干设备节点的中心坐标及其节点区域的边界线段的位置。
7.根据权利要求4所述的基于多叉树碰撞检测的配网专题图布局方法,其特征在于,所述分别对当前主干设备节点对应的各枝干路径中的各枝干设备节点进行布局,得到当前主干设备节点对应的枝干路径的路径区域,具体为:
将当前主干设备节点作为当前分接点;
遍历当前分接点对应的一枝干路径的枝干设备节点,依次将一枝干设备节点作为当前枝干设备节点;
若当前枝干设备节点为所述一枝干路径的第一个枝干设备节点,则根据当前分接点的中心坐标、所述一枝干路径的布局方向以及预设的第一布局间隔,放置当前枝干设备节点,并确定当前枝干设备节点的中心坐标;
根据当前枝干设备节点的符号样式信息和设备标注信息,计算当前枝干设备节点的图元大小和标注大小,并根据当前枝干设备节点的图元大小和标注大小,构建当前枝干设备节点对应的最小多边形区域,作为当前枝干设备节点的节点区域,同时记录节点区域的上下左右四个方向的边界线段的位置;
将当前枝干设备节点的节点区域与当前分接点的节点区域进行碰撞检测,判断是否存在重叠;
若存在重叠,则根据当前枝干设备节点的节点区域的边界线路的位置以及当前分接点的节点区域的边界线段的位置,计算第三边界最大重叠距离;
根据所述第三边界最大重叠距离以及所述一枝干路径的布局方向,对当前枝干设备节点的节点区域进行平移,并更新当前枝干设备节点的中心坐标及其节点区域的边界线段的位置;
将更新后的当前枝干设备节点的节点区域作为所述一枝干路径的初始路径区域;
若不存在重叠,则将当前枝干设备节点的节点区域作为所述一枝干路径的初始路径区域;
若当前枝干设备节点不为所述一枝干路径的第一个枝干设备节点,则根据上一个枝干设备节点的中心坐标、所述一枝干路径的布局方向以及预设的第一布局间隔,放置当前枝干设备节点,并确定当前枝干设备节点的中心坐标;
根据当前枝干设备节点的符号样式信息和设备标注信息,计算当前枝干设备节点的图元大小和标注大小,并根据当前枝干设备节点的图元大小和标注大小,构建当前枝干设备节点对应的最小多边形区域,作为当前枝干设备节点的节点区域,同时记录节点区域的上下左右四个方向的边界线段的位置;
将当前枝干设备节点的节点区域与所述一枝干路径的最新路径区域进行碰撞检测,判断是否存在重叠;
若存在重叠,则根据当前枝干设备节点的节点区域的边界线路的位置以及所述一枝干路径的最新路径区域的边界线段的位置,计算第四边界最大重叠距离;
根据所述第四边界最大重叠距离以及所述一枝干路径的布局方向,对当前枝干设备节点的节点区域进行平移,并更新当前枝干设备节点的中心坐标及其节点区域的边界线段的位置;
将平移后的当前枝干设备节点的节点区域合并至所述一枝干路径的最新路径区域,并将合并后的区域作为所述一枝干路径的最新路径区域;
若不存在重叠,则将当前枝干设备节点的节点区域合并至所述一枝干路径的最新路径区域,并将合并后的区域作为所述一枝干路径的最新路径区域;
若当前枝干设备节点为分接点,则递归地对当前枝干设备节点对应的各枝干路径中的各枝干设备进行点进行布局,得到当前枝干设备节点对应的枝干路径的路径区域;
若当前枝干设备节点不为所述一枝干路径的最后一个枝干设备节点,则继续遍历所述一枝干路径的枝干设备节点;
若当前枝干设备节点为所述一枝干路径的最后一个枝干设备节点,则分别将所述一枝干路径中的各分接点对应的枝干路径的路径区域与所述一枝干路径的最新路径区域进行碰撞检测,判断是否存在重叠;
若所述一枝干路径中的一分接点对应的枝干路径的路径区域与所述一枝干路径的最新路径区域存在重叠,则对所述一分接点的节点区域以及所述一分接点对应的枝干路径的路径区域进行调整,并更新所述一分接点的中心坐标及其节点区域的边界线段的位置以及所述一分接点对应的枝干路径中的各枝干设备节点的中心坐标及其节点区域的边界线段的位置;
根据调整后的所述一分接点的节点区域以及所述一分接点对应的枝干路径的路径区域,更新所述一枝干路径的最新路径区域,并将更新后的区域作为所述一枝干路径的最新路径区域;
若所述一枝干路径中的一分接点对应的枝干路径的路径区域与所述一枝干路径的最新路径区域不存在重叠,则将所述一分接点对应的枝干路径的路径区域合并至所述一枝干路径的最新路径区域,并将合并后的区域作为所述一枝干路径的最新路径区域。
8.根据权利要求7所述的基于多叉树碰撞检测的配网专题图布局方法,其特征在于,还包括:
若当前分接点对应的枝干路径的数量大于2,则将当前分接点对应的同一布局方向的枝干路径中,第一个进行布局的枝干路径的第一个枝干设备节点放置于垂直当前分接点所在路径且垂点为当前分接点的垂线上,其他枝干路径的第一个枝干设备节点,根据预设的第二布局间隔,依次放置于已布局的枝干路径的第一个枝干设备节点沿着所述同一布局方向的两侧。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211428241.7A CN115688341B (zh) | 2022-11-15 | 2022-11-15 | 基于多叉树碰撞检测的配网专题图布局方法及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211428241.7A CN115688341B (zh) | 2022-11-15 | 2022-11-15 | 基于多叉树碰撞检测的配网专题图布局方法及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115688341A true CN115688341A (zh) | 2023-02-03 |
CN115688341B CN115688341B (zh) | 2024-04-16 |
Family
ID=85051696
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211428241.7A Active CN115688341B (zh) | 2022-11-15 | 2022-11-15 | 基于多叉树碰撞检测的配网专题图布局方法及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115688341B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115866071A (zh) * | 2023-02-28 | 2023-03-28 | 中信云网有限公司 | 初始设备属性信息的上报路径确定方法及装置 |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6898773B1 (en) * | 2002-01-22 | 2005-05-24 | Cadence Design Systems, Inc. | Method and apparatus for producing multi-layer topological routes |
US20050166169A1 (en) * | 2004-01-27 | 2005-07-28 | Kurzum Zahi M. | Method for legalizing the placement of cells in an integrated circuit layout |
US20070240086A1 (en) * | 2006-03-31 | 2007-10-11 | Synopsys, Inc. | Range pattern definition of susceptibility of layout regions to fabrication issues |
CN103150425A (zh) * | 2013-02-06 | 2013-06-12 | 上海交通大学 | 基于拓扑分层的配电网单线图自动生成方法 |
US20150012902A1 (en) * | 2013-07-03 | 2015-01-08 | State Grid Corporation Of China | Automatic mapping method for a distribution network based on logical layout |
CN104951844A (zh) * | 2015-05-21 | 2015-09-30 | 北京科东电力控制系统有限责任公司 | 一种配电网专题图布局优化方法 |
CN105117518A (zh) * | 2015-07-28 | 2015-12-02 | 山东大学 | 一种辐射接线模式的配电馈线单线图自动绘制方法及系统 |
CN107480409A (zh) * | 2017-10-16 | 2017-12-15 | 国网四川省电力公司电力科学研究院 | 一种电力系统可视化仿真模型拓扑分层布局方法 |
CN108595509A (zh) * | 2018-03-22 | 2018-09-28 | 山东昭元信息科技有限公司 | 一种基于树状拓扑数据的正交布局方法及系统 |
CN108629061A (zh) * | 2017-03-23 | 2018-10-09 | 南京南瑞继保电气有限公司 | 一种混合式布局的配电网单线图自动生成方法 |
CN111241646A (zh) * | 2020-01-10 | 2020-06-05 | 厦门亿力吉奥信息科技有限公司 | 电网设备的布局方法及计算机可读存储介质 |
CN111444587A (zh) * | 2020-02-27 | 2020-07-24 | 国网信通亿力科技有限责任公司 | 一种基于自动绘图技术的电力图形绘制方法 |
CN112035589A (zh) * | 2020-08-31 | 2020-12-04 | 广东电网有限责任公司东莞供电局 | 一种配网自动化主站单线图更新智能校验方法 |
CN112487591A (zh) * | 2020-12-09 | 2021-03-12 | 国网江西省电力有限公司电力科学研究院 | 一种配电网线路系统线路图模处理平台 |
CN112528590A (zh) * | 2020-12-09 | 2021-03-19 | 国网江西省电力有限公司电力科学研究院 | 一种配电线路多图元文本单线图深度布局算法 |
CN112685868A (zh) * | 2021-03-12 | 2021-04-20 | 南京南瑞信息通信科技有限公司 | 一种配电网单线图生成方法、装置及存储介质 |
CN113836681A (zh) * | 2021-11-26 | 2021-12-24 | 国电南瑞南京控制系统有限公司 | 一种电网单线图布局方法及装置 |
KR102358799B1 (ko) * | 2021-03-16 | 2022-02-08 | 주식회사 애니게이트 | 배전계통 단선도 생성 장치 및 방법 |
-
2022
- 2022-11-15 CN CN202211428241.7A patent/CN115688341B/zh active Active
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6898773B1 (en) * | 2002-01-22 | 2005-05-24 | Cadence Design Systems, Inc. | Method and apparatus for producing multi-layer topological routes |
US20050166169A1 (en) * | 2004-01-27 | 2005-07-28 | Kurzum Zahi M. | Method for legalizing the placement of cells in an integrated circuit layout |
US20070240086A1 (en) * | 2006-03-31 | 2007-10-11 | Synopsys, Inc. | Range pattern definition of susceptibility of layout regions to fabrication issues |
CN103150425A (zh) * | 2013-02-06 | 2013-06-12 | 上海交通大学 | 基于拓扑分层的配电网单线图自动生成方法 |
US20150012902A1 (en) * | 2013-07-03 | 2015-01-08 | State Grid Corporation Of China | Automatic mapping method for a distribution network based on logical layout |
CN104951844A (zh) * | 2015-05-21 | 2015-09-30 | 北京科东电力控制系统有限责任公司 | 一种配电网专题图布局优化方法 |
CN105117518A (zh) * | 2015-07-28 | 2015-12-02 | 山东大学 | 一种辐射接线模式的配电馈线单线图自动绘制方法及系统 |
CN108629061A (zh) * | 2017-03-23 | 2018-10-09 | 南京南瑞继保电气有限公司 | 一种混合式布局的配电网单线图自动生成方法 |
CN107480409A (zh) * | 2017-10-16 | 2017-12-15 | 国网四川省电力公司电力科学研究院 | 一种电力系统可视化仿真模型拓扑分层布局方法 |
CN108595509A (zh) * | 2018-03-22 | 2018-09-28 | 山东昭元信息科技有限公司 | 一种基于树状拓扑数据的正交布局方法及系统 |
CN111241646A (zh) * | 2020-01-10 | 2020-06-05 | 厦门亿力吉奥信息科技有限公司 | 电网设备的布局方法及计算机可读存储介质 |
CN111444587A (zh) * | 2020-02-27 | 2020-07-24 | 国网信通亿力科技有限责任公司 | 一种基于自动绘图技术的电力图形绘制方法 |
CN112035589A (zh) * | 2020-08-31 | 2020-12-04 | 广东电网有限责任公司东莞供电局 | 一种配网自动化主站单线图更新智能校验方法 |
CN112487591A (zh) * | 2020-12-09 | 2021-03-12 | 国网江西省电力有限公司电力科学研究院 | 一种配电网线路系统线路图模处理平台 |
CN112528590A (zh) * | 2020-12-09 | 2021-03-19 | 国网江西省电力有限公司电力科学研究院 | 一种配电线路多图元文本单线图深度布局算法 |
CN112685868A (zh) * | 2021-03-12 | 2021-04-20 | 南京南瑞信息通信科技有限公司 | 一种配电网单线图生成方法、装置及存储介质 |
KR102358799B1 (ko) * | 2021-03-16 | 2022-02-08 | 주식회사 애니게이트 | 배전계통 단선도 생성 장치 및 방법 |
CN113836681A (zh) * | 2021-11-26 | 2021-12-24 | 国电南瑞南京控制系统有限公司 | 一种电网单线图布局方法及装置 |
Non-Patent Citations (5)
Title |
---|
李一明: "基于传导闭包图结构的布图算法研究", 中国优秀硕士学位论文全文数据库 信息科技, 15 June 2012 (2012-06-15) * |
许先锋等: "基于多叉树自动布局技术的设备供电路径展现方法", 电网技术, vol. 25, pages 9 - 13 * |
赵越;李培;王震;王平;: "单线图动态规划最优布局成图技术", 计算机系统应用, no. 03, pages 249 - 254 * |
赵越等: "基于融合图元规范的电网全信息实时共享服务应用研究", 自动化技术与应用, vol. 38, no. 6, pages 180 - 184 * |
陈连杰;韩冰;赵家庆;杜红卫;钱科军;欧阳文;: "利用自动成图的配电网模型拓扑校核技术及实现", 电力系统自动化, no. 02, pages 160 - 164 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115866071A (zh) * | 2023-02-28 | 2023-03-28 | 中信云网有限公司 | 初始设备属性信息的上报路径确定方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN115688341B (zh) | 2024-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107679276B (zh) | 电力系统潮流接线图的生成方法、装置及电子设备 | |
CN110334346A (zh) | 一种pdf文件的信息抽取方法和装置 | |
CN109783568A (zh) | 一种网络拓扑图的生成方法、装置及存储介质 | |
CN106649805B (zh) | 一种高效的Web应用跨浏览器布局兼容性检测系统及方法 | |
CN112035589B (zh) | 一种配网自动化主站单线图更新智能校验方法 | |
CN111241646B (zh) | 电网设备的布局方法及计算机可读存储介质 | |
CN105787811A (zh) | 电网系统图自动化布局克服交叉的方法及其系统 | |
CN115346012B (zh) | 路口面的生成方法、装置、设备、存储介质和程序产品 | |
CN115688341B (zh) | 基于多叉树碰撞检测的配网专题图布局方法及存储介质 | |
CN104951844A (zh) | 一种配电网专题图布局优化方法 | |
CN103810350A (zh) | 图元自动创建方法及其创建装置 | |
CN103177034A (zh) | 一种路网中平行线的生成方法及装置 | |
CN109902087A (zh) | 用于问答的数据处理方法及装置、服务器 | |
CN112332306A (zh) | 一种电缆自动敷设方法及存储介质 | |
CN103839222A (zh) | 一种基于分层次边界拓扑搜索模型的栅格转矢量并行系统 | |
US20230147594A1 (en) | Method for integratedly updating map data, device and storage medium | |
Sun | A fast, free-form rubber-sheet algorithm for contiguous area cartograms | |
CN107809339A (zh) | 链路显示方法、链路生成方法和装置 | |
CN104899908A (zh) | 生成事件组演化图的方法和装置 | |
CN113642090B (zh) | 建筑布局生成方法、装置、计算机设备和存储介质 | |
KR102358799B1 (ko) | 배전계통 단선도 생성 장치 및 방법 | |
CN103413000A (zh) | 自动绘制斜坡线方法和装置 | |
CN116562488B (zh) | 导流岛生成方法、装置、计算机设备、介质和程序产品 | |
CN110532257A (zh) | 一种将家谱数据进行可视化呈现的方法及系统 | |
CN111339625A (zh) | 构建风力发电机组基础模型的方法、装置及其系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |