本發(fā)明屬于電氣自動(dòng)化領(lǐng)域,具體涉及一種變電站gim模型的輕量化處理方法及系統(tǒng)。
背景技術(shù):
1、隨著經(jīng)濟(jì)技術(shù)的發(fā)展和人們生活水平的提高,電能已經(jīng)成為了人們生產(chǎn)和生活中必不可少的二次能源,給人們的生產(chǎn)和生活帶來(lái)了無(wú)盡的便利。因此,保障電能的穩(wěn)定可靠供應(yīng),就成為了電力系統(tǒng)最重要的任務(wù)之一。
2、在電力行業(yè)中,gim(電網(wǎng)信息模型)作為bim(建筑信息模型)的擴(kuò)展,廣泛應(yīng)用于變電站等電網(wǎng)工程的三維設(shè)計(jì)與數(shù)字化移交。變電工程三維設(shè)計(jì)模型文件(gim模型)的格式為*.gim,采用分層管理結(jié)構(gòu),包含幾何模型(*.mod、*.stl)、幾何模型組(*.phm)、物理模型(*.dev)、組裝模型(*.cbm)、屬性信息(*.fam)。幾何模型分為參數(shù)化的*.mod文件和非參數(shù)化的*.stl文件,其中*.mod文件通過(guò)參數(shù)化方式存儲(chǔ),而*.stl文件則采用三角面片表示幾何形狀。幾何模型組(*.phm)通過(guò)引用一個(gè)或多個(gè)*.mod或*.stl文件描述模型,支持同級(jí)引用但不允許自引用。物理模型以*.dev文件格式存儲(chǔ),其中*.dev文件通過(guò)引用幾何模型組(*.phm)和屬性文件(*.fam)描述模型,支持同級(jí)引用但不允許自引用。屬性文件(*.fam)由屬性名稱和屬性值組成,支持根據(jù)實(shí)際需求擴(kuò)充屬性。
3、組裝模型(*.cbm)通過(guò)引用物理模型本層級(jí)的屬性文件(*.fam)描述,支持同級(jí)引用但不允許自引用。項(xiàng)目根文件為project.cbm格式,其中變電工程包括地理坐標(biāo)、高程坐標(biāo)、全站組裝模型(*.cbm)文件的引用,線路工程包括全線組裝模型(*.cbm)文件的引用。所有模型文件應(yīng)按規(guī)定的目錄結(jié)構(gòu)存儲(chǔ),邏輯模型采用固定文件名作為唯一標(biāo)識(shí),其余模型文件宜采用guid作為唯一標(biāo)識(shí),統(tǒng)一采用標(biāo)準(zhǔn)的utf-8(不含bom)編碼。
4、目前,隨著電網(wǎng)工程復(fù)雜度的提升,gim模型的數(shù)據(jù)量呈現(xiàn)指數(shù)級(jí)增長(zhǎng),給模型的存儲(chǔ)、傳輸和實(shí)時(shí)可視化帶來(lái)了巨大挑戰(zhàn)。因此,變電站gim模型的輕量化處理方案,就顯得意義重大。
5、現(xiàn)有的gim模型輕量化技術(shù)主要集中在幾何簡(jiǎn)化、屬性優(yōu)化和布爾運(yùn)算優(yōu)化等方面。例如,現(xiàn)今市面上已經(jīng)存在的基于autodesk?revit平臺(tái)開(kāi)發(fā)的變電一次設(shè)備三維gim建模工具,以及輸電路線gim三維設(shè)計(jì)軟件,均采用了三角面片簡(jiǎn)化、參數(shù)化模型替換等幾何簡(jiǎn)化技術(shù)。但是,這類(lèi)方案仍存在一些局限性。首先,在幾何簡(jiǎn)化方面,現(xiàn)有方法在處理高精度模型時(shí),往往難以在減少三角面片數(shù)量的同時(shí)保留關(guān)鍵的幾何特征,導(dǎo)致模型在簡(jiǎn)化后出現(xiàn)幾何失真,影響后續(xù)的工程應(yīng)用。其次,在屬性優(yōu)化方面,現(xiàn)有方法在處理復(fù)雜屬性文件時(shí),難以準(zhǔn)確識(shí)別語(yǔ)義相似性,可能導(dǎo)致屬性誤刪或遺漏,影響模型的語(yǔ)義完整性。最后,在布爾運(yùn)算優(yōu)化方面,現(xiàn)有方法在處理復(fù)雜布爾運(yùn)算時(shí),難以全面檢測(cè)無(wú)效運(yùn)算,可能導(dǎo)致模型結(jié)構(gòu)不完整或數(shù)據(jù)處理效率低下。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的之一在于提供一種可靠性高、精確性好且效率較高的變電站gim模型的輕量化處理方法。
2、本發(fā)明的目的之二在于提供一種實(shí)現(xiàn)所述變電站gim模型的輕量化處理方法的系統(tǒng)。
3、本發(fā)明提供的這種變電站gim模型的輕量化處理方法,包括如下步驟:
4、s1.獲取目標(biāo)變電站gim模型的文件;
5、s2.對(duì)步驟s1獲取的文件,基于語(yǔ)義相似性分析和屬性值有效性檢測(cè),進(jìn)行屬性文件的優(yōu)化;
6、s3.根據(jù)步驟s2得到的文件,基于幾何特征匹配與語(yǔ)義一致性分析,進(jìn)行幾何模型的優(yōu)化;
7、s4.根據(jù)步驟s3得到的文件,基于邊折疊算法和頂點(diǎn)聚類(lèi)算法,進(jìn)行非參數(shù)化模型三角面的優(yōu)化;
8、s5.根據(jù)步驟s4得到的文件,基于obb包絡(luò)盒檢測(cè)與空間包含關(guān)系分析,進(jìn)行參數(shù)化模型中不可見(jiàn)圖元的優(yōu)化;
9、s6.根據(jù)步驟s5得到的文件,基于幾何分析與邏輯判定,進(jìn)行參數(shù)化模型中無(wú)效布爾運(yùn)算的優(yōu)化;
10、s7.完成目標(biāo)變電站gim模型的輕量化處理。
11、步驟s2所述的對(duì)步驟s1獲取的文件,基于語(yǔ)義相似性分析和屬性值有效性檢測(cè),進(jìn)行屬性文件的優(yōu)化,具體包括如下步驟:
12、對(duì).fam文件進(jìn)行解析和預(yù)處理:針對(duì).cbm文件和.dev文件所引用的.fam文件進(jìn)行逐行解析,提取英文屬性名稱、中文屬性名稱和屬性值,并對(duì)提取的數(shù)據(jù)信息進(jìn)行結(jié)構(gòu)化表示;采用哈希表對(duì)屬性名稱進(jìn)行快速索引,同時(shí)采用自然語(yǔ)言處理方案對(duì)中文屬性名稱進(jìn)行分詞和語(yǔ)義解析;對(duì)提取得到的屬性值進(jìn)行數(shù)據(jù)清洗,以保證數(shù)據(jù)的完成性;
13、語(yǔ)義相似性的識(shí)別:對(duì)于英文屬性名稱,采用字符串匹配和編輯距離,識(shí)別相同或相似度高于設(shè)定值的英文屬性名稱;對(duì)于中文屬性名稱,采用詞向量模型計(jì)算語(yǔ)義相似度,并根據(jù)設(shè)定的語(yǔ)義相似度閾值識(shí)別相同或相似度高于設(shè)定值的中文屬性名稱;對(duì)于識(shí)別得到的相同或相似度高于設(shè)定值的英文屬性名稱和中文屬性名稱,保留.cbm文件所引用的屬性行,并刪除.dev文件所引用的屬性行;
14、對(duì).fam文件進(jìn)行優(yōu)化:對(duì)于屬性值為空或未填寫(xiě)的行,直接標(biāo)記為無(wú)效行;采用正則表達(dá)式或數(shù)據(jù)類(lèi)型檢測(cè),對(duì)屬性值格式不符合設(shè)定要求的行進(jìn)行識(shí)別;對(duì)識(shí)別得到的屬性行和標(biāo)記為無(wú)效行的屬性行,直接從.fam文件中刪除。
15、步驟s3所述的根據(jù)步驟s2得到的文件,基于幾何特征匹配與語(yǔ)義一致性分析,進(jìn)行幾何模型的優(yōu)化,具體包括如下步驟:
16、模型文件數(shù)據(jù)的提?。簩?duì).stl模型,解析三角面片數(shù)據(jù),計(jì)算對(duì)應(yīng)的頂點(diǎn)坐標(biāo)、法向量和幾何特征;對(duì).mod模型,解析圖元結(jié)構(gòu)、變換矩陣和布爾運(yùn)算關(guān)系,生成對(duì)應(yīng)的幾何表示;采用空間索引結(jié)構(gòu)對(duì)模型進(jìn)行空間劃分,以加速幾何特征的匹配過(guò)程;
17、幾何特征匹配和相似性評(píng)估:在第一匹配階段,計(jì)算.stl模型和.mod模型的全局幾何特征,并根據(jù)設(shè)定的閾值篩選得到可能匹配的模型對(duì);在第二匹配階段,基于icp局部配準(zhǔn)方法,將.stl模型和.mod模型的幾何表面對(duì)齊,并計(jì)算頂點(diǎn)間的平均距離誤差;采用曲率一致性檢測(cè)方法,評(píng)估.stl模型和.mod模型在設(shè)定的關(guān)鍵幾何特征上的匹配度;若平均距離誤差和匹配度均滿足設(shè)定要求則判定.stl模型和.mod模型的模型一致,否則判定.stl模型和.mod模型的模型不一致;
18、語(yǔ)義一致性分析:解析.mod模型的圖元結(jié)構(gòu)和對(duì)應(yīng)的xml文件,提取對(duì)一個(gè)的語(yǔ)義信息,并與.stl模型的元數(shù)據(jù)進(jìn)行對(duì)比;若語(yǔ)義因襲與元數(shù)據(jù)的相似性高于設(shè)定值則判定語(yǔ)義一致,否則判定語(yǔ)義不一致;
19、模型可替代性的驗(yàn)證:針對(duì)模型一致且語(yǔ)義一致的.stl模型和.mod模型,標(biāo)記.stl模型為冗余模型,在模型庫(kù)中棄用冗余模型,并更新對(duì)應(yīng)的引用關(guān)系。
20、步驟s4所述的根據(jù)步驟s3得到的文件,基于邊折疊算法和頂點(diǎn)聚類(lèi)算法,進(jìn)行非參數(shù)化模型三角面的優(yōu)化,具體包括如下步驟:
21、對(duì).stl文件進(jìn)行解析:提取.stl文件的三角面片數(shù)據(jù);所述的三角面片數(shù)據(jù)數(shù)據(jù)包括頂點(diǎn)坐標(biāo)、法向量和三角面片連接關(guān)系;采用空間索引結(jié)構(gòu)對(duì)三角面片進(jìn)行空間劃分;采用曲率分布分析方法,識(shí)別模型表面的高曲率區(qū)域和低曲率區(qū)域;所述高曲率區(qū)域?yàn)榍矢哂谠O(shè)定值的區(qū)域,低曲率區(qū)域?yàn)榍实陀谠O(shè)定值的區(qū)域;
22、對(duì)低曲率區(qū)域進(jìn)行簡(jiǎn)化:遍歷模型的所有邊,基于幾何誤差度量函數(shù),計(jì)算每條邊的折疊代價(jià);選擇折疊代價(jià)最小的邊進(jìn)行折疊操作:將邊的兩個(gè)頂點(diǎn)合并為一個(gè)新的頂點(diǎn),新的頂點(diǎn)的位置由幾何誤差度量函數(shù)確定;更新受影響的三角面片的連接關(guān)系;重復(fù)本步驟,直至模型的幾何誤差在設(shè)定的閾值范圍內(nèi),且簡(jiǎn)化后的三角面片數(shù)量達(dá)到預(yù)定目標(biāo)或無(wú)法再繼續(xù)簡(jiǎn)化為止;完成低曲率區(qū)域的簡(jiǎn)化;
23、對(duì)高曲率區(qū)域進(jìn)行簡(jiǎn)化:采用聚類(lèi)算法,將模型空間劃分為若干個(gè)立方體單元格,每個(gè)單元格的大小由聚類(lèi)半徑確定;對(duì)每個(gè)單元格內(nèi)的頂點(diǎn)合并為一個(gè)代表頂點(diǎn),代表頂點(diǎn)的位置由單元格內(nèi)所有頂點(diǎn)的平均值確定,或者由幾何誤差度量函數(shù)確定;合并后,重新生成三角面片,并確保模型表面的連續(xù)性和完成性;重復(fù)本步驟,直至設(shè)定的模型的關(guān)鍵幾何特征得到保留,且簡(jiǎn)化后的三角面片數(shù)量達(dá)到預(yù)定目標(biāo)或無(wú)法再繼續(xù)簡(jiǎn)化為止;完成高曲率區(qū)域的簡(jiǎn)化。
24、在每次邊折疊或頂點(diǎn)聚類(lèi)操作后,檢測(cè)受影響的三角面片的法向量變化值:若法向量變化值超過(guò)設(shè)定閾值,則調(diào)整新的頂點(diǎn)或代表頂點(diǎn)的位置,或者取消對(duì)應(yīng)的簡(jiǎn)化操作,以保證模型表面的光滑性和視覺(jué)質(zhì)量。
25、步驟s5所述的根據(jù)步驟s4得到的文件,基于obb包絡(luò)盒檢測(cè)與空間包含關(guān)系分析,進(jìn)行參數(shù)化模型中不可見(jiàn)圖元的優(yōu)化,具體包括如下步驟:
26、圖元解析和數(shù)據(jù)提?。簩?duì).mod文件中的所有圖元進(jìn)行解析,提取對(duì)應(yīng)的幾何數(shù)據(jù)和變換矩陣;基于變換矩陣,將圖元從局部坐標(biāo)系轉(zhuǎn)換到全局坐標(biāo)系;基于圖元的頂點(diǎn)數(shù)據(jù),采用主成分分析法確定obb包絡(luò)盒的方向軸,并計(jì)算得到obb包絡(luò)盒;采用空間索引結(jié)構(gòu)對(duì)圖元空間進(jìn)行劃分;
27、不可見(jiàn)圖元的識(shí)別:對(duì)于每對(duì)圖元,檢測(cè)對(duì)應(yīng)的obb包絡(luò)盒是否相交:若相交,則采用射線相交測(cè)試和頂點(diǎn)包容性檢測(cè)方法,確定圖元的包含關(guān)系;若不相交,則檢測(cè)圖元之間的空間距離:若空間距離大于設(shè)定的閾值,則判定兩個(gè)圖元之間不存在空間包含關(guān)系,不進(jìn)行不可見(jiàn)圖元的標(biāo)記;若空間距離小于或等于設(shè)定的閾值,則繼續(xù)進(jìn)行剩余步驟;將被判定為完全包含在其他圖元內(nèi)部的圖元標(biāo)記為不可見(jiàn)圖元,標(biāo)記不可見(jiàn)圖元為待刪除對(duì)象,并記錄不可見(jiàn)圖元在.mod文件中對(duì)應(yīng)的entity標(biāo)識(shí);
28、刪除不可見(jiàn)圖元,同時(shí)更新.mod文件中的entity部分;解析xml文件的樹(shù)狀結(jié)構(gòu),定位并刪除與被刪除的不可見(jiàn)圖元對(duì)應(yīng)的entity節(jié)點(diǎn),同時(shí)調(diào)整被刪除的不可見(jiàn)圖元的父節(jié)點(diǎn)和兄弟節(jié)點(diǎn)的引用關(guān)系,確保xml文件的語(yǔ)法和語(yǔ)義完整性。
29、步驟s6所述的根據(jù)步驟s5得到的文件,基于幾何分析與邏輯判定,進(jìn)行參數(shù)化模型中無(wú)效布爾運(yùn)算的優(yōu)化,具體包括如下步驟:
30、無(wú)效布爾運(yùn)算的識(shí)別:對(duì)于布爾交集運(yùn)算,采用空間索引結(jié)構(gòu)檢測(cè)圖元之間的包圍盒是否相交,并通過(guò)幾何檢測(cè)方法計(jì)算實(shí)際交集區(qū)域:若交集區(qū)域?yàn)榭談t判定布爾交集運(yùn)算無(wú)效;對(duì)于布爾剪切運(yùn)算,通過(guò)幾何包含性測(cè)試判斷剪切圖元是否全部位于目標(biāo)圖元的外部:若剪切圖元全部位于目標(biāo)圖元外部,則判定布爾剪切運(yùn)算無(wú)效;對(duì)于布爾并集運(yùn)算,通過(guò)幾何包含性測(cè)試判斷并集圖元是否全部包含在目標(biāo)圖元內(nèi)部:若并集圖元全部包含在目標(biāo)圖元內(nèi)部,則判定布爾并集運(yùn)算無(wú)效;
31、所述的通過(guò)幾何檢測(cè)方法計(jì)算實(shí)際交集區(qū)域,具體包括如下步驟:
32、將參與布爾交集運(yùn)算的兩個(gè)圖元的幾何空間劃分為均勻的網(wǎng)格單元;
33、分別檢測(cè)每個(gè)網(wǎng)格單元是否同時(shí)被兩個(gè)圖元占據(jù):對(duì)于同時(shí)被兩個(gè)圖元占據(jù)的網(wǎng)格單元,計(jì)算該網(wǎng)格單元與兩個(gè)圖元的交集部分,并將所有交集部分合并得到最終的實(shí)際交集區(qū)域;
34、所述的通過(guò)幾何包含性測(cè)試判斷并集圖元是否全部包含在目標(biāo)圖元內(nèi)部,具體包括如下步驟:
35、對(duì)于布爾剪切運(yùn)算和布爾并集運(yùn)算,選擇一個(gè)參考點(diǎn),從參考點(diǎn)向不同方向投射若干條射線,檢測(cè)射線與圖元的交點(diǎn)情況:對(duì)于布爾剪切運(yùn)算,若所有投射的射線與剪切圖元的交點(diǎn)均位于目標(biāo)圖元的外部,則判定剪切圖元全部位于目標(biāo)圖元的外部;對(duì)于布爾并集運(yùn)算,若所有投射的射線與并集圖元的交點(diǎn)均位于目標(biāo)圖元的內(nèi)部,則判定并集圖元全部包含在目標(biāo)圖元內(nèi)部;
36、針對(duì)無(wú)效的布爾運(yùn)算,解析.mod文件的xml結(jié)構(gòu),確定與無(wú)效布爾運(yùn)算相關(guān)的entity節(jié)點(diǎn)并刪除,同時(shí)調(diào)整對(duì)應(yīng)的父節(jié)點(diǎn)和兄弟節(jié)點(diǎn)的引用關(guān)系,以保證xml文件的語(yǔ)法和語(yǔ)義完整性;針對(duì)無(wú)效布爾交集運(yùn)算,確定參與無(wú)效布爾交集運(yùn)算的圖元未被其他布爾運(yùn)算引用,并刪除參與運(yùn)算的圖元;對(duì)于無(wú)效布爾剪切運(yùn)算,確定剪切圖元未被其他布爾運(yùn)算引用,并刪除剪切圖元,同時(shí)保留目標(biāo)圖元;對(duì)于無(wú)效布爾并集運(yùn)算,確定并集圖元未被其他布爾運(yùn)算引用,并刪除并集圖元,同時(shí)保留目標(biāo)圖元。
37、本發(fā)明還提供了一種實(shí)現(xiàn)所述變電站gim模型的輕量化處理方法的系統(tǒng),包括模型獲取模塊、文件優(yōu)化模塊、模型優(yōu)化模塊、三角面優(yōu)化模塊、圖元優(yōu)化模塊、運(yùn)算優(yōu)化模塊和輕量化處理模塊;模型獲取模塊、文件優(yōu)化模塊、模型優(yōu)化模塊、三角面優(yōu)化模塊、圖元優(yōu)化模塊、運(yùn)算優(yōu)化模塊和輕量化處理模塊依次串接;模型獲取模塊用于獲取目標(biāo)變電站gim模型的文件,并將數(shù)據(jù)信息上傳文件優(yōu)化模塊;文件優(yōu)化模塊用于根據(jù)接收到的數(shù)據(jù)信息,對(duì)獲取的文件,基于語(yǔ)義相似性分析和屬性值有效性檢測(cè),進(jìn)行屬性文件的優(yōu)化,并將數(shù)據(jù)信息上傳模型優(yōu)化模塊;模型優(yōu)化模塊用于根據(jù)接收到的數(shù)據(jù)信息,根據(jù)得到的文件,基于幾何特征匹配與語(yǔ)義一致性分析,進(jìn)行幾何模型的優(yōu)化,并將數(shù)據(jù)信息上傳三角面優(yōu)化模塊;三角面優(yōu)化模塊用于根據(jù)接收到的數(shù)據(jù)信息,根據(jù)得到的文件,基于邊折疊算法和頂點(diǎn)聚類(lèi)算法,進(jìn)行非參數(shù)化模型三角面的優(yōu)化,并將數(shù)據(jù)信息上傳圖元優(yōu)化模塊;圖元優(yōu)化模塊用于根據(jù)接收到的數(shù)據(jù)信息,根據(jù)得到的文件,基于obb包絡(luò)盒檢測(cè)與空間包含關(guān)系分析,進(jìn)行參數(shù)化模型中不可見(jiàn)圖元的優(yōu)化,并將數(shù)據(jù)信息上傳運(yùn)算優(yōu)化模塊;運(yùn)算優(yōu)化模塊用于根據(jù)接收到的數(shù)據(jù)信息,根據(jù)得到的文件,基于幾何分析與邏輯判定,進(jìn)行參數(shù)化模型中無(wú)效布爾運(yùn)算的優(yōu)化,并將數(shù)據(jù)信息上傳輕量化處理模塊;輕量化處理模塊用于根據(jù)接收到的數(shù)據(jù)信息,完成目標(biāo)變電站gim模型的輕量化處理。
38、本發(fā)明提供的這種變電站gim模型的輕量化處理方法及系統(tǒng),通過(guò)對(duì)屬性文件的優(yōu)化、幾何模型的優(yōu)化、非參數(shù)化模型三角面的優(yōu)化、參數(shù)化模型中不可見(jiàn)圖元的優(yōu)化和無(wú)效布爾運(yùn)算的優(yōu)化,不僅實(shí)現(xiàn)了變電站gim模型的輕量化處理,而且可靠性更高,精確性更好,效率也更高。