本發明涉及一種基于電力GIS的可視化應用開發框架,屬于電力GIS技術領域。
背景技術:
隨著電網的日益龐大,電網的運行和控制日趨復雜,與之相適應的基于GIS的電網調度支撐體系得以發展,有效提升了電網調度的智能化水平。隨著電力GIS的普及,各種基于電力GIS的可視化應用需求被挖掘,如在電力GIS圖上動態展示特定線路負載率。在這種背景下,應用開發人員根據客戶需求進行電力GIS應用開發時,需在理解GIS的復雜繪制原理的基礎上,才能進行具體可視化應用的開發,開發周期長,開發成本較高。
技術實現要素:
目的:為了克服現有技術中存在的不足,本發明提供一種基于電力GIS的可視化應用開發框架,能夠有效地將可視化應用開發與GIS的核心技術隔離,提高了開發人員的工作效率,節約了電力GIS可視化應用的開發成本。
技術方案:為解決上述技術問題,本發明采用的技術方案為:
一種基于電力GIS的可視化應用開發框架,所述開發框架使用基于C++的qt框架開發,包括:可視化應用開發模板、電力GIS模塊、窗口布局管理模塊、消息管理模塊、定制應用模塊;
所述可視化應用開發模板包括:數據獲取模塊、數據展示模塊、消息封裝模塊;所述數據獲取模塊提供了用于獲取相關應用數據接口;所述數據展示模塊提供了用于表達相關應用數據的控件;消息封裝模塊提供了用于將相關應用數據轉化為可視化數據類的對象,將含有可視化數據類的對象封裝為消息包;
所述電力GIS模塊指基于GDAL庫、GEOS庫、Proj庫在Qt 框架下實現繪制的地理信息系統;包括:地理信息繪制模塊、電力設備繪制模塊、消息解析模塊、可視化圖元繪制模塊,所述地理信息繪制模塊用于繪制地理信息圖層;所述電力設備繪制模塊用于在地理信息圖層上繪制電力設備圖層;所述消息解析模塊用于解析出消息包中的可視化數據類的對象,并將對象轉化為可視化圖元所需數據;所述可視化圖元繪制模塊用于根據可視化圖元所需數據在可視化圖元圖層中繪制出對應的可視化圖元;可視化圖元設置為表達相關應用數據屬性的圖形;
所述消息管理模塊用于接收可視化應用開發模板中消息封裝模塊中消息包,并將消息包轉發給電力GIS模塊中消息解析模塊;
所述定制應用模塊用于應用開發人員根據不同需求基于可視化應用開發模板開發出的不同的控件和不同的消息包;
所述窗口布局管理模塊用于定制應用模塊窗口與電力GIS模塊窗口布局顯示,實現多個定制應用模塊和電力GIS模塊窗口的組合展示。
作為優選方案,所述可視化圖元包括:餅圖圖元、氣泡圖元、柱狀圖元、箭頭圖元、羅盤圖元、云插值點圖元、2d棒圖元、定位圖元、公告牌圖元。
有益效果:本發明提供的一種基于電力GIS的可視化應用開發框架,對GIS核心技術進行了封裝,通過消息交互的方式為外界提供了GIS窗口繪制可視化圖元的手段,提供了相對簡單的電力GIS可視化應用的開發方式,有效地降低了電力GIS可視化應用開發人員的技術門檻,提高了開發人員的工作效率,縮短了電力GIS可視化應用的開發周期。
附圖說明
圖1為基于電力GIS的可視化應用開發框架結構圖;
圖2 為消息包結構示意圖;
圖3為常用的可視化圖元示意圖;
圖4為基于電力GIS的可視化應用的實現示意圖。
具體實施方式
下面結合附圖對本發明作更進一步的說明。
如圖1所示,一種基于電力GIS的可視化應用開發框架,所述開發框架使用基于C++的qt框架開發,包括:可視化應用開發模板、電力GIS模塊、窗口布局管理模塊、交互的消息包、消息管理模塊、定制應用模塊;
所述可視化應用開發模板包括:數據獲取模塊、數據展示模塊、消息封裝模塊;所述數據獲取模塊提供了用于獲取相關應用數據接口;所述數據展示模塊提供了用于表達相關應用數據的控件;消息封裝模塊提供了用于將相關應用數據轉化為可視化數據類的對象,將含有可視化數據類的對象封裝為消息包;所述相關應用數據包括:降雨數據、氣溫數據、廠站負載率數據等。所述控件包括:表格控件、樹列表控件、篩選控件、按鈕等。所述可視化數據類包括:可視化圖元繪制所需數據的類。在本框架中,可視化數據類有8種,分別為餅圖類、氣泡類、柱狀圖類、箭頭類、羅盤類、云插值點類、2d棒類、定位類、公告牌類、圖片類。這些類都繼承自可視化數據基類,可視化數據基類包含了可視化圖元繪制所需基本數據,用于定位的設備號或者經緯度,用于彈框提示的描述信息。可視化數據類都包含各自特征的數據,比如餅圖類,包含了百分比值、各部分填充色、半徑等數據。
所述電力GIS模塊指基于GDAL庫、GEOS庫、Proj庫在Qt 框架下實現繪制的地理信息系統;包括:地理信息繪制模塊、電力設備繪制模塊、消息解析模塊、可視化圖元繪制模塊,所述地理信息繪制模塊用于繪制地理信息圖層;所述電力設備繪制模塊用于在地理信息圖層上繪制電力設備圖層;所述消息解析模塊用于解析出消息包中的可視化數據類的對象,并將對象轉化為可視化圖元所需數據;所述可視化圖元繪制模塊用于根據可視化圖元所需數據在可視化圖元圖層中繪制出對應的可視化圖元;可視化圖元設置為表達相關應用數據屬性的圖形;
所述消息管理模塊用于接收可視化應用開發模板中消息封裝模塊中消息包,并將消息包轉發給電力GIS模塊中消息解析模塊;
所述定制應用模塊用于應用開發人員根據不同需求基于可視化應用開發模板開發出的不同的控件和不同的消息包;
所述窗口布局管理模塊用于定制應用模塊窗口與電力GIS模塊窗口布局顯示,實現多個定制應用模塊和電力GIS模塊窗口的組合展示。
如圖2所示,消息包是用于裝載可視化數據類的對象,同時用于應用模塊窗口及GIS模塊窗口之間交互的對象。消息包中存在支持動態變化的可視化數據類指針列表,該列表可裝載不同類型的可視化數據類,同時支持增減操作。
如圖3所示,可視化圖元包括:餅圖圖元、氣泡圖元、柱狀圖元、箭頭圖元、羅盤圖元、云插值點圖元、2d棒圖元、定位圖元、公告牌圖元。
實施例1:
如圖4所示,比如降雨信息的展示,以供用戶評估降雨對電力設備的影響。從數據庫中獲取某一時刻的降雨信息主要包含氣象站名稱,氣象站位置,降雨量,首先將這些降雨信息展示在表格控件中,同時將降雨位置信息及根據降雨量選擇的圖片轉化為圖片類可視化數據對象,再將這些圖片類可視化數據對象封裝為消息包,這樣就完成了一個降雨定制應用模塊。窗口布局管理模塊根據配置信息將降雨定制應用模塊和電力GIS模塊窗口加載并組合顯示,在加載完后,降雨定制應用模塊通過消息管理模塊將消息包發送給電力GIS模塊窗口,電力GIS模塊窗口在電力GIS圖層基礎上實現對應的圖片圖元的繪制。
以上所述僅是本發明的優選實施方式,應當指出:對于本技術領域的普通技術人員來說,在不脫離本發明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本發明的保護范圍。