衛黨會,劉粵海
(珠海優特電力科技股份有限公司,廣東 珠海519000)
配電網地理信息系統(GIS)是配電網規劃、設計、建設、運行等工作的一個重要平臺,是配電網工程自動制圖(AM)、設備設施管理(FM)的基礎。隨著地理信息系統在電力系統中不斷被推廣,用戶開始體會到通過GIS 系統提高企業管理效益和水平的重要性。但是在信息技術飛速發展背景下,封閉GIS 系統的缺陷也凸現出來,主要表現在以下幾個方面[1]:
(1)標準缺乏:不同公司的GIS 平臺在數據模型、體系架構、開發工具等諸多方面都存在很多不同,因此構建在其上的GIS 應用在技術、性能特征等各方面都存在明顯的不同。
(2)系統封閉:依賴配電網GIS 的各子系統之間使用特定交換數據接口,不同部門的應用軟件花費大量的后期開發工作,系統升級牽動各種相關軟件開發,對信息系統提供商和最終用戶都是漫長艱難的精力消耗。
(3)地圖滯后:由于基礎建設速度快,地圖數據遠滯后于實際情況,必須不斷購買地圖,在獲得最新地圖數據后,導入數據庫也要增加額外維護工作量。
(4)費用難估:運行環境、開發工具都必須按照各種模塊付費,有時甚至無法估算投資。
(5)終端制約:由于主站端系統的封閉,移動設備必須選擇專門的支持組件 (如ESRI 的ArcGIS for Mobile,不同終端需要購買不同的套件),要滿足多平臺用戶體驗,開發投入大、周期長。
在信息技術、通信技術,特別是開放系統以及云概念發展背景下,Google 公司在2004 年10月27 日收購Keyhole 衛星圖像公司,聯網地圖應用在開放性和實時性等技術上獲得突破,為解決各種不同行業應用提供了一個嶄新的契機[2]。本文通過實例,分析了如何在配電網GIS 利用Google Maps 這一技術平臺,解決長期以來困擾配電網GIS 的幾大問題。
(1)開放性優勢
以Google Maps 為例,Google 誕生于互聯網,互聯網本身就是一個開放式系統,Google Maps 開放性體現在:地圖數據是開放的,Google Maps 提供基礎地圖數據,這些數據格式是開放的;開發接口是開放的,在Google 網站上有全部的開發文檔,不僅接口函數是開放的,甚至接口函數的實現還有完整源代碼也是開放的;編程語言是開放的,由于JavaScript 本身的開放性,Google Maps API 是JavaScript 函數庫,自然也遵循開放標準;數據訪問機制是開放的,基于AJAX 的異步訪問機制,是為了提高客戶端與服務器端數據交換和負荷分配的開放式標準[2],在Google 的大力支持下得到推廣的。
(2)成本優勢
GIS 系統需要兩個支撐,第一是地理數據,第二是平臺。大半以上的投資花費在平臺購買和地理數據上,大半以上的精力花費在對應用平臺的消化理解上[2]。Google Maps 企業版可以通過注冊獲得使用權[3],綜合費用也不高。地圖數據更新是Google 在后臺來完成的。
(3)終端支持優勢
Google 對Android 開源,Google 有一套面向手持終端的API,基于Android 手持終端已經非常普及,積累了大量的硬件、軟件、人力資源,包括遠程通信、近距離通信(WIFI、籃牙)、GPS 支持等等成熟應用,這些技術對配電網GIS 深度應用意義深遠。
面向特定應用的GIS,其實就是在基礎地圖上疊加各種不同的應用層(疊加層),通過對設備及線路地理數據庫的訪問,在基礎地圖上顯示和進行交互的過程,Google Maps API 提供實現特定應用的疊加機制。
(1)標記GMarker:比如桿塔、電纜井、環網柜等都可以作為標記來實現。
(2)折線GPolyline:折線是表現電力線路的直接方法,但是由于API 提供的線型只有實線,本文為表現電纜線路進行了擴展。
(3)多邊形GPolygon:實際應用中可把封閉多邊形用于顯示供/停電范圍。
(4)地圖塊疊加GTileLayerOverlay:Google地圖是由256 ×256 象素的正方形圖塊(即“瓦片”Tiles)拼接而成的,通過圖塊疊加層機制可以替換Google 提供的缺省圖塊層,形成不同的地圖[4]。
一幅大地圖需要按照不同縮放等級預先進行一塊塊切塊、命名和存放,調用時再按照相應縮放等級一塊塊疊放到地圖上,放大后不會失真,具有透明度參數,可隨時加上和去掉它們。適用于對整個城市或一個城區地圖的整體更新替換[5]。
(5)底面疊加GGroundOverlay:在地圖上任何經緯度及其限定的范圍內疊加圖片,對原來地圖背景全覆蓋,不需要對圖片切分,可以跨多個瓦片。疊加圖片隨著地圖的縮放而縮放,以象素縮放顯示,放大后會失真。沒有透明度。
在配電網GIS 中,放大倍數較小時,使用圖標方式(GMarker)表示變電站,放大倍數較大時可以將變電站、開閉所的平面布局圖加工成圖片疊加到底圖上,辨認更加直觀。
(6)自定義地圖GMapType:Google 已經提供地圖、衛星、地形3 種地圖類型,如果希望有其他全新類型的地圖,可以使用GMapType 對象創建,從頭構造地圖類型是一個復雜的過程[5]。
(7)信息浮窗GInfoWindow:信息浮窗作為特殊的彈出窗口,可以用作對復雜對象內部結構顯示,比如本文案例在分支箱、環網柜標記上點擊會彈出信息窗口,在信息窗口中顯示分支箱、環網柜內部電氣接線圖,在窗口中對斷路器、刀閘進行進一步的操作。
各類應用都必須在人機交互下才有價值,瀏覽器中豐富的人機交互是通過JavaScript 事件驅動的方法實現的,Google Maps API 也為各種疊加對象提供了事件偵聽的方法:GEvent.addListener,通過對GEvent 的繼承和擴展,友好的操作界面才能呈現出來。
配電GIS 空間數據由電氣設施層空間數據和基礎地形數據組成[1],基礎地形數據來源于Google Maps,而電氣設施層數據來源于設計和現場勘測。通過物理安全隔離裝置從配電自動化系統獲取設備實時信息,通過生產資產管理系統獲取設備資產數據,這樣形成GIS 系統配電綜合應用[6],網絡結構如圖1 所示。

圖1 配電網應用網絡結構示意圖Fig.1 Structure diagram of the distribution grid GIS
把配電設備及其拓撲連接關系疊加到Google Maps 上,通過二次開發增加客戶端人機接口與數據庫交互,可以實現配網GIS 功能。
(1)加載Google Maps API
Google Maps API 是一個基于JavaScript 的類(或函數)庫,在訪問頁面頭部必須嵌入以下腳本:

其中KEY 是申請的密鑰。
(2)建立配網GIS 對象模型
配網GIS 中對象繼承自Google Maps 的疊加對象,見圖2,在本文實例中還使用到兩個擴展庫:
(a)Prototype :一套對JavaScript 的擴展類庫[7]。
(b)DGridline:
GoogleMapAPI 沒有虛線的畫法,使用此擴展表示電纜線[8]。
(3)安裝SVG 控件

圖2 基于Google Maps 的GIS 應用對象構架圖Fig.2 Object diagram of the GIS application on Google Maps
開關站、環網柜、電纜分支箱內部接線的顯示和操作,使用到SVG 控件,通過安裝Adobe 公司的SVG Viewer 即可,也可用于VML 技術表示主接線[9]。
(4)調試工具
調試工具采用Microsoft Visual Studio JavaScript調試功能。
(1)加載地圖
檢查瀏覽器的兼容性后直接調用GMap2 在頁面上創建地圖對象,然后把各種疊加對象加載到系統中。
(2)疊加元件
把配電網的元件疊加到地圖上,見本文2.1。因配電網應用元件與地圖API 提供的基本元件目標不同,對其進行了擴展。DGridMarker 是各種設備元件基類,是對GMarker 對象的繼承[10],使用原型繼承方式。
(3)疊加線路
Google Maps API 本身的線形非常單調簡單,沒有虛線,無法表現配電網電纜線路,因此采用繼承自GPolyline 的擴展類DGridline 實現虛線,表現線路類型(電纜、架空)、運行狀態(帶電、檢修、在建等),見圖3。
(4)為對象添加偵聽事件
由于對每一類元件對象,操作事件響應的結果不同,例如對線路,通過點擊看到本線路的類型、長度、帶電狀態、當前負荷、上下級桿塔編號等。
設備和線路響應的事件有鼠標移入、移出、點擊3 個事件。

圖3 同塔(井)多線路的處理Fig.3 Measurement of multi-line on the single pole (or well)
設備鼠標移入的偵聽事件表現為:當鼠標放到設備上面時,圖標跳起、文字變大、文字變為紅色,以醒目顯示本設備被選中。
線路響應事件鼠標移入事件,表現為整回線路變粗,醒目的顯示本回線路所有的走向,在有實時設備狀態時,可以看到本出線的帶電(紅色)、停電(綠色)狀態。
鼠標放到環網柜圖標上,圖標跳躍,且以鮮明顏色顯示環網柜名稱,點擊則進一步擴展一個多頁面信息浮窗見圖4 。

圖4 配網GIS 線路及環網柜內部主接線圖Fig.4 Single line diagram of the ring grid cabinet and the distribution grid line
(5)其他實現細節
(a)配電網設備數量龐大(如桿塔),不能同時在圖面上顯示,應把不同類型設備歸到不同圖層,不同放大等級,顯示不同設備層,否則運行效率低,在縮小到全圖后設備密集,不可辨識。
(b)為了顯示同塔多回線路,在兩回路經緯度完全相同時,采用了強制布局標志,如圖3,這樣1 號井與3 號井之間多回路電纜才不會由于兩點經緯度的相同重合。
(c)在設備上點擊(如環網柜),彈出信息窗口,顯示本環網柜的內部接線圖,地理位置、設備參數(不同頁箋),如圖4。主接線圖的顯示采用了SVG 格式,每一個環網柜和分支箱內部的接線圖都以獨立的文件存儲,這樣在與應用接口時滿足IEC61970/61968 對主接線文件的要求,可以在不同系統中的交互,滿足互聯網圖形標準的發展趨勢。
本文案例是通過JavaScript 多維數組文件形式來組織數據的,在實際應用中應該采用XML 格式存儲,支持多種訪問方式,增加代碼通用性[11]。數據庫包括:地理位置數據庫、設備資產數據庫、實時數據庫、拓撲關系庫[12]等。
本文的代碼全部是JavaScript 完成的,配電網應用需要復雜的數據庫交互功能,實際應用中必須借助ASP.net 開發工具來進行后臺數據庫復雜交互功能的應用開發。
設備地理信息系統采集后,因許多設備地理坐標是完全相同的,為了在地圖上布置,可能需要少許調整,特別是同塔多回架空線、同溝多回電纜,調整后美觀清晰,這樣就需要一個工具(類似ArcEditor)按照所見即所得的方式調整并且存儲,需要完成:
(1)獲取原始的設備、線路坐標并顯示。
(2)所見即所得調整設備、線路的位置和走向,編輯設備、線路屬性。
(3)生成調整后的坐標并存儲為XML 數據格式。
(4)繪制主接線圖并存儲為SVG 格式。
(1)開放與安全問題
根據國家規定,電力二次系統依據安全等級劃分為生產控制大區和管理信息大區[13]。生產控制大區分為:實時控制區(Ⅰ區)、非控制生產區(Ⅱ區);管理信息大區分為:生產管理區(Ⅲ區)、管理信息區(Ⅳ區)。生產控制大區與管理信息大區之間不允許直接通信,必須通過相關檢測機構認證的物理隔離裝置,而物理隔離裝置對互聯網是完全隔絕的。按照相關規定,管理信息大區,允許通過防火墻與互聯網進行有限制的鏈接,例如用電管理的客戶服務模塊就有這種需求,配網GIS 也屬于這個大區,所以只要防火墻的技術措施合理,開放式地圖平臺就不會對電網安全構成威脅。
(2)數據一致性及維護問題
開放地圖基礎地形數據更新是由基礎地圖提供服務商在后臺來完成的,使用用戶幾乎沒有維護工作量,用戶需要維護的工作僅僅是電力設備空間數據,所以實際維護工作量比采用專用的GIS 系統大幅降低,見文獻[2]前言部分。也因此能夠保證不會出現基礎地圖的更新跟不上基建建設速度實際情況的數據不一致問題。
從以上幾個關鍵功能的驗證可以確定,Google Maps 是完全可以適用于配電網GIS 應用的。與此同時,我國也逐步放開對地圖的管制,原先作為國家機密的地圖信息逐步開放為各行業大量采用。Google Maps 開放技術已經被相關國內公司學習,如百度地圖、天地圖等等,百度API的接口和Google Maps API 的接口相近[14],天地圖開發了10 類標準服務接口和超過1 000 個應用程序編程接口[15]。
采用開放式地圖平臺,讓關注配電網應用的用戶不再為基礎地圖操心,同時獲得優異的用戶體驗,使得GIS 平臺能夠最大程度地促進配電網各項業務的深度應用。
[1]張書亮,閭國年,龔敏霞,等.設備設施管理地理信息系統[M].北京:科學出版社,2006.7-8,15.
[2]陳育春.Google Maps API 開發大全[M].北京:機械工業出版社,2010.5,15.
[3]Google.Why Google Maps API for Business?[EB/OL]http://www.google.com/enterprise/earthmaps/maps -faq.html.2012-5-14.
[4]游蘭,彭慶喜.基于Google Maps API 的地圖解析研究與實現[J].湖北大學學報(自然科學版),2010,32(2):161-164.You Lan,Peng Qingxi.Research and implementation of geocoding based on Google Maps API [J].Journal of Hubei University (Natural Science),2010,32 (2):161-164.
[5]中央研究院計算中心GIS 組.臺灣堡圖[EB/OL].http://gissrv5.sinica.edu.tw/GoogleApp/JM20K1904_ 1.htm,2012-05-06.
[6]陳海燕,劉珍.基于Google Maps 的地理信息標注系統的設計與實現[J].湖南科技大學學報 (自然科學版),2009,24 (3):87-90.Chen Haiyan,Liu Zhen.Design and implementation of geographic information mark system based on GoogleMaps[J].Journal of Hunan University of Science & Technology(Natural Science Edition),2009,24 (3):87-90.
[7]Prototype JavaScript framework,version 1.6.0.3[EB/OL].http://www.prototypejs.org/,2005-2008.
[8]Bill Chadwick.Bill Chadwick 's Google Maps Demos[EB/OL].http://www.bdcc.co.uk/Gmaps/BdccGmap-Bits.htm,2012-5-14.
[9]常齊,鐘勇.基于VML 與SVG 的矢量圖形構架[J].計算機應用,2009,29 (6):288-291.Chang Qi.Zhong Yong.Dynamic vector graphics architecture based on VML and SVG[J].Journal of Computer Applications,2009,29 (6):288-291.
[10]John Resig.精通JavaScript [M].陳賢安,江疆譯.北京:人民郵電出版社,2008.
[11]吳張峰.基于XML 的地理數據Web 服務研究[J].測繪與空間地理信息,2007,30 (5):122-126.Wu Zhangfeng.Study of GIS web service based on XML[J].Geomatics & Spatial Information Technology,2007,30 (5):122-126.
[12]李盟,秦立軍,郭慶,等.基于CIM 模型的電網拓撲分析[J].電力科學與工程,2011,27 (9):18-22.Li Meng,Qin Lijun,Guo Qing,et al.CIM-based network topology analysis[J]Electric Power Science and Engineering,2011,27 (9):18-22.
[13]李宏發,陳育琳.物理隔離裝置技術分析及其在電力系統中的應用[J].計算機應用,2006,26 (6):328-330.
[14]月光博客:中國互聯網地圖發展前景分析[EB/OL].http://www.williamlong.info/archives/2188.html,2012-05-06.
[15]吳晶晶,羅沙.國家測繪局回應“天地圖”熱點問題:三大改進[EB/OL],http://tech.qq.com/a/20110119/000010.htm,2012-05-06.