本發(fā)明涉及電力系統(tǒng)配電網(wǎng)規(guī)劃分析領(lǐng)域,具體涉及一種區(qū)域電網(wǎng)饋線組分段聯(lián)絡(luò)拓?fù)潢P(guān)系生成方法。
背景技術(shù):在電力網(wǎng)絡(luò)的運(yùn)營與規(guī)劃中,為了保存電力網(wǎng)絡(luò)中各項(xiàng)設(shè)備的信息與運(yùn)行信息,普遍采用了GIS(地理信息系統(tǒng))和SCADA(數(shù)據(jù)采集與監(jiān)視控制系統(tǒng))。在對(duì)電力網(wǎng)絡(luò)配電網(wǎng)進(jìn)行規(guī)劃、設(shè)計(jì)、運(yùn)行、維護(hù)時(shí),工程人員需要從GIS(地理信息系統(tǒng))和SCADA(數(shù)據(jù)采集與監(jiān)視控制系統(tǒng))中將饋線和聯(lián)絡(luò)信息提取出來,并進(jìn)行聯(lián)絡(luò)關(guān)系分析、線路的負(fù)荷大小計(jì)算、可靠性分析等,涉及電網(wǎng)結(jié)構(gòu)、可靠性要求、線型型號(hào)和網(wǎng)損等大量信息,人工處理如此繁雜數(shù)據(jù),工作效率很低,且容易出錯(cuò)、精確度不高。隨著配電網(wǎng)規(guī)模的增大、電網(wǎng)信息化技術(shù)的發(fā)展,電力系統(tǒng)中采集和保存的信息越來越多,區(qū)域電網(wǎng)的GIS(地理信息系統(tǒng))和SCADA(數(shù)據(jù)采集與監(jiān)視控制系統(tǒng))中的配電網(wǎng)數(shù)據(jù)量迅速增長,進(jìn)一步凸顯出單純?nèi)斯ぬ幚頂?shù)據(jù)、分析數(shù)據(jù)的弊端,同時(shí)也顯示出設(shè)計(jì)一個(gè)能對(duì)人們所需數(shù)據(jù)進(jìn)行自動(dòng)處理、分析方法的必要性與迫切性。
技術(shù)實(shí)現(xiàn)要素:本發(fā)明的目的在于克服現(xiàn)有技術(shù)存在的缺點(diǎn)與不足,提供一種區(qū)域電網(wǎng)饋線組分段聯(lián)絡(luò)拓?fù)潢P(guān)系的生成方法,其工作效率高、精確度高。本發(fā)明的目的通過下述技術(shù)方案實(shí)現(xiàn):一種區(qū)域電網(wǎng)饋線組分段聯(lián)絡(luò)拓?fù)潢P(guān)系的生成方法,包含以下順序的步驟:(1)將外部數(shù)據(jù)庫中的數(shù)據(jù)導(dǎo)入后進(jìn)行規(guī)格化處理并保存,得到規(guī)范結(jié)構(gòu)的饋線分段數(shù)據(jù);(2)對(duì)饋線分段數(shù)據(jù)的格式進(jìn)行轉(zhuǎn)換,將有利于存儲(chǔ)的數(shù)據(jù)庫的表形式轉(zhuǎn)化為有利于分析處理的運(yùn)行算法數(shù)據(jù)結(jié)構(gòu)的數(shù)組,使饋線分段信息保存在程序數(shù)組數(shù)據(jù)結(jié)構(gòu)中;(3)對(duì)算法內(nèi)部的數(shù)組型數(shù)據(jù)結(jié)構(gòu)進(jìn)行拓?fù)溥壿嬘?jì)算,將其轉(zhuǎn)化為基于樹的饋線分段,生成樹類型的數(shù)據(jù)結(jié)構(gòu)即饋線樹;(4)對(duì)饋線樹進(jìn)行分組,在分組的過程中增加饋線樹之間的聯(lián)絡(luò)拓?fù)湫畔?shù),各饋線之間的聯(lián)絡(luò)關(guān)系和聯(lián)絡(luò)點(diǎn)以饋線組的數(shù)據(jù)形成保存下來,生成饋線組分段聯(lián)絡(luò)拓?fù)潢P(guān)系。還包含步驟(5):通過設(shè)計(jì)饋線拓?fù)洳季肿詣?dòng)生成算法,將饋線組分段聯(lián)絡(luò)拓?fù)潢P(guān)系轉(zhuǎn)化為直觀的饋線組聯(lián)絡(luò)拓?fù)潢P(guān)系圖。由于步驟(4)所生成的饋線組分段聯(lián)絡(luò)拓?fù)潢P(guān)系存儲(chǔ)在計(jì)算機(jī)算法的數(shù)據(jù)結(jié)構(gòu)中,工程人員并不能直觀地了解到饋線組之間的聯(lián)絡(luò)拓?fù)潢P(guān)系,經(jīng)過本步驟處理后工程人員通過饋線組聯(lián)絡(luò)拓?fù)潢P(guān)系圖可以直觀、方便地了解到所需信息,工作效率更高。所述的步驟(5)包含以下順序的步驟:A、主循環(huán)遍歷所有饋線樹組,實(shí)現(xiàn)對(duì)每一個(gè)饋線樹組形成一個(gè)拓?fù)溥壿媹D;B、子循環(huán)負(fù)責(zé)繪制饋線樹組中的每一條饋線,當(dāng)饋線屬于該饋線組時(shí),執(zhí)行該步驟:第一步,需要對(duì)各饋線分段的走線方向進(jìn)行定義,循環(huán)遍歷所有饋線,對(duì)每一條饋線采用復(fù)合廣度優(yōu)先遍歷方法搜索每一個(gè)饋線分段:如果為主干線路則方向從左到右;如果是分支線路則要依上一級(jí)支路而定,若該分段是上一級(jí)支路的第一個(gè)下一級(jí)分段,則該分段延伸方向與上一級(jí)相同,否則如果延伸方向逆時(shí)針90°方向不存在其他饋線分段時(shí)采用該方向,如果存在其他饋線,則選用上一級(jí)饋線分段延伸方向順時(shí)針方向90°方向;第二步,依據(jù)上述延伸方向,以饋線的起始分段的首節(jié)點(diǎn)為原點(diǎn)(0,0)、饋線繪制長度L’、饋線分段的聯(lián)絡(luò)關(guān)系、饋線的延伸方向計(jì)算饋線分段的起點(diǎn)、終點(diǎn)位置;第三步,判斷是否為主干線路分段,使用不同的顏色繪制主干線路分段和分支線路分段;第四步,判斷饋線分段是否為聯(lián)絡(luò)線,如果該饋線分段是聯(lián)絡(luò)線,則記錄該分段的終點(diǎn)位置,并且根據(jù)已保存的信息得到另一條饋線的聯(lián)絡(luò)點(diǎn),該饋線聯(lián)絡(luò)點(diǎn)需要被記錄以便最終繪制聯(lián)絡(luò)線;C、當(dāng)該條饋線樹的所有饋線都已遍歷,則子循環(huán)結(jié)束;D、此處子循環(huán)已經(jīng)結(jié)束,未結(jié)束的主循環(huán)對(duì)聯(lián)絡(luò)線進(jìn)行繪制,子循環(huán)已經(jīng)保存了所有屬于該饋線組的聯(lián)絡(luò)線信息,根據(jù)各饋線的起始坐標(biāo)計(jì)算聯(lián)絡(luò)線起點(diǎn)、終點(diǎn)的絕對(duì)坐標(biāo)值,并在通用參考系下采用區(qū)別于其他布局元素的顏色準(zhǔn)確地繪制聯(lián)絡(luò)線;當(dāng)所有饋線樹遍歷完畢,主循環(huán)結(jié)束。所述的步驟(1)是通過從GIS/SCADA/EMS中的信息,導(dǎo)出符合數(shù)據(jù)庫規(guī)范的饋線分段信息表,并且按照規(guī)范的數(shù)據(jù)庫設(shè)計(jì)方案來保存,饋線分段數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)表如表1所示:字段名稱數(shù)據(jù)類型說明ID數(shù)字整型,自動(dòng)編號(hào)。饋線文本描述饋線名稱分段名稱文本描述饋線分段的名稱主干末端標(biāo)記是/否標(biāo)記該饋線分段是否為主干線路末端起點(diǎn)文本起點(diǎn)名稱終點(diǎn)文本終點(diǎn)名稱長度數(shù)字饋線分段長度(米)節(jié)點(diǎn)負(fù)荷數(shù)字該條饋線分段所直接帶的負(fù)荷大?。ㄇ撸┦欠衤?lián)絡(luò)線是/否標(biāo)記該饋線分段是否為聯(lián)絡(luò)線聯(lián)絡(luò)饋線文本描述該條聯(lián)絡(luò)線所聯(lián)絡(luò)的另一條饋線名稱所述的步驟(2)包含下列順序的步驟:A、計(jì)算饋線分段的總數(shù):使用數(shù)據(jù)庫的結(jié)構(gòu)化查詢語句,查詢所有饋線分段的數(shù)量,存儲(chǔ)為變量FibOrgNum,SQL語句為“SelectCount(*)from饋線分段表名稱”;B、聲明一個(gè)饋線分段類Segment,其中保存有饋線分段表的所有數(shù)據(jù)類型,建立一個(gè)饋線分段類數(shù)組Seg[FibOrgNum];C、建立一個(gè)循環(huán):循環(huán)變量從1到FibOrgNum,逐個(gè)將數(shù)據(jù)庫中的每個(gè)饋線分段中的每一個(gè)信息讀取到Seg數(shù)組中;所述的步驟(3)含下列順序的步驟:A、計(jì)算饋線的總數(shù):使用數(shù)據(jù)庫的結(jié)構(gòu)化查詢語句,查詢所有饋線的數(shù)量,存儲(chǔ)為變量Fibers,SQL語句為“SelectdistinctCount(饋線名稱)from饋線分段表名稱”;B、第一層循環(huán),遍歷所有饋線使所有饋線都能執(zhí)行算法并生成所有饋線的拓?fù)湫畔?;C、第二層第一個(gè)循環(huán),遍歷所有饋線分段,找到饋線的起點(diǎn)和終點(diǎn)分段,為下一個(gè)循環(huán)提供參數(shù),以便從終點(diǎn)分段開始自底向上尋找主干線路分段,且能在已尋覓到起點(diǎn)分段的時(shí)候結(jié)束搜索;D、第二層第二個(gè)循環(huán),設(shè)立一個(gè)臨時(shí)饋線分段參數(shù),該參數(shù)描述了不斷尋找饋線最末尾的分段信息的前一個(gè)饋線分段信息,當(dāng)該臨時(shí)饋線分段參數(shù)與饋線起始分段匹配時(shí),循環(huán)結(jié)束;E、第二層第二個(gè)循環(huán)下的第三層子循環(huán),該循環(huán)為第二層第二個(gè)循環(huán)下的子循環(huán),循環(huán)遍歷所有饋線分段:尋找主干線路末端分段的前一個(gè)分段,并依次自底向上,直到找到的上一級(jí)饋線分段就是饋線的起點(diǎn)分段,此時(shí)循環(huán)結(jié)束,該步驟將標(biāo)記主干線路邏輯判斷值為真、標(biāo)記主干饋線的上一級(jí)饋線分段、下一級(jí)饋線分段1信息;F、第二層第三個(gè)循環(huán),該循環(huán)設(shè)立一個(gè)饋線分段的臨時(shí)參數(shù)SegTemp,保存當(dāng)前饋線分段檢索值,該循環(huán)還存在一個(gè)子循環(huán),子循環(huán)結(jié)束以后將變更臨時(shí)參數(shù)SegTemp值為饋線分段生成樹的復(fù)合廣度優(yōu)先遍歷的下一個(gè)分段值,當(dāng)變更以后的SegTemp值為空或者為饋線名稱時(shí),說明已經(jīng)完成了對(duì)饋線生成書的遍歷,循環(huán)結(jié)束,該步驟涉及了饋線分段生成樹數(shù)據(jù)結(jié)構(gòu)的復(fù)合廣度優(yōu)先遍歷,該遍歷方法包含以下順序的步驟:第一步,深度優(yōu)先搜索下一個(gè)已存在的線段,如果該饋線存在下一級(jí)分段列表信息,按照1、2、3的順序優(yōu)先返回靠前項(xiàng),當(dāng)該饋線分段為主干線路時(shí),除非該分段為主干線路末端分段,否則必然存在下一級(jí)主干線路分段,要求將下一級(jí)主干線路分段存儲(chǔ)在編號(hào)1的下一級(jí)分段中,如果當(dāng)前饋線分段是主干或分支的末端,則不存在下一級(jí)分段,該步驟搜索失敗,執(zhí)行下一步;第二步,進(jìn)行平級(jí)的廣度優(yōu)先遍歷,找到該饋線分段的上一級(jí),然后對(duì)該饋線的上一級(jí)分段執(zhí)行第一步操作,如果該饋線分段為空值或者該饋線分段的上一級(jí)分段信息為空,則無法搜索平級(jí),或者對(duì)上一級(jí)分段所執(zhí)行的第一步搜索失敗,則該第二步搜索操作失敗,執(zhí)行下一步;第三步,執(zhí)行循環(huán),如果該饋線分段為空值或者改饋線分段的上一級(jí)分段為饋線的根節(jié)點(diǎn),則第三步搜索執(zhí)行失敗,如果同樣對(duì)饋線分段的上一級(jí)分段執(zhí)行第二步操作,如果對(duì)其能夠執(zhí)行第二步,則返回該值,如果不能,則以該饋線的上一級(jí)支路為當(dāng)前饋線分段,重復(fù)執(zhí)行第三步,直到找到下一個(gè)饋線分段或者直到向上回溯到饋線起點(diǎn),循環(huán)結(jié)束;G、第二層第三個(gè)循環(huán)下的第三層子循環(huán),該循環(huán)需要遍歷所有屬于當(dāng)前饋線的饋線分段,循環(huán)體執(zhí)行以下步驟:第一步,建立饋線分段臨時(shí)變量SegTemp,并用當(dāng)前饋線的起始饋線分段初始化;第二步,進(jìn)行篩選:如果當(dāng)前饋線分段SegTempNext的起點(diǎn)就是SegTemp的終點(diǎn),這說明當(dāng)前饋線分段是SegTemp的下一級(jí)分段,當(dāng)符合此要求時(shí),執(zhí)行接下來的循環(huán)體,否則直接跳過循環(huán)體內(nèi)容執(zhí)行下一次循環(huán),此外,由于主干線路的上一個(gè)分段和下一個(gè)分段已經(jīng)添加,如需添加其他下一級(jí)分段也不必對(duì)主干線路進(jìn)行遍歷,因此也跳過循環(huán)體直接執(zhí)行下一個(gè)循環(huán);第三步,標(biāo)記SegTempNext的前一級(jí)分段為SegTemp,保存SegTempNext的上一個(gè)分段為SegTemp,那么在SegTemp的下一個(gè)分段列表中添加SegTempNext;H、執(zhí)行完當(dāng)前饋線的拓?fù)溥壿嬌伤惴?,完成了饋線生成樹數(shù)據(jù)結(jié)構(gòu)的建立,則進(jìn)入下一次循環(huán),采用同樣的方法計(jì)算下一個(gè)饋線的拓?fù)溥壿?,直到所有饋線都以計(jì)算完畢,結(jié)束第一層循環(huán);步驟(4)包含下列順序的步驟:A、第一層第一個(gè)循環(huán),記錄聯(lián)絡(luò)線:循環(huán)遍歷所有饋線分段,用數(shù)組SegCon保存下所有“是否聯(lián)絡(luò)線”信息參數(shù)為真的饋線分段;B、第一層第二個(gè)循環(huán),該循環(huán)實(shí)現(xiàn)對(duì)饋線進(jìn)行分組,采用一個(gè)邏輯變量ifcontinue記錄下是否仍然有饋線未被分組,直到所有饋線都已分組時(shí),循環(huán)結(jié)束,該循環(huán)包含了兩個(gè)字循環(huán);C、第二層第一個(gè)循環(huán),該循環(huán)是第一層第二個(gè)循環(huán)的子循環(huán),該循環(huán)檢索所有饋線分段:首先ifcontinue被初始化為false值,當(dāng)循環(huán)檢索到仍然有饋線未被分組時(shí),該值被賦值為true,循環(huán)結(jié)束,給當(dāng)前饋線分組,編號(hào)就是主循環(huán)的次數(shù);D、第二層第二個(gè)循環(huán),該循環(huán)是第一層第二個(gè)循環(huán)的子循環(huán),該循環(huán)通過邏輯變量ifcont控制是否結(jié)束,該循環(huán)負(fù)責(zé)給饋線樹賦予饋線樹組編號(hào):對(duì)于當(dāng)前饋線,檢索一遍所有饋線,檢查有無其相聯(lián)絡(luò)的饋線,只要找到一個(gè)聯(lián)絡(luò),就標(biāo)記ifcont為真,再次進(jìn)行循環(huán),并且是從第一個(gè)饋線開始逐一對(duì)所有其他饋線進(jìn)行比對(duì),指導(dǎo)循環(huán)結(jié)束都未發(fā)現(xiàn)其他與之聯(lián)絡(luò)的饋線,ifcont標(biāo)記為假,循環(huán)結(jié)束。本發(fā)明相對(duì)于現(xiàn)有技術(shù)具有如下優(yōu)點(diǎn)及效果:首先,能夠?qū)嬰s的數(shù)據(jù)進(jìn)行自動(dòng)處理,并自動(dòng)計(jì)算出饋線組分段聯(lián)絡(luò)拓?fù)潢P(guān)系,代替了人工計(jì)算,工作效率高;其次,通過該方法生成的饋線組分段聯(lián)絡(luò)拓?fù)潢P(guān)系,不會(huì)因?yàn)閿?shù)據(jù)種類龐雜而出錯(cuò),精確度高。附圖說明圖1為本發(fā)明一種饋線組分段聯(lián)絡(luò)拓?fù)潢P(guān)系的生成方法的流程圖;圖2為圖1所述生成方法步驟(2)對(duì)饋線分段數(shù)據(jù)的格式進(jìn)行轉(zhuǎn)換的示意圖;圖3為圖1所述生成方法步驟(3)生成饋線樹的示意圖;圖4為圖1所述生成方法步驟(4)生成饋線組分段聯(lián)絡(luò)拓?fù)潢P(guān)系示意圖;圖5為本發(fā)明一種饋線組分段聯(lián)絡(luò)拓?fù)潢P(guān)系的生成方法最終生成的聯(lián)絡(luò)拓?fù)溥壿嬌蓤D。具體實(shí)施方式如圖1、2、3、4、5,一種區(qū)域電網(wǎng)饋線組分段聯(lián)絡(luò)拓?fù)潢P(guān)系的生成方法,包含以下順序的步驟,如圖1:(1)將外部數(shù)據(jù)庫中的數(shù)據(jù)導(dǎo)入后進(jìn)行規(guī)格化處理并保存,得到規(guī)范結(jié)構(gòu)的饋線分段數(shù)據(jù):通過從GIS/SCADA/EMS中的信息,導(dǎo)出符合數(shù)據(jù)庫規(guī)范的饋線分段信息表,并且按照規(guī)范的數(shù)據(jù)庫設(shè)計(jì)方案來保存,饋線分段數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)表如表1所示,字段名稱數(shù)據(jù)類型說明ID數(shù)字整型,自動(dòng)編號(hào)。饋線文本描述饋線名稱分段名稱文本描述饋線分段的名稱主干末端標(biāo)記是/否標(biāo)記該饋線分段是否為主干線路末端起點(diǎn)文本起點(diǎn)名稱終點(diǎn)文本終點(diǎn)名稱長度數(shù)字饋線分段長度(米)節(jié)點(diǎn)負(fù)荷數(shù)字該條饋線分段所直接帶的負(fù)荷大小(千瓦)是否聯(lián)絡(luò)線是/否標(biāo)記該饋線分段是否為聯(lián)絡(luò)線聯(lián)絡(luò)饋線文本描述該條聯(lián)絡(luò)線所聯(lián)絡(luò)的另一條饋線名稱數(shù)據(jù)庫的設(shè)計(jì)需要符合以下規(guī)范:a.字段“ID”為自動(dòng)生成的整數(shù)類型,作為主鍵唯一確定一條饋線分段;b.字段“饋線”為文本類型,描述該條饋線分段所屬的饋線名稱,饋線名稱由“所屬變電站名稱+饋線分段編號(hào)”組成;c.字段“分段名稱”為文本類型,描述饋線分段的名稱,用來唯一的確認(rèn)分段名稱,要求在一條饋線中,饋線分段名稱不能重復(fù);d.字段“主干末端標(biāo)記”為邏輯類型,若為真,則表示該分段為主干線路末端;e.字段“起點(diǎn)”和“終點(diǎn)”為文本類型,負(fù)荷流入為起點(diǎn),流出為終點(diǎn),它們標(biāo)記了饋線分段的前后關(guān)系,兩者起到了拓?fù)浞治龅淖饔?,算法以此為重點(diǎn)生成拓?fù)溥壿嬯P(guān)系;f.字段“長度”為數(shù)字類型,描述了饋線分段的長度,單位為米,饋線的長度將反映在拓?fù)鋱D中;g.字段“節(jié)電負(fù)荷”為數(shù)字類型,描述了該饋線分段所直接連接的負(fù)荷大小,單位為千瓦,直接連接的負(fù)荷是指負(fù)荷直接接于該分段的末端開關(guān)房或桿塔,并且不再輸送到其他饋線分段;字段“是否聯(lián)絡(luò)線”為邏輯類型,若為真,則表示該條饋線分段所連接的終點(diǎn)是另一條饋線上的開關(guān)房或桿塔,該饋線分段起到了在故障時(shí)轉(zhuǎn)供電的作用,是重要的備用線路;對(duì)于一個(gè)聯(lián)絡(luò)關(guān)系,需要將一個(gè)“是否聯(lián)絡(luò)線”標(biāo)記為真,當(dāng)該字段標(biāo)記為真時(shí),字段“聯(lián)絡(luò)饋線”則必須填寫所聯(lián)絡(luò)的另一條饋線的名稱;(2)對(duì)饋線分段數(shù)據(jù)的格式進(jìn)行轉(zhuǎn)換,將有利于存儲(chǔ)的數(shù)據(jù)庫的表形式轉(zhuǎn)化為有利于分析處理的運(yùn)行算法數(shù)據(jù)結(jié)構(gòu)的數(shù)組,使饋線分段信息保存在程序數(shù)組數(shù)據(jù)結(jié)構(gòu)中,如圖2,包含以下順序的步驟:A、計(jì)算饋線分段的總數(shù):使用數(shù)據(jù)庫的結(jié)構(gòu)化查詢語句,查詢所有饋線分段的數(shù)量,存儲(chǔ)為變量FibOrgNum,SQL語句為“SelectCount(*)from饋線分段表名稱”;B、聲明一個(gè)饋線分段類Segment,其中保存有饋線分段表的所有數(shù)據(jù)類型,建立一個(gè)饋線分段類數(shù)組Seg[FibOrgNum];C、建立一個(gè)循環(huán):循環(huán)變量從1到FibOrgNum,逐個(gè)將數(shù)據(jù)庫中的每個(gè)饋線分段中的每一個(gè)信息讀取到Seg數(shù)組中;(3)對(duì)算法內(nèi)部的數(shù)組型數(shù)據(jù)結(jié)構(gòu)進(jìn)行拓?fù)溥壿嬘?jì)算,將其轉(zhuǎn)化為基于樹的饋線分段,生成樹類型的數(shù)據(jù)結(jié)構(gòu)即饋線樹,如圖3,包含以下順序的步驟:A、計(jì)算饋線的總數(shù):使用數(shù)據(jù)庫的結(jié)構(gòu)化查詢語句,查詢所有饋線的數(shù)量,存儲(chǔ)為變量Fibers,SQL語句為“SelectdistinctCount(饋線名稱)from饋線分段表名稱”;B、第一層循環(huán),遍歷所有饋線:該循環(huán)的目的是使所有饋線都能執(zhí)行下述算法,使得所有饋線的拓?fù)湫畔⒍寄艿玫缴桑虼讼率鰧?duì)饋線分段遍歷的循環(huán)都需要檢驗(yàn)饋線分段是否屬于當(dāng)前饋線,否則放棄操作;C、第二層第一個(gè)循環(huán),遍歷所有饋線分段:該循環(huán)的目的是找到饋線的起點(diǎn)和終點(diǎn)分段,為下一個(gè)循環(huán)提供參數(shù),以便從終點(diǎn)分段開始自底向上尋找主干線路分段,且能在已尋覓到起點(diǎn)分段的時(shí)候結(jié)束搜索;循環(huán)中,若該饋線分段屬于該饋線,則執(zhí)行該循環(huán);循環(huán)體內(nèi),當(dāng)饋線分段的起點(diǎn)與饋線名稱相同時(shí)記錄饋線的首饋線分段,當(dāng)饋線分段的主干線路末端標(biāo)記邏輯值為真則記錄饋線的末饋線分段;D、第二層第二個(gè)循環(huán),設(shè)立一個(gè)臨時(shí)饋線分段參數(shù),該參數(shù)描述了不斷尋找饋線最末尾的分段信息的前一個(gè)饋線分段信息,當(dāng)該臨時(shí)饋線分段參數(shù)與饋線起始分段匹配時(shí),循環(huán)結(jié)束:該循環(huán)的目的是對(duì)臨時(shí)饋線分段參數(shù)進(jìn)行判斷,只要該參數(shù)不是饋線的起點(diǎn)參數(shù),則說明尋找主干線路的過程仍然未結(jié)束,需要繼續(xù)搜索;當(dāng)臨時(shí)饋線分段參數(shù)等于起點(diǎn)分段時(shí),則說明已經(jīng)完成了主干線路分段的搜索,循環(huán)則結(jié)束;E、第二層第二個(gè)循環(huán)下的第三層子循環(huán),該循環(huán)為第二層第二個(gè)循環(huán)下的子循環(huán),循環(huán)遍歷所有饋線分段;首先尋找主干線路末端分段的前一個(gè)分段,并依次自底向上,直到找到的上一級(jí)饋線分段就是饋線的起點(diǎn)分段,此時(shí)循環(huán)結(jié)束,該步驟將標(biāo)記主干線路邏輯判斷值為真、標(biāo)記主干饋線的上一級(jí)饋線分段、下一級(jí)饋線分段1信息:該循環(huán)的目的是標(biāo)記主干線路分段,從主干線路末端分段開始,通過饋線分段的起點(diǎn)和終點(diǎn)信息得到的拓?fù)潢P(guān)系,不斷搜索找到上一級(jí)分段,并且不斷更替尋找再上一級(jí)分段,自底向上直到到達(dá)起點(diǎn)分段,從而結(jié)束搜索;此處存在如下約束:鑒于工程實(shí)際中的饋線分段和桿塔分支的實(shí)際情況,限制每一個(gè)饋線分段只有最多3個(gè)下一級(jí)饋線分段,當(dāng)不存在時(shí),則填寫為空,當(dāng)該饋線分段標(biāo)記為主干線路時(shí),則下一級(jí)饋線分段1默認(rèn)為是主干線路上的分段,由于饋線必然有從變電站饋線的電源支撐,并且配電網(wǎng)始終為開環(huán)運(yùn)行,因此饋線分段的上一級(jí)饋線分段信息僅存在一個(gè),并且不能為空,首端饋線分段的上一級(jí)饋線分段信息為饋線名稱;F、第二層第三個(gè)循環(huán),該循環(huán)設(shè)立一個(gè)饋線分段的臨時(shí)參數(shù)SegTemp,保存當(dāng)前饋線分段檢索值,該循環(huán)還存在一個(gè)子循環(huán),子循環(huán)結(jié)束以后將變更臨時(shí)參數(shù)SegTemp值為饋線分段生成樹的復(fù)合廣度優(yōu)先遍歷的下一個(gè)分段值,當(dāng)變更以后的SegTemp值為空或者為饋線名稱時(shí),說明已經(jīng)完成了對(duì)饋線生成書的遍歷,循環(huán)結(jié)束,該步驟涉及了饋線分段生成樹數(shù)據(jù)結(jié)構(gòu)的復(fù)合廣度優(yōu)先遍歷;該遍歷方法包含三個(gè)步驟:第一步,深度優(yōu)先搜索下一個(gè)已存在的線段,如果該饋線存在下一級(jí)分段列表信息,按照1、2、3的順序優(yōu)先返回靠前項(xiàng),當(dāng)該饋線分段為主干線路時(shí),除非該分段為主干線路末端分段,否則必然存在下一級(jí)主干線路分段,要求將下一級(jí)主干線路分段存儲(chǔ)在編號(hào)1的下一級(jí)分段中,如果當(dāng)前饋線分段是主干或分支的末端,則不存在下一級(jí)分段,該步驟搜索失敗,執(zhí)行下一步;第二步,進(jìn)行平級(jí)的廣度優(yōu)先遍歷,找到該饋線分段的上一級(jí),然后對(duì)該饋線的上一級(jí)分段執(zhí)行第一步操作,如果該饋線分段為空值或者該饋線分段的上一級(jí)分段信息為空,則無法搜索平級(jí),或者對(duì)上一級(jí)分段所執(zhí)行的第一步搜索失敗,則該第二步搜索操作失敗,執(zhí)行下一步;第三步,執(zhí)行循環(huán),如果該饋線分段為空值或者改饋線分段的上一級(jí)分段為饋線的根節(jié)點(diǎn),則第三步搜索執(zhí)行失敗,如果同樣對(duì)饋線分段的上一級(jí)分段執(zhí)行第二步操作,如果對(duì)其能夠執(zhí)行第二步,則返回該值,如果不能,則以該饋線的上一級(jí)支路為當(dāng)前饋線分段,重復(fù)執(zhí)行第三步,直到找到下一個(gè)饋線分段或者直到向上回溯到饋線起點(diǎn),循環(huán)結(jié)束;G、第二層第三個(gè)循環(huán)下的第三層子循環(huán),該循環(huán)需要遍歷所有屬于當(dāng)前饋線的饋線分段;循環(huán)體執(zhí)行以下步驟:第一,建立饋線分段臨時(shí)變量SegTemp,并用當(dāng)前饋線的起始饋線分段初始化;第二,進(jìn)行篩選:如果當(dāng)前饋線分段SegTempNext的起點(diǎn)就是SegTemp的終點(diǎn),這說明當(dāng)前饋線分段是SegTemp的下一級(jí)分段,當(dāng)符合此要求時(shí),執(zhí)行接下來的循環(huán)體,否則直接跳過循環(huán)體內(nèi)容執(zhí)行下一次循環(huán);此外,由于主干線路的上一個(gè)分段和下一個(gè)分段已經(jīng)添加,如需添加其他下一級(jí)分段也不必對(duì)主干線路進(jìn)行遍歷,因此也跳過循環(huán)體直接執(zhí)行下一個(gè)循環(huán);第三,標(biāo)記SegTempNext的前一級(jí)分段為SegTemp,保存SegTempNext的上一個(gè)分段為SegTemp,那么在SegTemp的下一個(gè)分段列表中添加SegTempNext;上述步驟實(shí)現(xiàn)了將所有饋線分段的前一級(jí)分段信息和后一級(jí)分段信息全部填滿,保證了所有拓?fù)潢P(guān)系都被存儲(chǔ)在該邏輯關(guān)系體系當(dāng)中,因此,對(duì)與一個(gè)饋線分段,只需要知道它的起點(diǎn)分段,就可以得到整體拓?fù)溥壿嫞籋、執(zhí)行完當(dāng)前饋線的拓?fù)溥壿嬌伤惴ǎ瓿闪损伨€生成樹數(shù)據(jù)結(jié)構(gòu)的建立,則進(jìn)入下一次循環(huán),采用同樣的方法計(jì)算下一個(gè)饋線的拓?fù)溥壿?,直到所有饋線都以計(jì)算完畢,結(jié)束第一層循環(huán);步驟(4)對(duì)饋線樹進(jìn)行分組,在分組的過程中增加饋線樹之間的聯(lián)絡(luò)拓?fù)湫畔?shù),各饋線樹之間的聯(lián)絡(luò)關(guān)系和聯(lián)絡(luò)點(diǎn)以饋線組的數(shù)據(jù)形成保存下來,生成饋線組分段聯(lián)絡(luò)拓?fù)潢P(guān)系,如圖4,包含以下順序的步驟:A、第一層第一個(gè)循環(huán),記錄聯(lián)絡(luò)線:循環(huán)遍歷所有饋線分段,用數(shù)組SegCon保存下所有“是否聯(lián)絡(luò)線”信息參數(shù)為真的饋線分段;B、第一層第二個(gè)循環(huán),該循環(huán)實(shí)現(xiàn)對(duì)饋線進(jìn)行分組,采用一個(gè)邏輯變量ifcontinue記錄下是否仍然有饋線未被分組,直到所有饋線都已分組時(shí),循環(huán)結(jié)束,該循環(huán)包含了兩個(gè)字循環(huán);C、第二層第一個(gè)循環(huán),該循環(huán)是第一層第二個(gè)循環(huán)的子循環(huán),該循環(huán)檢索所有饋線分段:首先ifcontinue被初始化為false值,當(dāng)循環(huán)檢索到仍然有饋線未被分組時(shí),該值被賦值為true,循環(huán)結(jié)束,給當(dāng)前饋線分組,編號(hào)就是主循環(huán)的次數(shù);D、第二層第二個(gè)循環(huán),該循環(huán)是第一層第二個(gè)循環(huán)的子循環(huán),該循環(huán)通過邏輯變量ifcont控制是否結(jié)束,該循環(huán)負(fù)責(zé)給饋線樹賦予饋線樹組編號(hào):對(duì)于當(dāng)前饋線,檢索一遍所有饋線,檢查有無其相聯(lián)絡(luò)的饋線,只要找到一個(gè)聯(lián)絡(luò),就標(biāo)記ifcont為真,再次進(jìn)行循環(huán),并且是從第一個(gè)饋線開始逐一對(duì)所有其他饋線進(jìn)行比對(duì),指導(dǎo)循環(huán)結(jié)束都未發(fā)現(xiàn)其他與之聯(lián)絡(luò)的饋線,ifcont標(biāo)記為假,循環(huán)結(jié)束;步驟(5)通過設(shè)計(jì)饋線拓?fù)洳季肿詣?dòng)生成算法,將饋線組分段聯(lián)絡(luò)拓?fù)潢P(guān)系轉(zhuǎn)化為直觀的饋線組聯(lián)絡(luò)拓?fù)潢P(guān)系圖,包含以下順序的步驟:A、主循環(huán)遍歷所有饋線樹組,以實(shí)現(xiàn)對(duì)每一個(gè)饋線樹組形成一個(gè)拓?fù)溥壿媹D:主循環(huán)中需要做一些全局性的工作,包括保存饋線樹組的名稱,名稱是將各饋線的名稱相連接起來,由于一個(gè)饋線樹組中包含若干個(gè)饋線,每一個(gè)饋線都以起始饋線分段的起點(diǎn)作為原點(diǎn),以方便實(shí)現(xiàn)坐標(biāo)變換,因此需要確定其實(shí)參考系的原點(diǎn);B、子循環(huán)負(fù)責(zé)繪制饋線樹組中的每一條饋線,當(dāng)饋線屬于該饋線組時(shí),執(zhí)行該步驟:子循環(huán)要做一些針對(duì)饋線的總體工作,包括繪制饋線名稱,母線豎線等,子循環(huán)采用復(fù)合廣度優(yōu)先遍歷的方式搜索饋線的所有分段,對(duì)每一個(gè)饋線分段進(jìn)行繪制;包含以下順序的步驟:第一步,需要對(duì)各饋線分段的走線方向進(jìn)行定義,循環(huán)遍歷所有饋線,對(duì)每一條饋線采用復(fù)合廣度優(yōu)先遍歷方法搜索每一個(gè)饋線分段,如果為主干線路,則方向從左到右;如果是分支線路,則要依上一級(jí)支路而定,并依照如下原則:如果該分段是上一級(jí)支路的第一個(gè)下一級(jí)分段,則該分段延伸方向與上一級(jí)相同,否則如果延伸方向逆時(shí)針90°方向不存在其他饋線分段時(shí)采用該方向,如果存在其他饋線,則選用上一級(jí)饋線分段延伸方向順時(shí)針方向90°方向;第二步,依據(jù)上述延伸方向,以饋線的起始分段的首節(jié)點(diǎn)為原點(diǎn)(0,0)、饋線繪制長度L’、饋線分段的聯(lián)絡(luò)關(guān)系、饋線的延伸方向計(jì)算饋線分段的起點(diǎn)、終點(diǎn)位置,算法如下:首先,當(dāng)前饋線分段的起始節(jié)點(diǎn)位置與上一級(jí)饋線分段的終點(diǎn)位置相同;當(dāng)前饋線的終點(diǎn)節(jié)點(diǎn)位置在起點(diǎn)位置已知的前提下,按照饋線的延伸方向和饋線長度計(jì)算得到;另外,每一個(gè)線路的繪制長度與實(shí)際長度負(fù)荷有上下限的對(duì)數(shù)關(guān)系,根據(jù)工程實(shí)際,饋線短于100米時(shí),使用300像素長度;饋線長于2000米時(shí),使用600像素長度,100米到2000米之間時(shí),采用以10為底的對(duì)數(shù)關(guān)系,繪制長度在300到600之間,計(jì)算公式如下所示:其中L表示實(shí)際長度(米),L’表示繪制長度(像素);第三步,判斷是否為主干線路分段,使用不同的顏色繪制主干線路分段和分支線路分段:主要元素包括用線段表示饋線分段長度,并在線段上注明線路長度,用方框表示開關(guān)房或者桿塔,方框中注明開關(guān)房名稱或桿塔名稱、負(fù)荷大小和單位;第四步,判斷饋線分段是否為聯(lián)絡(luò)線,如果該饋線分段是聯(lián)絡(luò)線的話,則需要記錄該分段的終點(diǎn)位置,并且根據(jù)已保存的信息得到另一條饋線的聯(lián)絡(luò)點(diǎn),該饋線聯(lián)絡(luò)點(diǎn)需要被記錄以便最終繪制聯(lián)絡(luò)線;C、當(dāng)該條饋線樹的所有饋線都已遍歷,則子循環(huán)結(jié)束;D、此處子循環(huán)已經(jīng)結(jié)束,但是主循環(huán)未結(jié)束,該部分對(duì)聯(lián)絡(luò)線進(jìn)行繪制,子循環(huán)已經(jīng)保存了所有屬于該饋線組的聯(lián)絡(luò)線信息,根據(jù)各饋線的起始坐標(biāo)計(jì)算聯(lián)絡(luò)線起點(diǎn)、終點(diǎn)的絕對(duì)坐標(biāo)值,并在通用參考系下采用區(qū)別于其他布局元素的顏色準(zhǔn)確地繪制聯(lián)絡(luò)線;當(dāng)所有饋線樹遍歷完畢,主循環(huán)結(jié)束。本實(shí)施例中將某區(qū)域的若干條具備聯(lián)絡(luò)關(guān)系的饋線分段數(shù)據(jù)從其他數(shù)據(jù)系統(tǒng)中導(dǎo)出,如表2所示:表2中以每一個(gè)饋線分段為一個(gè)數(shù)據(jù)項(xiàng)目,每一個(gè)項(xiàng)目中給出了饋線分段的相關(guān)信息,經(jīng)過本發(fā)明的方法,實(shí)現(xiàn)了將原始數(shù)據(jù)轉(zhuǎn)化為直觀的饋線組聯(lián)絡(luò)拓?fù)潢P(guān)系圖,如圖5所示。