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