蘭 蕊,劉旭生
(1.忻州師范學院計算機系,山西忻州034000;2.山西忻州供電分公司,山西忻州034000)
隨著電網結構的日趨龐大、復雜,智能輸變電系統的建設已成為我國電網建設的重要任務,由于傳統的輸變電設計方法落后,缺少智能的輸電線路數字化設計軟件的支持,在適應現代電網發展過程中出現一定的局限性,減緩了電網建設的速度。基于GIS的輸變電設計系統很好地彌補了這一缺陷,不僅能夠實現輸電線路選線規劃設計,而且能夠實現線路的全景仿真和三維巡視,輸變電GIS三維可視化實現的基礎之一是建立電力線路要素模型庫,本文綜合電力部門輸變電規劃設計的業務需求,為每一類設備設計相應的三維模型,建立電力線路要素模型庫。
所謂模型原型,就是將輸電設備、桿塔、絕緣子、輸電線以及它們不同的組合方式作為一個個單獨的靜態模型原型,使用3DMAX可視化建模工具根據根據實際設備按比例進行建模[1]。電力線路要素模型本身結構比較復雜,有些甚至要進行組合構造。以桿塔為例,不但每個桿塔的高度、塔頭有差別,而且其包含的絕緣子也會根據桿塔的類型、方位、旋轉角度甚至與其它桿塔的關聯性而有不同的表現方式,本文根據電力部門的業務需求,基于各種電壓等級的輸電線桿、線塔、變電站等電力設施的全景照片和局部紋理,在系統中主要創建了以下模型原型:
1)35KV垂直絕緣子[776-03,772-01,779-00];
2)35KV水平絕緣 [7719-01,7718-01,7713-01];
3)110KV垂直絕緣子[1B-ZM1(24M),1B-ZM2(30M),1B-ZM3(36)];
4)110KV垂直絕緣子[1H-SZ1(24M),1H-SZ3(24M),2F-2M3(36)];
5)110KV水平絕緣子 [1B-J1(24),1B-J2(24),1B-J3(24),1B-J4(24)];
6)110垂直絕緣子 [1H-SJ1(24),1H-SJ2(24),1H-SJ3(24),1H-SJ4(24)];
7)220KV單回路[2C-J2,2C-JC4,2C-ZB3,ZCZM2,ZC-ZMC2];
8)220KV雙回路 [2F-SJ1,2F-SJC1,2F-SZ1,2F-SZC1,2F-SDJ]。
模型的建立使用3DMAX進行原型創建,在實際運行過程中使用OSG做為底層的渲染基礎框架,根據場景動態的加載或卸載每個模型實列。
1)Open Scene Graph(OSG)是一款高性能的3D圖形開發庫。 廣泛應用在可視化仿真、游戲、虛擬現實、高端技術研發以及建模等領域[2]。使用標準的C++和OpenGL編寫而成,可以運行在 Windows系列、OSX、GNU/Linux、IRIX、Solaris、AIX以及FreeBSD操作系統,以插件的架構為擴展體系,支持大量的模型格式加載,渲染。
2)3DMAX是Autodesk公司出品的最流行的三維動畫制作軟件,它提供了強大的基于Windows平臺的實時三維建模、渲染和動畫設計等功能,被廣泛應用于廣告、影視、工業設計、多媒體制作及工程可視化等領域[3]。
考慮到模型在場景中的變化主要是位置變化,因此本文中結合面向對象的思想,提出了動態模型實列的概念。
所謂動態模型實列,就是根據在二維GIS系統中標出的每個模型的方位信息、類型信息,根據這些信息結合模型原型庫為每個靜態模型原型創建動態實例,這里充分的利用了面向對象的思想,動態模型實列使用OSG做為底層的渲染基礎框架,根據場景動態的加載或卸載每個模型實列[4]。
由于每條輸電線路可能綿延幾十甚至幾百Km,如果整條輸電線路使用三維模型顯示,涉及到的場景過大,需要大量的運算及內存,目前的計算機技術無法實現,由此本文中提出了使用分頁加載渲染的方法。
1)分頁加載原理。根據輸電線路在二維GIS系統中的方位信息,把每條輸電線路拆分為很多小的塊,比如按5 Km拆分為1段 (可以根據實際情況修改),這些分段信息是動態拆分的,是根據屏幕的顯示進行的,以屏幕中心為原點(在大地坐標系中的坐標),兩邊各截取2.5Km,根據計算出來的點信息,從數據庫中選取線路信息。由此每次只需要渲染部分的線路信息,保證了系統性能。
2)分頁加載實現。為保證系統能夠流暢的進行顯示,以及系統資源的穩定,使用了多線程、緩存和預加載技術,系統運行中使用一個獨立的線程根據當前的方位信息,預先加載下一次可能需要加載的塊,把加載的塊信息緩存起來,系統渲染的時候先從緩存中讀取信息,如果緩存沒有則需要實時加載[5]。緩存中可能會存放很多的塊信息,造成了內存的負擔,為了保證內存不被浪費,使用了LRU算法 (最近最久未使用算法),使用一個獨立的線程檢測緩存,把最近最久未使用的內存塊釋放掉。
具體的建模流程如下:
(1)使用二維GIS系統中規劃線路,標出線路上每個設備的方位信息(設備在大地坐標系中的坐標)、類型信息,存儲到關系數據庫中。
(2)使用OSG將每個動態模型實列根據模型的方位信息、類型信息,在三維模型中動態渲染,從而生成最終的三維模型。最終建立的部分模型如圖1、圖2所示。輸變電GIS系統中桿塔模型選擇如圖3所示。

圖1 35KV垂直絕緣子(772-01)

圖2 220KV雙回路(2F-SDJ)
GIS系統在每次渲染一條線路的時候,都需要根據當前的方位信息,從數據庫中讀取設備信息,然后利用讀取的設備信息生成三維模型,再由渲染引擎把模型顯示出來。由于三維模型只需要在第一次的時候進行生成,存入文件數據庫,以后直接使用就可以了,因此系統在運行過程中首先判斷當前的模型是否生成。如果生成直接從文件數據庫中加載,需要根據方位信息以及線路是否發生改變來判斷。這樣每次在渲染三維模型的時候,就省去了動態創建模型的步驟,大大提高了系統的性能。

圖3 桿塔模型選擇窗口
1)每個模型文件使用OSG標準的模型格式(ive),IVE格式是OSG自己定義的一種二進制場景格式,優點是可以保存幾乎所有的OSG場景信息(模型、紋理、狀態、動畫、著色器代碼等),并且采用二進制格式,體積小于與之功用相同的。OSG文件;而且OSG支持當前多種模型文件轉換為IVE模型格式。
2)使用關系型數據庫記錄存放模型的方位信息以及每個模型的類型,高度,模型等基本信息。
3)使用文件數據庫存儲所有的靜態模型文件。
4)模型文件可以使用文件數據庫或者文件系統存放。如果使用文件數據庫,則使用數據庫提供的插入方法把模型文件加入到數據庫中,如果使用本地的文件系統,只需要把模型文件拷貝到系統指定的目錄中。
電力線路要素三維模型庫的建立是輸變電設計數字化中不可缺少的一部分,本文給出的模型庫的建立方法,在實際中已經取得應用,GIS系統能夠直接從模型庫中調用線路桿塔模型,實現了輸電線路的三維全景仿真,對于輸電線路規劃設計起到了良好的作用,減輕了設計人員的負擔。
[1]肖鵬,劉更代,徐明亮.Open Scene Graph三維渲染引擎編程指南[M].北京:清華大學出版社,2009:2-16,54-75.
[2]劉正旭.3dmax8 vary家居渲染實例詳解[M].北京:中國青年出版社,2009:2-15,62-78.
[3]朱慶.三維動態交互式可視化模型[J].武漢測繪科技大學學報,1998,23(2):124-127.
[4]Gottschalk S.Collision Queries sing Orienteed Bounding Boxes[D].Department of Computer Science,University of North Carolina,2000.
[5]Monteiro C.Ramirez-Rosado I J.GIS spatial analysis applied to electric line routing optimization.Power Delivery[J].IEEE Transactions on,2005,20:934-942.