曹艷杰 種蘭祥 李陽 趙文科
摘 要:針對(duì)高校校園網(wǎng)光纜資源管理需求,采用百度地圖應(yīng)用服務(wù)接口和Ajax與jQuery技術(shù),在Apache+PHP+MySQL的開發(fā)環(huán)境下,設(shè)計(jì)并開發(fā)了一款校園光纜資源的可視化管理系統(tǒng)。實(shí)現(xiàn)了光纜資源與光纜部署信息查詢,光纜段端點(diǎn)標(biāo)注,光纜段端點(diǎn)的增、刪、改等可視化管理,為建設(shè)基于地理信息系統(tǒng)的各類管理平臺(tái)提供了借鑒。
關(guān)鍵詞:百度地圖API;光纜資源;可視化
中圖分類號(hào):TP391 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1673-8454(2016)09-0064-04
一、引言
高校光纜資源是高校校園網(wǎng)基礎(chǔ)設(shè)施的重要組成部分。[1]隨著高校校園網(wǎng)快速發(fā)展,光纜的數(shù)量不斷增加、鋪設(shè)年代不同、標(biāo)識(shí)復(fù)雜,特別是光纜大都埋在地下,給管理者帶來了很大的困難。如何全面地掌握校園網(wǎng)光纜分布、準(zhǔn)確定位校園光纜走向位置和了解校園網(wǎng)光纜資源的利用率,以便調(diào)配光纜資源、為持續(xù)建設(shè)提供依據(jù),是當(dāng)前急需解決的管理問題。
電子地圖的發(fā)展已經(jīng)成熟,使為高校建立一個(gè)可視化的光纜資源管理系統(tǒng)成為可能。利用百度地圖API,設(shè)計(jì)實(shí)現(xiàn)校園光纜資源可視化管理,不僅能準(zhǔn)確地定位校園光纜的物理位置和建筑物的距離關(guān)系,突破傳統(tǒng)紙質(zhì)資料管理的局限性,也是推進(jìn)智慧校園建設(shè),提供智能感知和智能服務(wù)的有效途徑。[2]
二、關(guān)鍵技術(shù)
本系統(tǒng)基于百度地圖API構(gòu)建地理信息平臺(tái),采用JavaScript語言,結(jié)合Ajax技術(shù)和jQuery框架實(shí)現(xiàn)系統(tǒng)頁(yè)面對(duì)本地?cái)?shù)據(jù)的無刷新請(qǐng)求。系統(tǒng)頁(yè)面利用Ajax向服務(wù)器發(fā)出Get/Post請(qǐng)求,服務(wù)器返回JSON格式的字符串,頁(yè)面收到后利用jQuery處理JSON格式的字符串,再反饋給用戶。采用Ajax和jQuery能有效解決平臺(tái)間數(shù)據(jù)通信的效率問題,并能將應(yīng)用層與數(shù)據(jù)層分離。
1.百度地圖API介紹
百度地圖API是百度公司為開發(fā)者提供的一套由JavaScript腳本語言編寫的地圖應(yīng)用接口,[3]它將開發(fā)平臺(tái)與地理信息數(shù)據(jù)捆綁,把復(fù)雜的GIS底層邏輯信息進(jìn)行封裝,[4]用一種可視化的方式提供地圖服務(wù),幫助開發(fā)者在網(wǎng)站中構(gòu)建功能豐富、交互性強(qiáng)的地圖應(yīng)用程序,而不必了解地圖開發(fā)細(xì)節(jié),降低了開發(fā)地理信息系統(tǒng)的難度。其API中包含多種開發(fā)工具與服務(wù),如地圖、控件、事件和覆蓋層等,能夠提供地圖展示、定位、搜索、路徑導(dǎo)航、云存儲(chǔ)等功能服務(wù),滿足了相關(guān)地圖信息開發(fā)者的需要。
本系統(tǒng)采用百度地圖JavaScript API v2.0,與之前版本相比,只需要申請(qǐng)密鑰就可以無限制使用。在嵌入了百度地圖的網(wǎng)頁(yè)中,通過API接口調(diào)用存儲(chǔ)在本地?cái)?shù)據(jù)庫(kù)中的校園地理信息和光纜資源信息,完成光纜資源管理等操作。
2.Ajax、JQuery簡(jiǎn)介
Ajax是在不重新加載網(wǎng)頁(yè)的情況下,服務(wù)器與后臺(tái)數(shù)據(jù)庫(kù)進(jìn)行少量數(shù)據(jù)交換,實(shí)現(xiàn)網(wǎng)頁(yè)異步更新的一種WEB應(yīng)用技術(shù)。[5]將Ajax和HTTP的GET/POST請(qǐng)求相結(jié)合,使用戶操作與服務(wù)器響應(yīng)之間具有相對(duì)的獨(dú)立性,頁(yè)面顯示流暢,用戶體驗(yàn)好。
jQurey是輕量級(jí)的JS庫(kù),有很多成熟的插件可以使用,為網(wǎng)頁(yè)開發(fā)提供了功能強(qiáng)大的動(dòng)畫效果。[6]本系統(tǒng)采用jQuery UI插件,使前臺(tái)頁(yè)面具備任務(wù)分層列表的可視化功能。用戶第一次訪問網(wǎng)站之后再次訪問時(shí),會(huì)在緩存cookie中加載jQuery,這樣可減少頁(yè)面加載時(shí)間,提高訪問速度。
三、校園光纜資源分析
光纜施工圖紙及建設(shè)合同中包含了光纜鋪設(shè)中的重要信息,詳細(xì)記載了光纜的類型、數(shù)量、長(zhǎng)度、芯數(shù)、用途及施工時(shí)間等。因此,光纜施工合同及竣工圖紙是獲取光纜原始信息的主要途徑。與光纜資源相關(guān)聯(lián)的還有通信井、電線桿、相鄰建筑物等,這些是光纜段的端點(diǎn)或者經(jīng)過的節(jié)點(diǎn),是光纜資源管理中必不可少的重要信息。匯聚點(diǎn)、熔接點(diǎn)、電線桿、通信井、拐點(diǎn)、光纜終端統(tǒng)稱為光纜段端點(diǎn)。光纜段端點(diǎn)之間的光纜鏈路組成光纜段,光纜是由光纜段組成的,每條光纜包括一定數(shù)量的光纜段。表1是某校園網(wǎng)光纜資源的匯總情況。
明確了光纜的匯聚點(diǎn)、熔接點(diǎn)、拐點(diǎn)等位置信息后,利用坐標(biāo)拾取工具API獲得對(duì)應(yīng)光纜段端點(diǎn)位置的實(shí)際經(jīng)緯度坐標(biāo),連同光纜段端點(diǎn)詳細(xì)信息一起存儲(chǔ)到數(shù)據(jù)庫(kù)中。用戶查看某一物理位置的光纜時(shí),服務(wù)器調(diào)用數(shù)據(jù)庫(kù)中該光纜段端點(diǎn)的經(jīng)緯度坐標(biāo),并把此值作為Polyline方法的參數(shù)傳送給百度地圖API,將光纜以直觀的方式顯示在百度地圖上。
四、系統(tǒng)設(shè)計(jì)
本文立足校園網(wǎng)絡(luò)中心運(yùn)行室的工作需求,設(shè)計(jì)開發(fā)一款校園光纜資源可視化管理信息系統(tǒng),滿足管理者掌握校園光纜資源信息的需要。
1.系統(tǒng)架構(gòu)
本系統(tǒng)采用B/S體系結(jié)構(gòu)。通過HTML+CSS技術(shù)展示可視化查詢界面,可以直接進(jìn)行地圖瀏覽和光纜資源綜合查詢。利用Think PHP框架和jQuery DWZ的UI框架實(shí)現(xiàn)光纜資源管理功能,管理員登錄成功后可以進(jìn)行用戶和光纜資源管理。系統(tǒng)整體結(jié)構(gòu)如圖1所示。
2.系統(tǒng)功能設(shè)計(jì)
校園網(wǎng)光纜資源管理系統(tǒng)的功能設(shè)計(jì)必須圍繞校園網(wǎng)日常維護(hù)工作內(nèi)容展開。如圖2所示的系統(tǒng)功能模塊,整個(gè)系統(tǒng)的功能主要概括為以下三個(gè)方面。
(1)用戶管理。用戶管理采用基于角色的用戶權(quán)限管理模式。系統(tǒng)管理員具有用戶信息管理、角色分配、指定分組權(quán)限。普通用戶具有登錄、修改密碼權(quán)限、信息查詢。
(2)光纜管理。光纜管理分為光纜段管理和光纜段端點(diǎn)管理兩大功能模塊。
光纜段管理功能實(shí)現(xiàn)光纜段的信息修改、添加、刪除等操作,并在地圖上顯示和查詢光纜段鋪設(shè)情況。當(dāng)用戶首次新增某兩個(gè)端點(diǎn)之間的光纜段時(shí),必須要同時(shí)添加這兩個(gè)端點(diǎn)之間的鄰接關(guān)系且保證數(shù)據(jù)庫(kù)中存在這兩個(gè)端點(diǎn),否則需要新增兩個(gè)端點(diǎn)的信息才能新增光纜段。
光纜段端點(diǎn)管理是指光纜段端點(diǎn)在地圖上的經(jīng)緯度標(biāo)注及信息查詢,包括光纜段端點(diǎn)信息的增、刪、改操作。如果要?jiǎng)h除某一光纜段端點(diǎn)信息,系統(tǒng)檢查該端點(diǎn)是否有對(duì)應(yīng)的光纜段存在,若存在,需要?jiǎng)h除所對(duì)應(yīng)的光纜段后才能刪除該端點(diǎn)信息。只有管理員擁有光纜資源信息的寫操作權(quán)限。
(3)光纜資源綜合查詢。光纜資源的查詢分為光纜段端點(diǎn)查詢和光纜鋪設(shè)路徑查詢。光纜段端點(diǎn)查詢是查詢單個(gè)或單類型的光纜段端點(diǎn)信息,用戶通過菜單點(diǎn)擊選擇所要查詢的單個(gè)或者單類型光纜段端點(diǎn)名稱,查詢其在地圖上的具體地理位置和相應(yīng)屬性信息。
光纜鋪設(shè)路徑查詢是通過點(diǎn)擊菜單選擇任意兩個(gè)光纜段端點(diǎn)查詢校園網(wǎng)中的光纜資源,在地圖中顯示所要查詢的光纜走向情況,包括光纜鏈路經(jīng)過的光纜段端點(diǎn)情況。用戶可看到每條鏈路上有哪些類型的光纜、多少跳接點(diǎn)、何種光纜段端點(diǎn)等信息。
3.數(shù)據(jù)庫(kù)設(shè)計(jì)
數(shù)據(jù)庫(kù)設(shè)計(jì)主要分為用戶數(shù)據(jù)庫(kù)表設(shè)計(jì)和光纜資源數(shù)據(jù)庫(kù)表設(shè)計(jì)。
系統(tǒng)用戶管理模塊是基于角色的用戶權(quán)限管理,在數(shù)據(jù)庫(kù)中創(chuàng)建用戶表、角色表、權(quán)限表、節(jié)點(diǎn)表和角色-用戶表。為了系統(tǒng)的安全性,不同角色的用戶具有不同權(quán)限,通過角色的分配來控制權(quán)限,使用起來方便靈活。根據(jù)各個(gè)表之間的關(guān)系設(shè)計(jì)出用戶數(shù)據(jù)庫(kù)表,其表關(guān)系如圖3所示。
每條光纜段都具有兩個(gè)不同位置的端點(diǎn),因此要準(zhǔn)確定位光纜段,就需要確定光纜段的兩個(gè)端點(diǎn)位置及其類型。而對(duì)光纜的查詢,也需要明確光纜段端點(diǎn)的信息。當(dāng)首次添加新的光纜段時(shí),需要在下拉菜單中選擇光纜段起點(diǎn)和光纜段終點(diǎn),若下拉選項(xiàng)中沒有符合要求的起點(diǎn)和終點(diǎn),則要在系統(tǒng)中添加光纜段端點(diǎn)信息;當(dāng)用戶要?jiǎng)h除某一光纜段端點(diǎn)信息時(shí),系統(tǒng)會(huì)檢查該光纜段端點(diǎn)是否仍有對(duì)應(yīng)的光纜段存在,若存在,要解除該光纜段后再進(jìn)行刪除操作。
因此本系統(tǒng)需要在數(shù)據(jù)庫(kù)中創(chuàng)建光纜段端點(diǎn)表、光纜段端點(diǎn)分類表、光纜段表、光纜類型分類表,其表關(guān)系情況如圖4所示。
五、系統(tǒng)實(shí)現(xiàn)
本小結(jié)簡(jiǎn)單展示并說明光纜資源的可視化管理系統(tǒng)的功能,以光纜管理功能和光纜綜合查詢功能為例,展示系統(tǒng)功能的實(shí)現(xiàn)界面。
1.光纜管理功能
光纜管理分為光纜段端點(diǎn)管理和光纜管理。光纜段端點(diǎn)管理功能實(shí)現(xiàn)了光纜段端點(diǎn)的新增、刪除、修改、導(dǎo)出光纜段端點(diǎn)excel表和光纜段端點(diǎn)類型的新增、刪除、修改,圖5為新增光纜段端點(diǎn)信息的實(shí)現(xiàn)界面;光纜管理功能實(shí)現(xiàn)了光纜的新增、刪除、修改、導(dǎo)出光纜段excel表和光纜類型的新增、刪除、修改功能,圖6為光纜段管理界面。
2.光纜綜合查詢功能
(1)光纜段端點(diǎn)查詢的實(shí)現(xiàn)
光纜段端點(diǎn)查詢分為單點(diǎn)查詢和單類型查詢。單點(diǎn)查詢?nèi)鐖D7左側(cè)所示,選擇瀏覽器左側(cè)導(dǎo)航欄的光纜段端點(diǎn)分類中的某一類,查詢相應(yīng)的光纜段端點(diǎn)具體信息,則會(huì)在地圖上顯示該光纜段端點(diǎn)的地理位置和相關(guān)信息;單類型查詢?nèi)鐖D7右側(cè)所示,選擇某一類型查詢相應(yīng)所有光纜段端點(diǎn)分布情況,在地圖上用鼠標(biāo)點(diǎn)擊相應(yīng)光纜段端點(diǎn)則會(huì)顯示該端點(diǎn)的信息窗口。
(2)光纜路徑查詢的實(shí)現(xiàn)
光纜路徑查詢是系統(tǒng)的重要功能,按照實(shí)際的光纜鋪設(shè)情況,我們可以將校園網(wǎng)中的光纜拓?fù)浣Y(jié)構(gòu)抽象為一個(gè)無向連通圖。其中無向連通圖的節(jié)點(diǎn)為光纜段端點(diǎn),光纜段則對(duì)應(yīng)無向連通圖的邊。
該無向連通圖是光纜路徑查詢的基礎(chǔ)。采用鄰接表的方式存儲(chǔ)相關(guān)聯(lián)的信息,從數(shù)據(jù)庫(kù)中將起點(diǎn)的所有相鄰節(jié)點(diǎn)遍歷出來,若在遍歷中發(fā)現(xiàn)其有的相鄰點(diǎn)均不存在到達(dá)終點(diǎn)的路徑或者有環(huán)路現(xiàn)象存在,則返回到原來的節(jié)點(diǎn)繼續(xù)遍歷,直到發(fā)現(xiàn)到達(dá)終點(diǎn)的路徑后停止遍歷,將當(dāng)前已經(jīng)尋到的路徑保存到棧里,每尋到一條光纜段路徑,則進(jìn)行轉(zhuǎn)存,作為結(jié)果進(jìn)行輸出。
根據(jù)以上查找,可以得出起點(diǎn)到終點(diǎn)的所有路徑及每條路徑經(jīng)過的節(jié)點(diǎn),并利用百度地圖API的地圖覆蓋物的Market(標(biāo)注)、Polyline(折線)和InfoWindow(信息框),從而在百度地圖上展示出從起點(diǎn)到終點(diǎn)的路徑集合,實(shí)現(xiàn)光纜路徑可視化查詢功能。
該功能的實(shí)現(xiàn)界面如圖8所示,例如查詢從學(xué)生十樓到北門光纜接入點(diǎn)之間的光纜,該條路徑包含了途經(jīng)所有的光纜段及光纜段端點(diǎn),在地圖上使用不同光纜段的類型用不同顏色的線表示。光纜路徑查詢功能能夠幫助校園網(wǎng)管理人員獲得校園網(wǎng)光纜信息及鋪設(shè)情況,通過可視化的方式精確掌握光纜使用情況,避免傳統(tǒng)方式下查詢繁瑣、效率低的弊端,從而減輕工作量,提高工作效率。
結(jié)束語
本系統(tǒng)基于百度地圖API,使用PHP、JavaScript語言,結(jié)合Ajax與jQuery開發(fā)了光纜資源可視化管理信息系統(tǒng)。該系統(tǒng)針對(duì)光纜資源地理信息的特殊性,以實(shí)際需求為導(dǎo)向?qū)ο到y(tǒng)功能、數(shù)據(jù)庫(kù)表進(jìn)行設(shè)計(jì),通過可視化的方式實(shí)現(xiàn)了光纜管理與光纜資源綜合查詢功能。
參考文獻(xiàn):
[1]付中南,尚群,王竹威.北京大學(xué):校園網(wǎng)光纖資源管理系統(tǒng)設(shè)計(jì)[J].中國(guó)教育網(wǎng)絡(luò),2014(11):27.
[2]李艷,高揚(yáng).基于地圖API的Web地圖服務(wù)及應(yīng)用研究[J].地理信息世界,2010(2):54-57.
[3]百度地圖API開發(fā)指南[EB/OL].http://developer.baidu.com/map/jsdemo.htm#c1_15.
[4]李治洪.WebGIS原理與實(shí)踐[M].北京:高等教育出版社,2011.
[5]李志秀,張軍,陳光,楊麗紅.JQuery Ajax 異步處理JSON數(shù)據(jù)在項(xiàng)目管理系統(tǒng)中的應(yīng)用[J].云南大學(xué)學(xué)報(bào)(自然科學(xué)版),2011(s2):247-250.
[6]曾江峰.基于百度地圖 API 的門店信息搜集系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].華中科技大學(xué), 2013.
[7]劉宏磊,李一鳴,賀歡,韓博.掌上迎新系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)研究[J].中國(guó)教育信息化(高教職教),2012(2):57-60.
[8]Fu C,Wang Y,Xu Y,et al.The logistics network system based on the Google Maps API[C].Logistics Systems and Intelligent Management,2010 International Conference on. IEEE,2010(3):1486-1489.