鄒永勛 吳紹華 胡 偉 潘 健
(1.貴州電網有限責任公司輸電運行檢修分公司安順管理所,貴州安順561000;2.中國電建集團貴州電力設計研究院有限公司,貴州貴陽550081)
在計算機圖形學、地理信息理論的共同支撐下,地理信息軟件研發得到了突飛猛進的發展,地理信息軟件通常以公共服務的方式應用在各行各業,目前常見的地理信息軟件通?;诔瑘D和Arcgis開發包做二次開發,但作為成熟的商用地理信息軟件,通常需要較高的硬件配置、較高的研發成本。而本系統在選擇技術路線的時候充分考慮到軟件服務的輕量性和經濟效益,因此本文采用基于OpenLayers的前端二維GIS框架、開源GeoServer作為GIS數據服務器,結合成熟的前后端技術搭建系統[1-2]。
在系統架構方面本系統采用了B/S架構,B/S具有如下優勢:
(1)客戶端無需安裝、維護,只要用戶在系統部署的專網內就可以通過任意瀏覽器進行訪問和業務處理;
(2)系統擴展性強,通過增加頁面或修改頁面即可簡單增加系統功能;
(3)支持跨平臺,用戶可將該系統部署在Linux、Windows等主流操作系統上,同時也可在安裝瀏覽器的Linux、Windows操作系統訪問。
系 統 前 端技 術 主 要 包 括 VUE、JavaScript、OpenLayers、ECharts。其中VUE作為前端通用框架,整合并集成前端資源;OpenLayers作為前端二維GIS開發引擎,負責二維影像底圖、矢量底圖、POI信息、特殊效果的渲染和管理;ECharts作為前端圖表工具,負責展示和管理系統中各類圖表信息[3-4]。
系統服務端技術主要包括Express框架、Node.js、MariaDB、GeoServer。Express是一種基于Node.js的輕量級Web框架,在服務端整合所有其他技術;MariaDB作為系統數據庫,負責存儲用戶數據、各類臺賬數據等;GeoServer用于發布影像地圖數據、矢量地圖數據和POI數據。
系統技術架構如圖1所示。

圖1 平臺技術架構
OpenLayers是一個開源的Web GIS前端開發工具,很多公司使用OpenLayers構建了地圖開發引擎,研發人員可以通過OpenLayers強大的可擴展性定制開發個性化的GIS軟件。Openlayers工作原理是將多圖層看作一個Map容器,圍繞容器核心的是地圖圖層數據源、地圖(或矢量)圖層和圖層樣式、地圖操作方法等,其中矢量圖層基本元素可以分為點、線、面,通過POI矢量圖層和地圖圖層聯合展示輸電線路信息。本項目采用版本為OpenLayers v5.3.0。
本文采用GeoServer作為地圖發布工具,GeoServer是基于Java的地圖服務器,支持用戶發布地圖數據,可以對地圖數據進行增刪改查等操作,通過GeoServer開發人員可以方便地進行二維GIS研發。GeoServer在數據類型方面支持地圖、影像數據和矢量數據。本項目中使用的版本為GeoServer 2.17.1。
本項目采用MariaDB管理服務端數據,該數據庫是MySQL的一個重要分支,對MySQL完全兼容。此外,MariaDB是一個通用性較強的數據庫管理系統,具有一定的可擴展性,MariaDB通過可插拔存儲引擎支持大量用例。
平臺功能架構上分為三層,即應用層、數據層和基礎層。應用層主要功能包括:(1)GIS基礎功能;(2)統計分析;(3)信息展示;(4)數據管理;(5)系統管理。功能設計如圖2所示。
(1)GIS基礎功能主要有制圖輸出、空間屬性查詢、要素定位、地圖瀏覽(包括地圖縮放、地圖拖拽)。其中地圖瀏覽功能如圖3所示。
(2)統計分析功能主要有線路交叉跨越統計分析、緩沖區分析和線路通道統計分析等。其中交跨分析如圖4所示。
(3)信息展示功能主要有輸電線路專題數據疊加展示、災害專題數據展示、雷電數據展示、覆冰檢測數據展示。其中災害專題圖如圖5所示。
(4)數據管理功能包括基礎地理信息數據管理、線路矢量數據管理、風險專題數據管理、系統接入數據管理。
(5)系統管理功能包括地圖加載、地物編輯、地物提取和數據加載。

圖2 系統功能設計

圖3 地圖展示

圖4 交跨分析

圖5 災害專題圖
本文基于OpenLayers等前后端技術,開發了貴州電網輸電線路可視化系統,結果清晰、功能完善,能直觀展示貴州電網輸電線路的各項信息,對實際運維工作具有一定的指導意義。系統預留了相關的開發接口,具有較強的可擴展性,為將來的智慧電網建設奠定了一定的基礎。