本發(fā)明是在基于IEC61970的CIM建模思想下,通過(guò)Oracle Spatial空間數(shù)據(jù)特性。實(shí)現(xiàn)生成具有獨(dú)立并且完整符合IEC61970規(guī)范的SVG/CIM圖形模型文件。
背景技術(shù):
隨著電力市場(chǎng)的逐漸發(fā)展,電力系統(tǒng)也變得日益龐大和復(fù)雜,IEC61970系列標(biāo)準(zhǔn)為推動(dòng)電力企業(yè)信息共享、解決信息孤島現(xiàn)象提供了一種可行的技術(shù)標(biāo)準(zhǔn)。CIM模型對(duì)大電網(wǎng)結(jié)構(gòu)做了相當(dāng)程度的抽象,描述電力企業(yè)的所有主要對(duì)象,特別是與電力運(yùn)行有關(guān)的對(duì)象,通過(guò)提供一種用對(duì)象類和屬性及他們之間的關(guān)系來(lái)表示電力系統(tǒng)的標(biāo)準(zhǔn)方法??蓴U(kuò)展的矢量圖形(SVG),由于SVG具有加快下載瀏覽速度、容易獲得更廣泛的技術(shù)支持,方便圖形定位和檢索,具有良好的可重用性以及準(zhǔn)確的顏色描述等優(yōu)點(diǎn),可在電力系統(tǒng)軟件中作為圖形數(shù)據(jù)交互。基于IEC61970標(biāo)準(zhǔn)的情況,運(yùn)用Oracle Spatial空間數(shù)據(jù)以SVG/CIM模型文件推送到目標(biāo)系統(tǒng)中進(jìn)行圖形轉(zhuǎn)換。根據(jù)系統(tǒng)需求對(duì)SVG/CIM公共模型進(jìn)行調(diào)試??捎糜诠╇娍煽啃苑治鲆约白詣?dòng)化應(yīng)用功能上如:配電網(wǎng)故障開(kāi)關(guān)定位,停電分析、開(kāi)關(guān)告警、供電范圍、用電在線分析等。
技術(shù)實(shí)現(xiàn)要素:
一種基于Oracle Spatial空間數(shù)據(jù)生成符合IEC61970規(guī)范SVG/CIM圖形模型文件的方法,其特征是,通過(guò)Oracle Spatial空間數(shù)據(jù)特性,按照IEC61970的規(guī)范,對(duì)空間數(shù)據(jù)進(jìn)行分析處理轉(zhuǎn)換后,將空間數(shù)據(jù)通過(guò)SVG圖形展現(xiàn)出來(lái),圖元間的邏輯、拓?fù)潢P(guān)系則由CIM模型展現(xiàn),以滿足與電網(wǎng)EMS系統(tǒng)圖、模共享的目的;其整體流程為:由Oracle Spatial空間數(shù)據(jù)庫(kù),基于IEC61970標(biāo)準(zhǔn),通過(guò)轉(zhuǎn)換程序,將GIS專題圖導(dǎo)出SVG圖形、CIM模型,通過(guò)SVG圖形、CIM模型文件作為中間數(shù)據(jù)模型,通過(guò)數(shù)據(jù)導(dǎo)入接口導(dǎo)入目標(biāo)系統(tǒng);其中SVG圖形可以利用圖形文件閱讀器進(jìn)行查詢?yōu)g覽;
本發(fā)明通過(guò)以下技術(shù)和算法實(shí)現(xiàn):
(1)SVG圖形元素定義
按照電網(wǎng)圖形表示習(xí)慣或者統(tǒng)一的電網(wǎng)圖元規(guī)范,利用SVG屬性的定義(style)和圖元定義(symbol),制作定義出全部電網(wǎng)設(shè)備的圖形元素;
同時(shí)根據(jù)各類型設(shè)備圖形表示的邏輯、或者不同的專題圖,制定圖形元素的縮放比率、旋轉(zhuǎn)角度、平移矢量值等具體參數(shù),用于后續(xù)引用生成SVG圖形;圖形元素例子如下:
<symbol id="transformer2:shape_pd_dlzjt"viewbox="0 0 40 40"><path d="M115 100 L100 90 L100 110Z"fill="none"stroke-width="1"/>
<path d="M115100L13090L130110Z"fill="none"stroke-width="1"/>
</symbol>
(2)讀取Oracle Spatial空間數(shù)據(jù)
按照電網(wǎng)區(qū)域,(如:一個(gè)供電局、一條饋線、一個(gè)變電站等單位的電網(wǎng)區(qū)域,)讀取電網(wǎng)設(shè)備存儲(chǔ)在Oracle Spatial空間對(duì)象中的位置數(shù)據(jù)、拓?fù)鋽?shù)據(jù)、屬性數(shù)據(jù);此步驟中,為了實(shí)現(xiàn)大數(shù)據(jù)量數(shù)據(jù)查詢和適配組織,必須采用Oracle臨時(shí)表技術(shù),采用低計(jì)算資源的處理方式,通過(guò)精確、分批次的查詢,將GIS原始數(shù)據(jù)組裝進(jìn)入適合快速生成SVG、CIM圖模文件的中間臨時(shí)表中,存儲(chǔ)為中間數(shù)據(jù);
(3)中間數(shù)據(jù)轉(zhuǎn)換為SVG圖形數(shù)據(jù)
把臨時(shí)表中的中間數(shù)據(jù),即表示電力設(shè)備、構(gòu)筑的點(diǎn)、線、面數(shù)據(jù),轉(zhuǎn)換為對(duì)應(yīng)的SVG數(shù)據(jù),并引用對(duì)應(yīng)的圖形元素,形成完整SVG文件;其過(guò)程如下:
首先,進(jìn)行坐標(biāo)系統(tǒng)的裝換,將GIS系統(tǒng)中的WGS84坐標(biāo)系,轉(zhuǎn)換成為SVG可縮放矢量圖形的屏幕坐標(biāo)系。并同時(shí)定制出圖形轉(zhuǎn)換的縮放比率,已達(dá)到轉(zhuǎn)出SVG圖形原GIS系統(tǒng)圖形的完全一致性;
其次,按照電網(wǎng)設(shè)備的類型,開(kāi)始針對(duì)點(diǎn)、線、面各類型數(shù)據(jù),開(kāi)展轉(zhuǎn)換及應(yīng)用圖形元素,生成完整的SVG文件;如:對(duì)于簡(jiǎn)單的點(diǎn)類型數(shù)據(jù)進(jìn)行處理,取出點(diǎn)類型設(shè)備的經(jīng)緯度或者相對(duì)坐標(biāo),通過(guò)坐標(biāo)轉(zhuǎn)換成SVG坐標(biāo)(X,Y);對(duì)于線類型空間數(shù)據(jù),需要提取出線類型數(shù)據(jù)的坐標(biāo)序列,生成SVG文件中的PATH標(biāo)簽;針對(duì)面設(shè)備空間數(shù)據(jù),獲取每個(gè)點(diǎn)坐標(biāo),生成SVG文件中的RECT標(biāo)簽;
第三,圖形渲染,根據(jù)不同的專題圖紙需要,設(shè)定導(dǎo)出單元區(qū)域圖紙的畫(huà)布大小、邊框、統(tǒng)計(jì)及審批圖框等模式和詳細(xì)內(nèi)容;重要的設(shè)置SVG圖形的前后背景顏色、及動(dòng)態(tài)靜態(tài)數(shù)據(jù)渲染樣式;
(4)中間數(shù)據(jù)轉(zhuǎn)換為CIM模型數(shù)據(jù)
拓?fù)鋽?shù)據(jù)存儲(chǔ)針對(duì)CIM模型文件,IEC61970公共信息模型由完整的一組包組成;實(shí)體具有越過(guò)許多包邊界的關(guān)聯(lián);每一個(gè)應(yīng)用將使用多個(gè)包中所表示的信息;在針對(duì)空間數(shù)據(jù)提取中數(shù)據(jù)與數(shù)據(jù)之間的拓?fù)潢P(guān)系,形成CIM模型,用來(lái)反應(yīng)出SVG上圖元與圖元直接的拓?fù)潢P(guān)系;
承接上一步“中間數(shù)據(jù)轉(zhuǎn)換為SVG圖形數(shù)據(jù)”,將臨時(shí)表中的拓?fù)滏湵頂?shù)據(jù),轉(zhuǎn)換生成XML格式的CIM數(shù)據(jù);根據(jù)GIS系統(tǒng)建模方式的不同,此處的設(shè)計(jì)考慮了適配的策略;(例如:存在電氣連接端子記錄的建模方式,完整的導(dǎo)出端子、電氣連接關(guān)系數(shù)據(jù)即可;若僅只有電氣連接關(guān)系建模方式,通過(guò)鏈表型的電氣關(guān)系數(shù)據(jù)及設(shè)備類型信息,首先生成端子數(shù)據(jù),然后順序生成電氣連接關(guān)系數(shù)據(jù);)
SVG、CIM圖形模型文件組裝儲(chǔ)存
通過(guò)上述步驟生成的SVG圖形文件以CIM模型文件,利用Oracle CLOB、BLOB等大對(duì)象存儲(chǔ)類型,組裝存儲(chǔ);
(5)圖紙版本管理
電網(wǎng)的建設(shè),隨著時(shí)間的推移,在不斷的升級(jí)改造、擴(kuò)建,對(duì)應(yīng)管理的圖紙也在不斷的修訂變更;為了更好的綜合管理好電網(wǎng)建設(shè)過(guò)程中的圖紙,本發(fā)明此處引入了版本管理的策略,精細(xì)化的記錄管理電網(wǎng)各個(gè)階段歷史圖紙;供后期隨時(shí)查詢獲取。
本發(fā)明的創(chuàng)新點(diǎn)在于,首次使用基于Oracle Spatial空間對(duì)象型數(shù)據(jù),按照IEC61970的規(guī)范,實(shí)現(xiàn)了對(duì)象型空間數(shù)據(jù)到標(biāo)記矢量型數(shù)據(jù)的轉(zhuǎn)化。架設(shè)通了電網(wǎng)GIS電力EMS系統(tǒng)間數(shù)據(jù)交互共享的橋梁。
下面結(jié)合附圖和具體實(shí)施方式對(duì)本發(fā)明做進(jìn)一步解釋。
附圖說(shuō)明
圖1為本發(fā)明整體流程圖;
圖2為本發(fā)明邏輯示意圖;
圖3為本發(fā)明CIM模型示意圖;
圖4為SVG上圖元與圖元直接的拓?fù)潢P(guān)系示意圖。
具體實(shí)施方式
本發(fā)明通過(guò)以下技術(shù)和算法實(shí)現(xiàn):
(1)SVG圖形元素定義
按照電網(wǎng)圖形表示習(xí)慣或者統(tǒng)一的電網(wǎng)圖元規(guī)范,利用SVG屬性的定義(style)和圖元定義(symbol),制作定義出全部電網(wǎng)設(shè)備的圖形元素;
同時(shí)根據(jù)各類型設(shè)備圖形表示的邏輯、或者不同的專題圖,制定圖形元素的縮放比率、旋轉(zhuǎn)角度、平移矢量值等具體參數(shù),用于后續(xù)引用生成SVG圖形;圖形元素例子如下:
<symbol id="transformer2:shape_pd_dlzjt"viewbox="0 0 40 40"><path d="M115 100 L100 90 L100 110 Z"fill="none"stroke-width="1"/>
<path d="M115100L13090L130110Z"fill="none"stroke-width="1"/>
</symbol>
(2)讀取Oracle Spatial空間數(shù)據(jù)
按照電網(wǎng)區(qū)域,(如:一個(gè)供電局、一條饋線、一個(gè)變電站等單位的電網(wǎng)區(qū)域,)讀取電網(wǎng)設(shè)備存儲(chǔ)在Oracle Spatial空間對(duì)象中的位置數(shù)據(jù)、拓?fù)鋽?shù)據(jù)、屬性數(shù)據(jù);此步驟中,為了實(shí)現(xiàn)大數(shù)據(jù)量數(shù)據(jù)查詢和適配組織,必須采用Oracle臨時(shí)表技術(shù),采用低計(jì)算資源的處理方式,通過(guò)精確、分批次的查詢,將GIS原始數(shù)據(jù)組裝進(jìn)入適合快速生成SVG、CIM圖模文件的中間臨時(shí)表中,存儲(chǔ)為中間數(shù)據(jù);
(3)中間數(shù)據(jù)轉(zhuǎn)換為SVG圖形數(shù)據(jù)
把臨時(shí)表中的中間數(shù)據(jù),即表示電力設(shè)備、構(gòu)筑的點(diǎn)、線、面數(shù)據(jù),轉(zhuǎn)換為對(duì)應(yīng)的SVG數(shù)據(jù),并引用對(duì)應(yīng)的圖形元素,形成完整SVG文件;其過(guò)程如下:
首先,進(jìn)行坐標(biāo)系統(tǒng)的裝換,將GIS系統(tǒng)中的WGS84坐標(biāo)系,轉(zhuǎn)換成為SVG可縮放矢量圖形的屏幕坐標(biāo)系。并同時(shí)定制出圖形轉(zhuǎn)換的縮放比率,已達(dá)到轉(zhuǎn)出SVG圖形原GIS系統(tǒng)圖形的完全一致性;
其次,按照電網(wǎng)設(shè)備的類型,開(kāi)始針對(duì)點(diǎn)、線、面各類型數(shù)據(jù),開(kāi)展轉(zhuǎn)換及應(yīng)用圖形元素,生成完整的SVG文件;如:對(duì)于簡(jiǎn)單的點(diǎn)類型數(shù)據(jù)進(jìn)行處理,取出點(diǎn)類型設(shè)備的經(jīng)緯度或者相對(duì)坐標(biāo),通過(guò)坐標(biāo)轉(zhuǎn)換成SVG坐標(biāo)(X,Y);對(duì)于線類型空間數(shù)據(jù),需要提取出線類型數(shù)據(jù)的坐標(biāo)序列,生成SVG文件中的PATH標(biāo)簽;針對(duì)面設(shè)備空間數(shù)據(jù),獲取每個(gè)點(diǎn)坐標(biāo),生成SVG文件中的RECT標(biāo)簽;
第三,圖形渲染,根據(jù)不同的專題圖紙需要,設(shè)定導(dǎo)出單元區(qū)域圖紙的畫(huà)布大小、邊框、統(tǒng)計(jì)及審批圖框等模式和詳細(xì)內(nèi)容;重要的設(shè)置SVG圖形的前后背景顏色、及動(dòng)態(tài)靜態(tài)數(shù)據(jù)渲染樣式;
(4)中間數(shù)據(jù)轉(zhuǎn)換為CIM模型數(shù)據(jù)
拓?fù)鋽?shù)據(jù)存儲(chǔ)針對(duì)CIM模型文件,IEC61970公共信息模型由完整的一組包組成;實(shí)體具有越過(guò)許多包邊界的關(guān)聯(lián);每一個(gè)應(yīng)用將使用多個(gè)包中所表示的信息;在針對(duì)空間數(shù)據(jù)提取中數(shù)據(jù)與數(shù)據(jù)之間的拓?fù)潢P(guān)系,形成CIM模型,用來(lái)反應(yīng)出SVG上圖元與圖元直接的拓?fù)潢P(guān)系;
承接上一步“中間數(shù)據(jù)轉(zhuǎn)換為SVG圖形數(shù)據(jù)”,將臨時(shí)表中的拓?fù)滏湵頂?shù)據(jù),轉(zhuǎn)換生成XML格式的CIM數(shù)據(jù);根據(jù)GIS系統(tǒng)建模方式的不同,此處的設(shè)計(jì)考慮了適配的策略;(例如:存在電氣連接端子記錄的建模方式,完整的導(dǎo)出端子、電氣連接關(guān)系數(shù)據(jù)即可;若僅只有電氣連接關(guān)系建模方式,通過(guò)鏈表型的電氣關(guān)系數(shù)據(jù)及設(shè)備類型信息,首先生成端子數(shù)據(jù),然后順序生成電氣連接關(guān)系數(shù)據(jù);)
SVG、CIM圖形模型文件組裝儲(chǔ)存
通過(guò)上述步驟生成的SVG圖形文件以CIM模型文件,利用Oracle CLOB、BLOB等大對(duì)象存儲(chǔ)類型,組裝存儲(chǔ);
(5)圖紙版本管理
電網(wǎng)的建設(shè),隨著時(shí)間的推移,在不斷的升級(jí)改造、擴(kuò)建,對(duì)應(yīng)管理的圖紙也在不斷的修訂變更;為了更好的綜合管理好電網(wǎng)建設(shè)過(guò)程中的圖紙,本發(fā)明此處引入了版本管理的策略,精細(xì)化的記錄管理電網(wǎng)各個(gè)階段歷史圖紙;供后期隨時(shí)查詢獲取。
具體為:
(1)SVG圖形元素定義
按照電網(wǎng)圖形表示習(xí)慣或者統(tǒng)一的電網(wǎng)圖元規(guī)范,利用SVG屬性的定義(style)和圖元定義(symbol),制作定義出全部電網(wǎng)設(shè)備的圖形元素。
同時(shí)根據(jù)各類型設(shè)備圖形表示的邏輯、或者不同的專題圖,制定圖形元素的縮放比率、旋轉(zhuǎn)角度、平移矢量值等具體參數(shù),用于后續(xù)引用生成SVG圖形;圖形元素的定義如下:
讀取Oracle Spatial空間數(shù)據(jù)
按照電網(wǎng)區(qū)域,如:一個(gè)供電局、一條饋線、一個(gè)變電站等單位的電網(wǎng)區(qū)域,讀取電網(wǎng)設(shè)備存儲(chǔ)在Oracle Spatial空間對(duì)象中的位置數(shù)據(jù)、拓?fù)鋽?shù)據(jù)、屬性數(shù)據(jù)。此步驟中,為了實(shí)現(xiàn)大數(shù)據(jù)量數(shù)據(jù)查詢和適配組織,必須采用Oracle臨時(shí)表等技術(shù),采用低計(jì)算資源的處理方式,通過(guò)精確、分批次的查詢,將GIS原始數(shù)據(jù)組裝進(jìn)入適合快速生成SVG、CIM圖模文件的中間臨時(shí)表中,存儲(chǔ)為中間數(shù)據(jù)。
中間數(shù)據(jù)轉(zhuǎn)換為SVG圖形數(shù)據(jù)
把臨時(shí)表中的中間數(shù)據(jù),即表示電力設(shè)備、構(gòu)筑的點(diǎn)、線、面數(shù)據(jù),轉(zhuǎn)換為對(duì)應(yīng)的SVG數(shù)據(jù),并引用對(duì)應(yīng)的圖形元素,形成完整SVG文件。詳細(xì)過(guò)程如下:
首先,進(jìn)行坐標(biāo)系統(tǒng)的裝換,將GIS系統(tǒng)中的WGS84坐標(biāo)系,轉(zhuǎn)換成為SVG可縮放矢量圖形的屏幕坐標(biāo)系。并同時(shí)定制出圖形轉(zhuǎn)換的縮放比率,已達(dá)到轉(zhuǎn)出SVG圖形原GIS系統(tǒng)圖形的完全一致性。
其次,按照電網(wǎng)設(shè)備的類型,開(kāi)始針對(duì)點(diǎn)、線、面各類型數(shù)據(jù),開(kāi)展轉(zhuǎn)換及應(yīng)用圖形元素,生成完整的SVG文件。如:對(duì)于簡(jiǎn)單的點(diǎn)類型數(shù)據(jù)進(jìn)行處理,取出點(diǎn)類型設(shè)備的經(jīng)緯度或者相對(duì)坐標(biāo),通過(guò)坐標(biāo)轉(zhuǎn)換成SVG坐標(biāo)(X,Y);對(duì)于線類型空間數(shù)據(jù),需要提取出線類型數(shù)據(jù)的坐標(biāo)序列,生成SVG文件中的PATH標(biāo)簽;針對(duì)面設(shè)備空間數(shù)據(jù),獲取每個(gè)點(diǎn)坐標(biāo),生成SVG文件中的RECT標(biāo)簽。
第三,圖形渲染,根據(jù)不同的專題圖紙需要,設(shè)定導(dǎo)出單元區(qū)域圖紙的畫(huà)布大小、邊框、統(tǒng)計(jì)及審批圖框等模式和詳細(xì)內(nèi)容。重要的設(shè)置SVG圖形的前后背景顏色、及動(dòng)態(tài)靜態(tài)數(shù)據(jù)渲染樣式。
中間數(shù)據(jù)轉(zhuǎn)換為CIM模型數(shù)據(jù)
拓?fù)鋽?shù)據(jù)存儲(chǔ)主要針對(duì)CIM模型文件,IEC61970公共信息模型由完整的一組包組成。實(shí)體可以具有越過(guò)許多包邊界的關(guān)聯(lián);每一個(gè)應(yīng)用將使用多個(gè)包中所表示的信息;在針對(duì)空間數(shù)據(jù)提取中數(shù)據(jù)與數(shù)據(jù)之間的拓?fù)潢P(guān)系,形成CIM模型,用來(lái)反應(yīng)出SVG上圖元與圖元直接的拓?fù)潢P(guān)系。
承接上一步“中間數(shù)據(jù)轉(zhuǎn)換為SVG圖形數(shù)據(jù)”,將臨時(shí)表中的拓?fù)滏湵頂?shù)據(jù),轉(zhuǎn)換生成XML格式的CIM數(shù)據(jù)。根據(jù)GIS系統(tǒng)建模方式的不同,此處的設(shè)計(jì)考慮了適配的策略,例如:存在電氣連接端子記錄的建模方式,完整的導(dǎo)出端子、電氣連接關(guān)系數(shù)據(jù)即可。若僅只有電氣連接關(guān)系建模方式,通過(guò)鏈表型的電氣關(guān)系數(shù)據(jù)及設(shè)備類型信息,首先生成端子數(shù)據(jù),然后順序生成電氣連接關(guān)系數(shù)據(jù)。
SVG、CIM圖形模型文件組裝儲(chǔ)存
通過(guò)上述步驟生成的SVG圖形文件以CIM模型文件,利用Oracle CLOB、BLOB等大對(duì)象存儲(chǔ)類型,組裝存儲(chǔ)。
圖紙版本管理
電網(wǎng)的建設(shè),隨著時(shí)間的推移,在不斷的升級(jí)改造、擴(kuò)建,對(duì)應(yīng)管理的圖紙也在不斷的修訂變更。為了更好的綜合管理好電網(wǎng)建設(shè)過(guò)程中的圖紙,此發(fā)明此處引入了版本管理的策略,精細(xì)化的記錄管理電網(wǎng)各個(gè)階段歷史圖紙。供后期隨時(shí)查詢獲取。