雍昭宇 鄧小玲
摘要:基于微信小程序的智能公交查詢系統(tǒng),利用微信小程序作為系統(tǒng)前端,并調(diào)用百度地圖API,實現(xiàn)了快速、便捷的城市公交站點和路線及實時公交查詢等基本功能,添加了地圖定位及天氣查詢等附加功能。經(jīng)過在線測試,小程序?qū)崿F(xiàn)了實時公交查詢功能,不僅能給市民提供查詢公交的服務(wù),還可通過該小程序進行數(shù)據(jù)分析,對數(shù)據(jù)進行挖掘、運用,為管理者制定交通政策提供數(shù)據(jù)技術(shù)支撐。
關(guān)鍵詞:微信小程序;公交查詢;數(shù)據(jù)分析
中圖分類號:TP393文獻標志碼:A文章編號:1008-1739(2019)08-65-3

0引言
一個國家的競爭力、經(jīng)濟實力以及安全領(lǐng)域在很大程度上依賴其運輸系統(tǒng),所以優(yōu)先發(fā)展城市公共交通具有重大現(xiàn)實意義[1-2]。“互聯(lián)網(wǎng)+”利用信息通信技術(shù)以及互聯(lián)網(wǎng)平臺,讓互聯(lián)網(wǎng)與傳統(tǒng)行業(yè)進行深度融合,創(chuàng)造新的發(fā)展生態(tài)[3]。在歐洲,智能道路安全項目合作網(wǎng)絡(luò)(COOPERS)和西班牙項目“智能交通安全項目(OASIS)”的舉措是開發(fā)智能合作系統(tǒng),以提高公民的安全和流動性[4],表明智能交通系統(tǒng)提高了運輸系統(tǒng)的效率、安全性、可達性和穩(wěn)定性[5]。
本文以微信小程序為平臺,構(gòu)建“互聯(lián)網(wǎng)+智能公交”查詢系統(tǒng),實現(xiàn)了定位當(dāng)前位置、查看附近站點信息和實時查看公交位置等功能。
1智能公交查詢系統(tǒng)設(shè)計
1.1系統(tǒng)架構(gòu)
智能公交查詢系統(tǒng)由系統(tǒng)應(yīng)用表現(xiàn)層、系統(tǒng)的網(wǎng)絡(luò)層、系統(tǒng)的功能層和系統(tǒng)的技術(shù)層組成,公交查詢小程序物理設(shè)計如圖1所示。

1.2系統(tǒng)技術(shù)選型
微信小程序是微信團隊推出的一種全新的連接用戶與服務(wù)的方式,可以在微信內(nèi)被便捷地獲取和傳播,并具有出色的用戶使用體驗[6]。微信官方提供豐富的原生API,可增強微信獲取用戶信息等的能力,方便后續(xù)工作。
本系統(tǒng)使用的百度地圖API,是一套由JavaScript語言編寫的應(yīng)用程序接口,為開發(fā)者提供了豐富的函數(shù)、控件、事件和封裝的類,能夠幫助人們在網(wǎng)站中構(gòu)建功能豐富、交互性強的地圖應(yīng)用程序,免費對外開放[7],申請密鑰后便可使用。
2系統(tǒng)的實現(xiàn)與測試
在實現(xiàn)公交查詢微信小程序前,采用科學(xué)方法進行系統(tǒng)分析,得出相應(yīng)的分析報告后依據(jù)分析報告設(shè)計系統(tǒng)并予以實現(xiàn)。
2.1軟件開發(fā)模型
智能公交查詢小程序以瀑布模型[7-8]作為軟件開發(fā)模型。瀑布模型是1970年由W.Royce提出的,給出了軟件生存周期活動的固定順序,上一階段的活動完成后向下一階段的活動過渡,最終得到軟件產(chǎn)品,也稱為軟件生存周期模型。在瀑布模型中,必須在上一階段的活動完成后,經(jīng)過嚴格的評估審核,才可以進行下一階段的研究等活動,模型如圖2所示。

2.2系統(tǒng)實現(xiàn)
智能公交查詢系統(tǒng)分為4個模塊:定位用戶位置模塊、線路查詢模塊、實時公交查詢模塊及附加功能模塊,系統(tǒng)的整體功能如圖3所示。

(1)定位用戶位置模塊
①在微信開發(fā)者工具中建立index.js文件,該文件負責(zé)頁面邏輯;②在實現(xiàn)用戶位置定位時調(diào)用res.addressComponent. city.replace(’市’, ’’)方法,并詢問用戶是否可以獲得用戶地理位置;③開發(fā)時寫定一個formatted_address,包含經(jīng)緯度等詳細信息,以此為基準調(diào)用res.location.lng和res.location.lat方法獲得用戶的具體位置信息,通過調(diào)用API模塊中寫好的方法getNearSites =(options) => request(options, API_URL+’? lng=’+options.query.lng+’&lat=’+options.query.lat+’&cmd=getBusNearZhan’)獲得用戶所在位置的附近站點信息。
(2)路線查詢模塊
寫一個文件名為api.js包含城市定位、獲取附近站點和獲取城市列表等函數(shù),供后續(xù)調(diào)用。①通過getCitys = (options)=> request(options, API_URL + ’?cmd=getAllCitys’)獲得用戶所在城市信息,通過getRoutesType = (options) => request(options, API_URL + ’?city=’ + options.city + ’&cmd=getBusLineType’)查詢所在城市的大類線路信息,即對公交信息進行了分類;②通過調(diào)用getRouteDetail = (options) => request(options, API_URL+’?city=’+options.city+’&code=’+options.code+’&cmd=getBusLineInfo’)查詢具體線路信息,如哪一條公交線路。用戶也可自主選擇熱門城市或者按城市名稱首字母進行查詢。
(3)實時查詢公交模塊
本智能公交查詢系統(tǒng)的實時公交查詢模塊是通過調(diào)用公共交通公司提供的API接口,實現(xiàn)實時公交信息查詢,查詢流程如圖4所示。

(4)附加功能模塊
附加功能模塊包含3個功能:地圖查詢、天氣查詢和意見反饋。在百度地圖官網(wǎng)下載JavaScript API,將文件解壓得到bmap-wx.min.js文件并新建至開發(fā)工具內(nèi);通過weatherData =’城市:’+weatherData.currentCity + ’\n’ + ’PM2.5:’ + weatherData. pm25 + ’\n’ + ’日期:’ + weatherData.date + ’\n’ + ’溫度:’ + weatherData.temperature + ’\n’ + ’天氣:’ + weatherData. weatherDesc + ’\n’ + ’風(fēng)力:’ + weatherData.wind + ’\n’方法并調(diào)用百度地圖API進行天氣查詢,獲知當(dāng)前天氣情況。
2.3系統(tǒng)測試
測試工作包括開發(fā)測試和線上測試。開發(fā)測試在開發(fā)過程中檢驗每一步的動作是否正確,排查程序出現(xiàn)的問題;線上測試是在系統(tǒng)開發(fā)完成后,在微信小程序官網(wǎng)提交審核,通過后予以發(fā)布,公交查詢小程序在線測試如圖5所示。

2.4數(shù)據(jù)收集與分析
基于微信小程序開發(fā)的公交車查詢系統(tǒng),實現(xiàn)了數(shù)據(jù)收集與分析功能,為小程序開發(fā)者、運營者提供關(guān)鍵指標統(tǒng)計、實時訪問監(jiān)控以及自定義分析等數(shù)據(jù)分析工具,幫助小程序產(chǎn)品迭代優(yōu)化和運營,包括每日例行統(tǒng)計的標準分析和自定義分析。
①標準分析即常規(guī)分析,包括昨日概況、趨勢概況、TOP訪問頁面、實時統(tǒng)計、訪問趨勢、訪問分布、訪問來源、訪問時長、訪問深度以及用戶信息等;②自定義分析支持靈活多維和近實時的用戶行為分析,對用戶在小程序內(nèi)的行為做精細化跟蹤,滿足頁面訪問等標準統(tǒng)計以外的個性化分析需求。累計用戶訪問數(shù)和用戶整體來源分布分別如圖6和圖7所示。

通過這些基本數(shù)據(jù),如用戶使用偏好、性別及年齡分布和地區(qū)分布等,可以得出一些有用的信息,對其加以利用。加大對本系統(tǒng)的推廣力度,使廣大群眾從中受益、方便出行,推廣公共交通出行、綠色出行、保護環(huán)境、減少環(huán)境污染及緩解城市交通壓力。同時利用這些數(shù)據(jù)為城市交通管理者提供決策依據(jù),更好地完善城市公共交通體系,形成一個新的智能交通體系,也符合大數(shù)據(jù)時代的要求。
3結(jié)束語
設(shè)計開發(fā)了一套基于微信小程序的公交車查詢系統(tǒng),將城市的公共交通領(lǐng)域與移動互聯(lián)網(wǎng)相結(jié)合。該系統(tǒng)可實現(xiàn)用戶位置定位、附近站點顯示、線路查詢、實時公交查詢、地圖和天氣查詢以及意見反饋等功能,還可為城市管理部門提供數(shù)據(jù),分析當(dāng)前小程序用戶的使用偏好,進而提升使用小程序的體驗。經(jīng)過在線測試,公交查詢小程序運行良好。
參考文獻
[1] Sussman M J. Perspectives on Intelligent Transportation Systems (ITS)[M].German:Springer- Verlag,2005.
[2]徐黔予.優(yōu)先發(fā)展城市公共交通的意義與策略[J].決策咨詢, 2011(2):71-73.
[3]黃楚新,王丹中.“互聯(lián)網(wǎng)+”意味著什么———對“互聯(lián)網(wǎng)+”的深層認識[J].新聞與寫作,2015(5):5-9.
[4]陶佩楓.城市公交查詢系統(tǒng)的設(shè)計與實現(xiàn)[D].長沙:中南大學(xué),2008.
[5] García C R, Quesada-Arencibia A, Cristóbal T.et al. Systematic Development of Intelligent Systems for Public Road Transport[J].Sensors(Basel,Switzerland),2016,16(7): 1104.
[6]張小龍.微信小程序入口在哪?有什么用?[J].計算機與網(wǎng)絡(luò), 2017,43(4):50.
[7]余弦.基于GPS/Google API的危險品車輛監(jiān)控系統(tǒng)及應(yīng)用[D].杭州:杭州電子科技大學(xué),2011.
[8]錢樂秋,趙文耘,牛軍鈺.軟件工程[M].第二版.北京:清華大學(xué)出版社,2013.