鄒永勛 吳紹華 胡 偉 潘 健
(1.貴州電網(wǎng)有限責(zé)任公司輸電運(yùn)行檢修分公司安順管理所,貴州安順561000;2.中國(guó)電建集團(tuán)貴州電力設(shè)計(jì)研究院有限公司,貴州貴陽(yáng)550081)
在計(jì)算機(jī)圖形學(xué)、地理信息理論的共同支撐下,地理信息軟件研發(fā)得到了突飛猛進(jìn)的發(fā)展,地理信息軟件通常以公共服務(wù)的方式應(yīng)用在各行各業(yè),目前常見的地理信息軟件通?;诔瑘D和Arcgis開發(fā)包做二次開發(fā),但作為成熟的商用地理信息軟件,通常需要較高的硬件配置、較高的研發(fā)成本。而本系統(tǒng)在選擇技術(shù)路線的時(shí)候充分考慮到軟件服務(wù)的輕量性和經(jīng)濟(jì)效益,因此本文采用基于OpenLayers的前端二維GIS框架、開源GeoServer作為GIS數(shù)據(jù)服務(wù)器,結(jié)合成熟的前后端技術(shù)搭建系統(tǒng)[1-2]。
在系統(tǒng)架構(gòu)方面本系統(tǒng)采用了B/S架構(gòu),B/S具有如下優(yōu)勢(shì):
(1)客戶端無(wú)需安裝、維護(hù),只要用戶在系統(tǒng)部署的專網(wǎng)內(nèi)就可以通過(guò)任意瀏覽器進(jìn)行訪問(wèn)和業(yè)務(wù)處理;
(2)系統(tǒng)擴(kuò)展性強(qiáng),通過(guò)增加頁(yè)面或修改頁(yè)面即可簡(jiǎn)單增加系統(tǒng)功能;
(3)支持跨平臺(tái),用戶可將該系統(tǒng)部署在Linux、Windows等主流操作系統(tǒng)上,同時(shí)也可在安裝瀏覽器的Linux、Windows操作系統(tǒng)訪問(wèn)。
系 統(tǒng) 前 端技 術(shù) 主 要 包 括 VUE、JavaScript、OpenLayers、ECharts。其中VUE作為前端通用框架,整合并集成前端資源;OpenLayers作為前端二維GIS開發(fā)引擎,負(fù)責(zé)二維影像底圖、矢量底圖、POI信息、特殊效果的渲染和管理;ECharts作為前端圖表工具,負(fù)責(zé)展示和管理系統(tǒng)中各類圖表信息[3-4]。
系統(tǒng)服務(wù)端技術(shù)主要包括Express框架、Node.js、MariaDB、GeoServer。Express是一種基于Node.js的輕量級(jí)Web框架,在服務(wù)端整合所有其他技術(shù);MariaDB作為系統(tǒng)數(shù)據(jù)庫(kù),負(fù)責(zé)存儲(chǔ)用戶數(shù)據(jù)、各類臺(tái)賬數(shù)據(jù)等;GeoServer用于發(fā)布影像地圖數(shù)據(jù)、矢量地圖數(shù)據(jù)和POI數(shù)據(jù)。
系統(tǒng)技術(shù)架構(gòu)如圖1所示。
圖1 平臺(tái)技術(shù)架構(gòu)
OpenLayers是一個(gè)開源的Web GIS前端開發(fā)工具,很多公司使用OpenLayers構(gòu)建了地圖開發(fā)引擎,研發(fā)人員可以通過(guò)OpenLayers強(qiáng)大的可擴(kuò)展性定制開發(fā)個(gè)性化的GIS軟件。Openlayers工作原理是將多圖層看作一個(gè)Map容器,圍繞容器核心的是地圖圖層數(shù)據(jù)源、地圖(或矢量)圖層和圖層樣式、地圖操作方法等,其中矢量圖層基本元素可以分為點(diǎn)、線、面,通過(guò)POI矢量圖層和地圖圖層聯(lián)合展示輸電線路信息。本項(xiàng)目采用版本為OpenLayers v5.3.0。
本文采用GeoServer作為地圖發(fā)布工具,GeoServer是基于Java的地圖服務(wù)器,支持用戶發(fā)布地圖數(shù)據(jù),可以對(duì)地圖數(shù)據(jù)進(jìn)行增刪改查等操作,通過(guò)GeoServer開發(fā)人員可以方便地進(jìn)行二維GIS研發(fā)。GeoServer在數(shù)據(jù)類型方面支持地圖、影像數(shù)據(jù)和矢量數(shù)據(jù)。本項(xiàng)目中使用的版本為GeoServer 2.17.1。
本項(xiàng)目采用MariaDB管理服務(wù)端數(shù)據(jù),該數(shù)據(jù)庫(kù)是MySQL的一個(gè)重要分支,對(duì)MySQL完全兼容。此外,MariaDB是一個(gè)通用性較強(qiáng)的數(shù)據(jù)庫(kù)管理系統(tǒng),具有一定的可擴(kuò)展性,MariaDB通過(guò)可插拔存儲(chǔ)引擎支持大量用例。
平臺(tái)功能架構(gòu)上分為三層,即應(yīng)用層、數(shù)據(jù)層和基礎(chǔ)層。應(yīng)用層主要功能包括:(1)GIS基礎(chǔ)功能;(2)統(tǒng)計(jì)分析;(3)信息展示;(4)數(shù)據(jù)管理;(5)系統(tǒng)管理。功能設(shè)計(jì)如圖2所示。
(1)GIS基礎(chǔ)功能主要有制圖輸出、空間屬性查詢、要素定位、地圖瀏覽(包括地圖縮放、地圖拖拽)。其中地圖瀏覽功能如圖3所示。
(2)統(tǒng)計(jì)分析功能主要有線路交叉跨越統(tǒng)計(jì)分析、緩沖區(qū)分析和線路通道統(tǒng)計(jì)分析等。其中交跨分析如圖4所示。
(3)信息展示功能主要有輸電線路專題數(shù)據(jù)疊加展示、災(zāi)害專題數(shù)據(jù)展示、雷電數(shù)據(jù)展示、覆冰檢測(cè)數(shù)據(jù)展示。其中災(zāi)害專題圖如圖5所示。
(4)數(shù)據(jù)管理功能包括基礎(chǔ)地理信息數(shù)據(jù)管理、線路矢量數(shù)據(jù)管理、風(fēng)險(xiǎn)專題數(shù)據(jù)管理、系統(tǒng)接入數(shù)據(jù)管理。
(5)系統(tǒng)管理功能包括地圖加載、地物編輯、地物提取和數(shù)據(jù)加載。
圖2 系統(tǒng)功能設(shè)計(jì)
圖3 地圖展示
圖4 交跨分析
圖5 災(zāi)害專題圖
本文基于OpenLayers等前后端技術(shù),開發(fā)了貴州電網(wǎng)輸電線路可視化系統(tǒng),結(jié)果清晰、功能完善,能直觀展示貴州電網(wǎng)輸電線路的各項(xiàng)信息,對(duì)實(shí)際運(yùn)維工作具有一定的指導(dǎo)意義。系統(tǒng)預(yù)留了相關(guān)的開發(fā)接口,具有較強(qiáng)的可擴(kuò)展性,為將來(lái)的智慧電網(wǎng)建設(shè)奠定了一定的基礎(chǔ)。