本發(fā)明屬于電力系統(tǒng)調(diào)度自動化技術(shù)領(lǐng)域,特別涉及一種基于改進引力斥力模型的無重疊交叉的配電網(wǎng)單線圖自動繪制方法。
背景技術(shù):
單線圖是電力系統(tǒng)使用的基本圖形資料,記錄了電網(wǎng)中各種設(shè)備的邏輯連接以及附加信息,普遍應(yīng)用于電網(wǎng)系統(tǒng)規(guī)劃、控制、運行、管理等日常工作中。傳統(tǒng)人工繪制單線圖中包含了設(shè)備、連接線、文字說明等信息。例如,圖1為某地區(qū)單線圖的局部圖像,圖中虛線和實線代表電網(wǎng)中的線路,與線路相連的特殊圖形代表電網(wǎng)中的設(shè)備,連接線和設(shè)備周圍都標注有設(shè)備的名稱和數(shù)據(jù)信息,整幅圖都是通過人工繪制。隨著電網(wǎng)規(guī)模的不斷擴大、復(fù)雜度的不斷提高,傳統(tǒng)的人工繪制方式工作量大、更新不及時的問題越來越突出,因此出現(xiàn)了通過計算機程序自動生成單線圖的新方法,典型的如引力斥力模型。
引力斥力模型就是把單線圖中的每一個節(jié)點(即電網(wǎng)中的設(shè)備)看成一個物理質(zhì)點,每一條邊看成一條橡皮筋;任意兩個點之間存在斥力作用,當(dāng)相鄰兩點之間的距離超過橡皮筋的長度,就會受到引力作用;圖中節(jié)點會在引力與斥力的作用下不斷運動,直到達到平衡。直接使用引力斥力算法生成的配電網(wǎng)單線圖,由于沒有考慮設(shè)備圖形和畫布的大小,會出現(xiàn)線路和設(shè)備重疊交叉、單線圖,效果較差,很難保證最終生成圖的緊湊美觀,也很難保證圖中線路和設(shè)備完全不交叉或重疊。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是為克服已有技術(shù)的不足之處,提供一種基于改進引力斥力模型的配電網(wǎng)單線圖自動生成方法。本發(fā)明為配電網(wǎng)中每條饋線生成一張單線圖;該方法使用改進的引力斥力模型,并針對線路交叉方式進行去交叉重疊處理,可以保證生成的圖形整體分布緊湊美觀、消除了交叉和重疊。
本發(fā)明提出的一種基于改進引力斥力模型的配電網(wǎng)單線圖自動生成方法,其特征在于,該方法首先從電網(wǎng)公共信息模型中讀取屬于一條饋線上的所有設(shè)備和連接關(guān)系;將所讀取到的設(shè)備均抽象為節(jié)點,設(shè)備間的連接關(guān)系均抽象為線,完成基礎(chǔ)網(wǎng)絡(luò)結(jié)構(gòu)圖;然后,將設(shè)備節(jié)點替換為8節(jié)點矩形框,再應(yīng)用改進引力斥力模型對該結(jié)構(gòu)圖進行布局調(diào)整;
通過正交化、去交叉點,收縮連接線生成最終布局圖;最后,將最終布局圖中包括節(jié)點的位置、設(shè)備類型、設(shè)備名稱和設(shè)備電氣屬性的信息輸出到單線圖文件,并用設(shè)備圖形替代8節(jié)點矩形框,完成配電網(wǎng)單線圖的繪制。該方法具體步驟包括:
1)從電網(wǎng)公共信息模型CIM中讀取屬于一條饋線上的所有設(shè)備和連接關(guān)系;將所讀取到的設(shè)備均抽象為節(jié)點,設(shè)備間的連接關(guān)系均抽象為線;若任意節(jié)點上連接的線超過4條,則將該節(jié)點分裂為兩個或更多節(jié)點,保證每個節(jié)點上的連接線不超過4條;
2)生成初始布局;
從步驟1)所選取饋線的電源開始,沿水平或垂直方向依次排列相連的后續(xù)節(jié)點,如果有多個后續(xù)節(jié)點,則按照逆時針方向依次放置相連的后續(xù)節(jié)點;相鄰節(jié)點之間每條連接線長度相等;節(jié)點排列完畢后,將所述節(jié)點依次替換為指定大小的8節(jié)點矩形框;最后利用改進引力斥力模型,計算節(jié)點位置,對圖形布局進行調(diào)整,得到基礎(chǔ)網(wǎng)絡(luò)結(jié)構(gòu)圖G;
3)遍歷步驟2)的基礎(chǔ)網(wǎng)絡(luò)結(jié)構(gòu)圖G中的各個節(jié)點,通過調(diào)整節(jié)點坐標和連接線方向,使節(jié)點上的連接線垂直或水平,且分布在上下左右四個不同方向上;統(tǒng)計圖G中連線交叉點的數(shù)量;遍歷所有交叉點,通過延長連接線和平移分支消除交叉點;反復(fù)執(zhí)行該過程,直到消除圖中所有交叉點;最后收縮圖G中所有被延長的連接線,在不產(chǎn)生交叉點的前提下,取每條連接線最小長度,完成最終布局圖;
4)遍歷步驟3)得到的最終布局圖中所有節(jié)點,將包括節(jié)點的位置、設(shè)備類型、設(shè)備名稱和設(shè)備數(shù)據(jù)的信息輸出到單線圖文件;在單線圖文件中,用設(shè)備圖形替代最終布局圖中的8節(jié)點矩形框;并將包含設(shè)備名稱和設(shè)備數(shù)據(jù)的文本信息分布在設(shè)備圖形周圍,完成配電網(wǎng)單線圖繪制。
本發(fā)明的特點及有益效果是:
1.本發(fā)明改進了引力斥力算法。通過引入8節(jié)點矩形框,使得引力斥力計算時能夠統(tǒng)一考慮設(shè)備大小;引入畫布邊框的引力作用,使節(jié)點在畫布上分布更均勻,得到較好的初始布局。
2.本發(fā)明通過延長連接線和平移分支消除交叉點的算法快速而有效,然后通過壓縮連接線保證圖像緊湊美觀。
附圖說明
圖1是傳統(tǒng)人工繪制單線圖的示意圖。
圖2是本發(fā)明方法的流程框圖。
圖3是本發(fā)明中8節(jié)點矩形框示意圖。
圖4是本發(fā)明中步驟3)的消除交叉點的流程框圖。
圖5是本發(fā)明實施例中典型交叉方式示意圖。
具體實施方式
本發(fā)明提出的一種基于改進引力斥力模型的配電網(wǎng)單線圖自動繪制方法,下面結(jié)合附圖和具體實施例進一步詳細說明如下。
本發(fā)明提出的一種基于改進引力斥力模型的配電網(wǎng)單線圖自動繪制方法,流程框圖如圖2所示,該方法首先從電網(wǎng)公共信息模型中讀取屬于一條饋線上的所有設(shè)備和連接關(guān)系;將所讀取到的設(shè)備均抽象為節(jié)點,設(shè)備間的連接關(guān)系均抽象為線,完成基礎(chǔ)網(wǎng)絡(luò)結(jié)構(gòu)圖;然后,將設(shè)備節(jié)點替換為8節(jié)點矩形框,再應(yīng)用改進引力斥力模型對該結(jié)構(gòu)圖進行布局調(diào)整;通過正交化、去交叉點,收縮連接線生成最終布局圖;最后,將最終布局圖中的包括節(jié)點的位置、設(shè)備類型、設(shè)備名稱和設(shè)備電氣屬性的信息輸出到單線圖文件,并用設(shè)備圖形替代8節(jié)點矩形框,完成配電網(wǎng)單線圖的繪制。該方法具體步驟包括:
1)從電網(wǎng)公共信息模型(CIM)中讀取屬于一條饋線(饋線指配電網(wǎng)中從電源母線到負荷的配電線路)上的所有設(shè)備和連接關(guān)系;將所讀取到的設(shè)備均抽象為節(jié)點,設(shè)備間的連接關(guān)系均抽象為線;
若任意節(jié)點N上連接的線超過4條,則將節(jié)點N分裂為兩個或更多節(jié)點,保證每個節(jié)點上的連接線不超過4條。例如,假設(shè)節(jié)點D上共有n條連接線,分別為L1至Ln,4<n≤12,那么創(chuàng)建m個虛擬節(jié)點U1至Um,m=(n-3)/2,m的計算結(jié)果取整數(shù)位。將虛擬節(jié)點U1至Um連接到節(jié)點D,并斷開連接線L5-m至Ln與節(jié)點D的連接;對于第k個虛擬節(jié)點Uk,1≤k≤m,將連接線L4-m+3×k至L6-m+3×k連接到Uk。
2)生成初始布局;
從步驟1)所選取饋線的電源開始,沿水平或垂直方向依次排列相連的后續(xù)節(jié)點,如果有多個后續(xù)節(jié)點,則按照逆時針方向依次放置相連的后續(xù)節(jié)點;相鄰節(jié)點之間每條連接線長度均為L,L的取值為預(yù)先指定,24<L<48(像素);節(jié)點排列完畢后,將所述節(jié)點依次替換為指定大小的8節(jié)點矩形框;8節(jié)點矩形框的形式如圖3所示,節(jié)點對應(yīng)的設(shè)備類型不同,矩形框的大小也不同,如代表開關(guān)的矩形框大小為24×12(像素),代表電源的矩形框大小為24×24(像素);最后利用引力斥力模型,計算節(jié)點位置,對圖形布局進行調(diào)整,得到基礎(chǔ)網(wǎng)絡(luò)結(jié)構(gòu)圖G;
若兩節(jié)點坐標分別為(x1,y1),(x2,y2),則二者之間的斥力大小如式(1)所示:
其中,向量Δ=(x1-x2,y1-y2);
若相鄰兩節(jié)點坐標為分別(x1,y1),(x2,y2),則該兩節(jié)點之間連接線上的引力大小如式(2)所示:
本發(fā)明改進了引力斥力模型,將畫布矩形邊框的四條邊作為位置固定的連接線參與引力計算,同時將設(shè)備的8節(jié)點矩形框作為整體參與計算。畫布大小為能夠完全包含基礎(chǔ)的網(wǎng)絡(luò)結(jié)構(gòu)圖G、長寬比為1.618的最小矩形框大小,四條邊對畫布內(nèi)的設(shè)備點有著一定的引力作用:距離越遠,則引力越大;距離越近,則引力越小。這四條邊的作用是使畫布內(nèi)的點分別更加均勻,最終構(gòu)圖更加美觀清晰。
若畫布邊框的一條邊的向量表示為(x1-x2,y1-y2),(x1,y1),(x2,y2)分別為這條邊兩個端點的坐標,則該邊對節(jié)點(x3,y3)的引力作用如式(3)所示:
其中,向量
8節(jié)點矩形框?qū)ζ渌?jié)點的斥力作用為矩形邊框上8個點作用的合力。
3)遍歷步驟2)的基礎(chǔ)網(wǎng)絡(luò)結(jié)構(gòu)圖G中的各個節(jié)點,通過調(diào)整節(jié)點坐標和連接線方向,使節(jié)點上的連接線垂直或水平,且分布在上下左右四個不同方向上;統(tǒng)計圖G中連線交叉點的數(shù)量;遍歷所有交叉點,通過延長連接線和平移分支消除交叉點;反復(fù)執(zhí)行該過程,直到消除圖中所有交叉點;最后縮減圖G中所有被延長的連接線,在不產(chǎn)生交叉點的前提下,取連接線最小長度,完成最終布局圖;具體步驟執(zhí)行流程如圖4所示:
3.1)平移步驟2)完成的整個基礎(chǔ)網(wǎng)絡(luò)結(jié)構(gòu)圖G,使圖G完全置于坐標軸第一象限,同時對各節(jié)點坐標進行取整處理;
3.2)遍歷圖G中所有連接線所覆蓋的坐標點,若同一坐標點被多條連接線覆蓋,則表明在該點位置,存在連接線交叉;將圖G中所有交叉點記為集合C,同時建立一個空的集合C2;
3.3)從集合C中取出一個交叉點P,通過延長某條或某幾條連接線來消除該交叉點P。典型交叉方式如圖5所示:線路L1,L2交叉于點P,L1,L2在圖5中的唯一路徑為(L3,L4,L5),位于路徑外的兩個部分末端節(jié)點為P5,P4。有兩種方法可以消除交叉點P,使L1,L2不再交叉。方法1:根據(jù)L1的方向,計算P點到P5點在該方向上的距離S1,找到唯一路徑(L3,L4,L5)內(nèi)與L1方向一致且不在同一水平線上的連接線L3,保持P2點位置不變,L3長度增加S1,則P點從P5點移出并消失。方法2:根據(jù)L2的方向,計算P點到P4點在該方向上的距離S2,找到唯一路徑(L3,L4,L5)內(nèi)與L2方向一致且不在同一垂直線上的連接線L4,保持P2位置不變,L4長度增加S2,則P點從P4點移出并消失。
3.4)交叉點P消除后重新計算圖中是否有新的交叉點產(chǎn)生;若沒有新交叉點,則消除成功,保留步驟3.3)對連接線的修改,并從集合C中刪除交叉點P;若有新交叉點產(chǎn)生,則放棄步驟3.3)對連接線的修改,并將交叉點P從集合C中刪除,放到集合C2。
3.5)重復(fù)執(zhí)行步驟3.3)和步驟3.4),直到集合C被清空;此時如果C2不為空,則表明C2中的交叉點無法通過一次平移消除,需要多次處理;對C2中的每個交叉點,重復(fù)執(zhí)行步驟3.3)中所述交叉消除步驟,但不再執(zhí)行3.4)中的驗證步驟,且每次消除交叉點后要重新計算所有交叉點以更新集合C2。由于平移會使圖像逐步稀疏,最終所有交叉點都會被消除,即C2變?yōu)榭占稀?/p>
3.6)遍歷所有被延長的連接線,逐步縮短每條連接線,在不產(chǎn)生交叉點的前提下,取每條連接線的最小長度,使圖像更為緊湊,完成最終布局圖。
4)遍歷步驟3)得到的最終布局圖中所有節(jié)點,將包括節(jié)點的位置、設(shè)備類型、設(shè)備名稱和設(shè)備數(shù)據(jù)的信息輸出到單線圖文件;在單線圖文件中,用設(shè)備圖形替代最終布局圖中的8節(jié)點矩形框,并將包含設(shè)備名稱和設(shè)備數(shù)據(jù)的文本信息分布在設(shè)備圖形周圍,完成配電網(wǎng)單線圖繪制。