高 勁 黃山山 祝 唯
(廣州地鐵集團(tuán)有限公司,510038,廣州∥第一作者,工程師)
廣州地鐵將展開新一輪的新線建設(shè),致其新增供電線路的規(guī)模數(shù)量逐步增多,電力電纜的覆蓋范圍也不斷擴(kuò)大。城市現(xiàn)代化的不斷發(fā)展及市政建設(shè)的大力推進(jìn)不可避免地導(dǎo)致所處線路經(jīng)受大面積、多頻率的作業(yè)施工,這無疑給地鐵供電系統(tǒng)的穩(wěn)定運(yùn)行埋下了嚴(yán)重的安全隱患。另外一方面,由于年代久遠(yuǎn)所致的公司內(nèi)人員變動及道路沿途地貌變遷,使得現(xiàn)有資料與實(shí)際信息存在多處不符,關(guān)鍵信息無法由員工準(zhǔn)確描述匯總;同時(shí)現(xiàn)有電纜線路的信息資料均以圖紙、文檔、圖片的方式存儲,使得后續(xù)檢索查閱時(shí)效率不高,施工數(shù)據(jù)未能有效存儲,不足以建立數(shù)據(jù)分析依據(jù)。為此,本文進(jìn)行了廣泛調(diào)研。調(diào)研表明,在電力行業(yè)中,針對各種市政建設(shè)施工過程中造成電纜毀壞事故頻頻發(fā)生的現(xiàn)狀,部分電網(wǎng)公司已委托相關(guān)高校、科技公司研發(fā)一套GE(Google Earth)系統(tǒng)用來記錄線路路徑、施工點(diǎn)、查詢路徑施工作業(yè)信息[1],并通過手持終端查詢電纜和施工圖庫,以動態(tài)掌握作業(yè)任務(wù)現(xiàn)場進(jìn)度[2]。在水利及通信等行業(yè)中,都有通過地圖平臺API的方式來實(shí)現(xiàn)對應(yīng)設(shè)備信息查詢的系統(tǒng)[3-5],這里不再贅述。
在城市軌道交通行業(yè)的調(diào)研中,基于地圖的地鐵電纜巡視軟件雖尚未在行業(yè)中應(yīng)用,但隨著數(shù)據(jù)信息化時(shí)代的發(fā)展,這將會成為今后的趨勢。因此,本文針對線路地理顯示、信息完善錄入、信息統(tǒng)計(jì)分析的層級,以電纜巡視為研究對象,結(jié)合百度地圖API、數(shù)據(jù)庫、C#、JavaScript等編程技術(shù),設(shè)計(jì)了一套基于百度地圖的電纜巡視分析軟件并應(yīng)用于當(dāng)前電纜巡視日常工作,以提高電纜巡視工作效率,加強(qiáng)電纜的統(tǒng)計(jì)管理和運(yùn)行管理。
目前在電纜巡檢的過程中存在諸如數(shù)據(jù)信息化程度低、巡視對象位置不明確、巡視現(xiàn)場信息難統(tǒng)計(jì)、巡檢效率偏低等問題,因此本系統(tǒng)設(shè)計(jì)目標(biāo)需滿足以下幾點(diǎn):
(1)設(shè)計(jì)電纜巡檢顯示查詢功能,巡檢員可通過PC端查詢電纜走向及電纜井等重要位置信息、具體點(diǎn)的全景勘察、地圖標(biāo)注施工坐標(biāo)及圖片檢索查詢。
(2)設(shè)計(jì)電纜井、電纜路徑、施工作業(yè)點(diǎn)的上傳錄入功能,通過該功能完善及后續(xù)修訂編輯相關(guān)線路路徑,同時(shí),增加電纜井位置信息,以及電纜井、施工作業(yè)圖片錄入。
(3)設(shè)計(jì)施工信息數(shù)據(jù)統(tǒng)計(jì)分析功能,通過分析比較各線路施工信息的時(shí)段、次數(shù)、路段,提供優(yōu)化調(diào)整巡檢模式的數(shù)據(jù)支撐。
系統(tǒng)的設(shè)計(jì)原則遵循如下幾條:
(1)安全性原則:對系統(tǒng)中各種用戶的權(quán)限進(jìn)行管理,用戶訪問系統(tǒng)需要進(jìn)行身份驗(yàn)證。系統(tǒng)數(shù)據(jù)一般保存在數(shù)據(jù)庫系統(tǒng)中,主要涉及數(shù)據(jù)庫的安全性、完整性、實(shí)用性。
(2)系統(tǒng)的可維護(hù)性原則:系統(tǒng)通過模塊化、結(jié)構(gòu)化的設(shè)計(jì),使系統(tǒng)具備較好的可理解性、可測試性和可修改性。
(3)系統(tǒng)的可擴(kuò)展性原則:設(shè)計(jì)合理的結(jié)構(gòu)功能,根據(jù)實(shí)際需求應(yīng)具備良好的擴(kuò)展性。
(4)高性能可靠性原則:系統(tǒng)能夠在一定等級并發(fā)訪問的條件下保持穩(wěn)定性,并具備較快的響應(yīng)能力和執(zhí)行速度。
通過JavaScript語言調(diào)用百度地圖引擎實(shí)現(xiàn)地圖可視功能,并將線路路徑、電纜井等重要位置信息、巡視標(biāo)注由地圖覆蓋物的方式顯示。覆蓋物能隨地圖的縮放等級自適應(yīng)調(diào)整大小位置。常見的覆蓋物有:標(biāo)注點(diǎn)(Marker)、折線(Polyline)、信息窗口(InfoWindow)。其中,標(biāo)注點(diǎn)主要用于地圖地理坐標(biāo)定位顯示,如施工點(diǎn)位置信息錄入及電纜井等重要位置信息地圖定位;折線主要用于電纜線路的路徑走向顯示;信息窗口主要用于所記錄施工信息的文字詳情預(yù)覽。結(jié)合C#語言設(shè)計(jì)人機(jī)界面,將由JavaScript所顯示的地圖頁面嵌入自身的Webbrowse控件中以提供基于Html的瀏覽功能,并通過人機(jī)操作顯示、編輯相關(guān)覆蓋物等信息。
數(shù)據(jù)庫負(fù)責(zé)存儲相關(guān)信息,實(shí)現(xiàn)軟件查詢、統(tǒng)計(jì)分析功能。通過軟件功能需求分析,建立3個(gè)數(shù)據(jù)表(見圖1)。表1主要用于電纜井等重要位置信息的記錄,包含所屬線路、線路名稱、位置坐標(biāo)、電纜井編號、電纜井備注、電纜井圖片的列標(biāo)題;表2主要用于電纜線路位置信息的記錄,包含線路編號、路徑位置坐標(biāo)組、線路名稱的列標(biāo)題;表3主要用于施工位置統(tǒng)計(jì),包含施工時(shí)間、施工坐標(biāo)、施工巡視詳情描述、施工所處線路名、風(fēng)險(xiǎn)評估等級、施工圖片的列標(biāo)題。
圖1 數(shù)據(jù)表設(shè)計(jì)
如前所述,本文的開發(fā)模式以C#+JavaScript+MSSQL為主,采取C/S開發(fā)結(jié)構(gòu)。將系統(tǒng)模型分為3層:數(shù)據(jù)表現(xiàn)層、業(yè)務(wù)邏輯層、數(shù)據(jù)管理訪問層,如圖2所示。
圖2中的第一層為數(shù)據(jù)表現(xiàn)層,主要用于人機(jī)交互的UI界面,出于研發(fā)背景與周期的控制,本文僅采取C/S結(jié)構(gòu)的開發(fā)方式,即PC端版本;第二層為業(yè)務(wù)邏輯層,主要用于模塊間數(shù)據(jù)通信、基于百度地圖引擎及第三方類庫的調(diào)用;第三層為數(shù)據(jù)訪問管理層,主要用于通過數(shù)據(jù)庫存儲、訪問、統(tǒng)計(jì)數(shù)據(jù)信息。本文結(jié)合數(shù)據(jù)樣本容量大小及維護(hù)簡易程度,以MSSQL數(shù)據(jù)庫存儲實(shí)際數(shù)據(jù)信息。層級劃分使軟件功能模塊化,同時(shí)具備良好兼容性,可供相應(yīng)模塊間升級調(diào)用。
百度地圖API是由JavaScript語言編寫的,其提供的類參考中主要將API中的類分為9個(gè)部分:核心類中Map類是初始化地圖時(shí)調(diào)用的類;基礎(chǔ)類中的點(diǎn)、像素、邊界、尺寸類是常用類,開發(fā)者通過初始化百度地圖后便可以調(diào)用其控件以實(shí)現(xiàn)地圖的縮放功能等;覆蓋物類能幫助開發(fā)者在百度地圖上實(shí)現(xiàn)自定義圖層的添加;工具類中提供了諸多如測距等地圖功能;地圖類型類能返回當(dāng)前地圖屬性;服務(wù)類讓開發(fā)者調(diào)用其提供服務(wù)以實(shí)現(xiàn)頁面端相關(guān)功能,通過腳本語言引入地圖服務(wù)到客戶端來實(shí)現(xiàn)信息展示[6]。其類別劃分見圖3。
圖2 系統(tǒng)層級劃分
如圖3所示,百度地圖應(yīng)用程序接口提供了豐富的類組以供開發(fā)人員需求調(diào)用,通過人機(jī)交互的網(wǎng)頁技術(shù)將地圖加載于應(yīng)用程序。此外本文針對施工標(biāo)注點(diǎn)數(shù)量大而導(dǎo)致地圖加載緩慢的現(xiàn)狀,以圖層范圍聚類法對施工標(biāo)注點(diǎn)進(jìn)行優(yōu)化處理[7],以緩解頁面加載負(fù)荷過高的現(xiàn)象;針對GPS坐標(biāo)定位產(chǎn)生的地理偏差,采取動態(tài)編輯修正路徑的方法進(jìn)行準(zhǔn)確定位與處理;針對全景查看時(shí)地理信息無法直觀提示的問題,采取多頁面全景事件響應(yīng)方法來顯示移動定位。
JavaScript腳本負(fù)責(zé)調(diào)用百度地圖API,并通過接口所提供的豐富類庫達(dá)到實(shí)現(xiàn)相關(guān)功能的目的。在此基礎(chǔ)上,還需解決與C#之間頁面通信及加載的功能,因涉及到前端與腳本后臺的數(shù)據(jù)通信交互處理,故相應(yīng)界面事件響應(yīng)及數(shù)據(jù)庫訪問響應(yīng)均需與腳本后臺傳遞調(diào)用[8-10]。2種開發(fā)語言之間的調(diào)用方式有很多種,主要是基于Winform與JavaScript腳本之間的調(diào)用處理。具體方式及關(guān)鍵代碼如下:
圖3 百度地圖的類別劃分
(1)兩者間的類設(shè)置為com類別可訪問。
[System.Runtime.InteropServices.Com Visible Attribute(true)]。
(2)設(shè)置Url屬性設(shè)置為需要進(jìn)行操作的頁的URL路徑。即Webbrowse控件的網(wǎng)頁路徑。
System.IO.FileInfo file=new System.IO.FileInfo(“index.html”);
//WebBrowser控件顯示的網(wǎng)頁路徑webBrowser1.Url=new Uri(file.FullName);
//將當(dāng)前類設(shè)置為可由腳本訪問webBrowser1.ObjectForScripting=this。
(3)通過WebBrowser類的Document屬性中的InvokeScript方法調(diào)用當(dāng)前網(wǎng)頁的Javascript方法。
//調(diào)用JavaScript的messageBox方法,并傳入?yún)?shù)object[]objects=new object[1];objects[0]=“C#訪問JavaScript腳本”;
webBrowser1.Document.InvokeScrip(“messageBox”,objects)。
通過上述步驟就能完成Winform與JavaScript腳本之間的通信訪問。
在數(shù)據(jù)庫訪問方面,本文主要采取ADO.NET技術(shù)實(shí)現(xiàn)。ADO.NET來源于COM組件庫ADO(即ActiveX Data Objects),是微軟公司新一代.NET數(shù)據(jù)庫的訪問模型,是目前數(shù)據(jù)庫程序設(shè)計(jì)人員用來開發(fā)基于.NET的數(shù)據(jù)庫應(yīng)用程序的主要接口,通過創(chuàng)建數(shù)據(jù)庫連接、操作數(shù)據(jù)庫指令、執(zhí)行指令功能的方式應(yīng)用實(shí)施,相關(guān)調(diào)用見文獻(xiàn)[11-12]。出于軟件資源性能的考慮,本文采取的是離線訪問數(shù)據(jù)庫的方式,即將數(shù)據(jù)填充進(jìn)DataSet對象中,一旦更新數(shù)據(jù)再重新連接數(shù)據(jù)庫。
軟件界面主要分為4個(gè)部分,分別為巡視界面、路徑錄入、巡檢錄入、巡視分析,如圖4所示。
圖4 界面功能介紹
圖4中巡視界面的作用在于關(guān)鍵位置信息及施工點(diǎn)的查詢顯示,并結(jié)合全景勘察更直觀地顯示周邊參照物用于坐標(biāo)糾偏;路徑巡檢錄入頁面的作用在于記錄存儲重要位置信息及施工作業(yè)信息;巡視分析的作用在于統(tǒng)計(jì)線路累計(jì)(月度)施工次數(shù)、分析高發(fā)施工時(shí)段概率,并提供多線路橫向?qū)Ρ取?/p>
(1)圖5為巡視界面。巡視界面支持日期時(shí)段檢索功能:將特定時(shí)間段所發(fā)生的施工信息,包括線路名稱、日期、坐標(biāo)、風(fēng)險(xiǎn)評估等級、施工信息備注、施工圖片等以數(shù)據(jù)單元格的方式顯示于巡視概況中;將相關(guān)施工點(diǎn)及文字備注及電纜走向、電纜井的位置信息一并顯示于地圖頁面上,并且支持圖片檢索,如圖6所示。圖片檢索可提供由巡檢錄入頁面存儲的施工文字及圖片信息,以直觀的方式還原當(dāng)天施工的場景。
(2)圖7為路徑錄入頁面。路徑錄入頁面提供電纜線路及電纜井的錄入功能,可由數(shù)據(jù)庫錄入坐標(biāo)編輯(對電纜線路及電纜井等重要位置信息的地理坐標(biāo)收集。本文以手持GPS終端巡視所需的位置信息,并記錄對應(yīng)的GPS坐標(biāo)導(dǎo)入的軟件系統(tǒng)),也支持地圖上動態(tài)對照編輯,針對電纜井還支持圖片錄入功能以供檢索查詢。
圖5 巡視界面
圖6 施工圖片檢索
圖7 路徑錄入
(3)圖8為巡檢錄入頁面。巡檢錄入頁面提供巡檢坐標(biāo)、文字信息記錄、圖片存儲的功能,并將施工信息存儲于數(shù)據(jù)庫。
(4)圖9為巡視分析頁面。巡視分析頁面以月度施工數(shù)據(jù)統(tǒng)計(jì)為基礎(chǔ),進(jìn)行不同電纜線路的橫向?qū)Ρ葏⒖?,并分析線路整體月度施工趨勢、高發(fā)時(shí)段及整體線路平均施工趨勢,且同樣支持線路圖片檢索查詢。
除上述功能之外,軟件還支持任意點(diǎn)的全景勘察顯示,如圖10所示。
圖8 巡檢錄入
圖9 巡視分析
圖10 全景勘察顯示
全景勘察不但能提供路途沿貌的最新實(shí)拍圖片使巡檢人員熟識所管轄線路走向,而且也能依據(jù)周圍參照物更精準(zhǔn)定位施工地理坐標(biāo)。
110 kV電力電纜對地鐵供電系統(tǒng)的重要性不容忽視。本文針對地鐵電纜巡視工作中存在的問題進(jìn)行分析,結(jié)合現(xiàn)有市政、道路普遍施工,以及線路路徑資料不齊全、重要位置信息不準(zhǔn)確、施工詳情歸納統(tǒng)計(jì)程度不足的現(xiàn)狀,提出了一種基于百度地圖API、數(shù)據(jù)庫、C#、JavaScript編程技術(shù)的系統(tǒng)方案,設(shè)計(jì)開發(fā)了一套110 kV電纜巡視分析系統(tǒng),將其應(yīng)用于日常巡視生產(chǎn)中,以解決實(shí)際問題。結(jié)果表明,該軟件系統(tǒng)不但能在地圖上準(zhǔn)確顯示電纜、電纜井等重要位置信息,還能對施工信息進(jìn)行收集、存儲,并以圖表方式直觀地評估線路累計(jì)施工次數(shù)和施工時(shí)間段,橫向比較各線路施工作業(yè)的準(zhǔn)確情況,可以為合理化配置巡視人員提供科學(xué)的數(shù)據(jù)支撐,具備較好的工程應(yīng)用性。
[1] 羅俊華,邱毓昌,楊黎明.10 kV及以上電力電纜運(yùn)行故障統(tǒng)計(jì)分析[J].高電壓技術(shù),2003,29(6):14.
[2] 杜穎,盧繼平,沈智健,等.基于WebGIS電力電纜信息管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].電力系統(tǒng)保護(hù)與控制,2008,36(120):64.
[3] 王喜春,孫志禹.基于大數(shù)據(jù)的水利水電云GIS平臺概述[J].人民長江,2013(S1):182.
[4] 樓斌根,宋慧忠,王瑾,等.城市地下管線管理信息系統(tǒng)在電纜管線規(guī)劃中的應(yīng)用[J].電網(wǎng)技術(shù),2007(增 1):214.
[5] 趙意鵬,趙河明,鄧星星,等.基于GPRS和百度地圖API的火災(zāi)定位系統(tǒng)[J].自動化與儀表,2016(1):26.
[6] 杜傳明.百度地圖API在小型地理信息系統(tǒng)中的應(yīng)用[J].測繪與空間地理信息,2011,34(2):152.
[7} 劉艷中,伍光勝,李建勇.基于百度地圖的自動氣象站監(jiān)控系統(tǒng)實(shí)現(xiàn)[J].氣象科技,2016,44(1):167.
[8] 董卓亞.基于百度地圖 JavaScriptAPI的通信地圖展示[J].電子設(shè)計(jì)工程,2013,21(18):73.
[9] 程鋼,郭玉祥,賈寶,等.國內(nèi)主流在線地圖 API分析及優(yōu)化對策研究[J].測繪工程,2013,22(60):4.
[10] 張帥毅,徐京華.基于開放地圖API的網(wǎng)絡(luò)專題制圖方法研究[J].測繪,2011(3):108.
[11] 華國棟,劉文予.基于ADO.NET的數(shù)據(jù)庫訪問及其性能優(yōu)化[J].計(jì)算機(jī)應(yīng)用研究,2004,21(6):215.
[12] 葉安勝,周曉清.ADO.NET通用數(shù)據(jù)庫訪問組件構(gòu)建與應(yīng)用[J].現(xiàn)代電子技術(shù),2009,32(18):102.