雍昭宇 鄧小玲
摘要:基于微信小程序的智能公交查詢系統(tǒng),利用微信小程序作為系統(tǒng)前端,并調(diào)用百度地圖API,實(shí)現(xiàn)了快速、便捷的城市公交站點(diǎn)和路線及實(shí)時(shí)公交查詢等基本功能,添加了地圖定位及天氣查詢等附加功能。經(jīng)過在線測(cè)試,小程序?qū)崿F(xiàn)了實(shí)時(shí)公交查詢功能,不僅能給市民提供查詢公交的服務(wù),還可通過該小程序進(jìn)行數(shù)據(jù)分析,對(duì)數(shù)據(jù)進(jìn)行挖掘、運(yùn)用,為管理者制定交通政策提供數(shù)據(jù)技術(shù)支撐。
關(guān)鍵詞:微信小程序;公交查詢;數(shù)據(jù)分析
中圖分類號(hào):TP393文獻(xiàn)標(biāo)志碼:A文章編號(hào):1008-1739(2019)08-65-3
0引言
一個(gè)國家的競(jìng)爭(zhēng)力、經(jīng)濟(jì)實(shí)力以及安全領(lǐng)域在很大程度上依賴其運(yùn)輸系統(tǒng),所以優(yōu)先發(fā)展城市公共交通具有重大現(xiàn)實(shí)意義[1-2]?!盎ヂ?lián)網(wǎng)+”利用信息通信技術(shù)以及互聯(lián)網(wǎng)平臺(tái),讓互聯(lián)網(wǎng)與傳統(tǒng)行業(yè)進(jìn)行深度融合,創(chuàng)造新的發(fā)展生態(tài)[3]。在歐洲,智能道路安全項(xiàng)目合作網(wǎng)絡(luò)(COOPERS)和西班牙項(xiàng)目“智能交通安全項(xiàng)目(OASIS)”的舉措是開發(fā)智能合作系統(tǒng),以提高公民的安全和流動(dòng)性[4],表明智能交通系統(tǒng)提高了運(yùn)輸系統(tǒng)的效率、安全性、可達(dá)性和穩(wěn)定性[5]。
本文以微信小程序?yàn)槠脚_(tái),構(gòu)建“互聯(lián)網(wǎng)+智能公交”查詢系統(tǒng),實(shí)現(xiàn)了定位當(dāng)前位置、查看附近站點(diǎn)信息和實(shí)時(shí)查看公交位置等功能。
1智能公交查詢系統(tǒng)設(shè)計(jì)
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è)計(jì)如圖1所示。
1.2系統(tǒng)技術(shù)選型
微信小程序是微信團(tuán)隊(duì)推出的一種全新的連接用戶與服務(wù)的方式,可以在微信內(nèi)被便捷地獲取和傳播,并具有出色的用戶使用體驗(yàn)[6]。微信官方提供豐富的原生API,可增強(qiáng)微信獲取用戶信息等的能力,方便后續(xù)工作。
本系統(tǒng)使用的百度地圖API,是一套由JavaScript語言編寫的應(yīng)用程序接口,為開發(fā)者提供了豐富的函數(shù)、控件、事件和封裝的類,能夠幫助人們?cè)诰W(wǎng)站中構(gòu)建功能豐富、交互性強(qiáng)的地圖應(yīng)用程序,免費(fèi)對(duì)外開放[7],申請(qǐng)密鑰后便可使用。
2系統(tǒng)的實(shí)現(xiàn)與測(cè)試
在實(shí)現(xiàn)公交查詢微信小程序前,采用科學(xué)方法進(jìn)行系統(tǒng)分析,得出相應(yīng)的分析報(bào)告后依據(jù)分析報(bào)告設(shè)計(jì)系統(tǒng)并予以實(shí)現(xiàn)。
2.1軟件開發(fā)模型
智能公交查詢小程序以瀑布模型[7-8]作為軟件開發(fā)模型。瀑布模型是1970年由W.Royce提出的,給出了軟件生存周期活動(dòng)的固定順序,上一階段的活動(dòng)完成后向下一階段的活動(dòng)過渡,最終得到軟件產(chǎn)品,也稱為軟件生存周期模型。在瀑布模型中,必須在上一階段的活動(dòng)完成后,經(jīng)過嚴(yán)格的評(píng)估審核,才可以進(jìn)行下一階段的研究等活動(dòng),模型如圖2所示。
2.2系統(tǒng)實(shí)現(xiàn)
智能公交查詢系統(tǒng)分為4個(gè)模塊:定位用戶位置模塊、線路查詢模塊、實(shí)時(shí)公交查詢模塊及附加功能模塊,系統(tǒng)的整體功能如圖3所示。
(1)定位用戶位置模塊
①在微信開發(fā)者工具中建立index.js文件,該文件負(fù)責(zé)頁面邏輯;②在實(shí)現(xiàn)用戶位置定位時(shí)調(diào)用res.addressComponent. city.replace(’市’, ’’)方法,并詢問用戶是否可以獲得用戶地理位置;③開發(fā)時(shí)寫定一個(gè)formatted_address,包含經(jīng)緯度等詳細(xì)信息,以此為基準(zhǔn)調(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’)獲得用戶所在位置的附近站點(diǎn)信息。
(2)路線查詢模塊
寫一個(gè)文件名為api.js包含城市定位、獲取附近站點(diǎn)和獲取城市列表等函數(shù),供后續(xù)調(diào)用。①通過getCitys = (options)=> request(options, API_URL + ’?cmd=getAllCitys’)獲得用戶所在城市信息,通過getRoutesType = (options) => request(options, API_URL + ’?city=’ + options.city + ’&cmd=getBusLineType’)查詢所在城市的大類線路信息,即對(duì)公交信息進(jìn)行了分類;②通過調(diào)用getRouteDetail = (options) => request(options, API_URL+’?city=’+options.city+’&code=’+options.code+’&cmd=getBusLineInfo’)查詢具體線路信息,如哪一條公交線路。用戶也可自主選擇熱門城市或者按城市名稱首字母進(jìn)行查詢。
(3)實(shí)時(shí)查詢公交模塊
本智能公交查詢系統(tǒng)的實(shí)時(shí)公交查詢模塊是通過調(diào)用公共交通公司提供的API接口,實(shí)現(xiàn)實(shí)時(shí)公交信息查詢,查詢流程如圖4所示。
(4)附加功能模塊
附加功能模塊包含3個(gè)功能:地圖查詢、天氣查詢和意見反饋。在百度地圖官網(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進(jìn)行天氣查詢,獲知當(dāng)前天氣情況。
2.3系統(tǒng)測(cè)試
測(cè)試工作包括開發(fā)測(cè)試和線上測(cè)試。開發(fā)測(cè)試在開發(fā)過程中檢驗(yàn)每一步的動(dòng)作是否正確,排查程序出現(xiàn)的問題;線上測(cè)試是在系統(tǒng)開發(fā)完成后,在微信小程序官網(wǎng)提交審核,通過后予以發(fā)布,公交查詢小程序在線測(cè)試如圖5所示。
2.4數(shù)據(jù)收集與分析
基于微信小程序開發(fā)的公交車查詢系統(tǒng),實(shí)現(xiàn)了數(shù)據(jù)收集與分析功能,為小程序開發(fā)者、運(yùn)營者提供關(guān)鍵指標(biāo)統(tǒng)計(jì)、實(shí)時(shí)訪問監(jiān)控以及自定義分析等數(shù)據(jù)分析工具,幫助小程序產(chǎn)品迭代優(yōu)化和運(yùn)營,包括每日例行統(tǒng)計(jì)的標(biāo)準(zhǔn)分析和自定義分析。
①標(biāo)準(zhǔn)分析即常規(guī)分析,包括昨日概況、趨勢(shì)概況、TOP訪問頁面、實(shí)時(shí)統(tǒng)計(jì)、訪問趨勢(shì)、訪問分布、訪問來源、訪問時(shí)長(zhǎng)、訪問深度以及用戶信息等;②自定義分析支持靈活多維和近實(shí)時(shí)的用戶行為分析,對(duì)用戶在小程序內(nèi)的行為做精細(xì)化跟蹤,滿足頁面訪問等標(biāo)準(zhǔn)統(tǒng)計(jì)以外的個(gè)性化分析需求。累計(jì)用戶訪問數(shù)和用戶整體來源分布分別如圖6和圖7所示。
通過這些基本數(shù)據(jù),如用戶使用偏好、性別及年齡分布和地區(qū)分布等,可以得出一些有用的信息,對(duì)其加以利用。加大對(duì)本系統(tǒng)的推廣力度,使廣大群眾從中受益、方便出行,推廣公共交通出行、綠色出行、保護(hù)環(huán)境、減少環(huán)境污染及緩解城市交通壓力。同時(shí)利用這些數(shù)據(jù)為城市交通管理者提供決策依據(jù),更好地完善城市公共交通體系,形成一個(gè)新的智能交通體系,也符合大數(shù)據(jù)時(shí)代的要求。
3結(jié)束語
設(shè)計(jì)開發(fā)了一套基于微信小程序的公交車查詢系統(tǒng),將城市的公共交通領(lǐng)域與移動(dòng)互聯(lián)網(wǎng)相結(jié)合。該系統(tǒng)可實(shí)現(xiàn)用戶位置定位、附近站點(diǎn)顯示、線路查詢、實(shí)時(shí)公交查詢、地圖和天氣查詢以及意見反饋等功能,還可為城市管理部門提供數(shù)據(jù),分析當(dāng)前小程序用戶的使用偏好,進(jìn)而提升使用小程序的體驗(yàn)。經(jīng)過在線測(cè)試,公交查詢小程序運(yùn)行良好。
參考文獻(xiàn)
[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)+”意味著什么———對(duì)“互聯(lián)網(wǎng)+”的深層認(rèn)識(shí)[J].新聞與寫作,2015(5):5-9.
[4]陶佩楓.城市公交查詢系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].長(zhǎng)沙:中南大學(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].計(jì)算機(jī)與網(wǎng)絡(luò), 2017,43(4):50.
[7]余弦.基于GPS/Google API的危險(xiǎn)品車輛監(jiān)控系統(tǒng)及應(yīng)用[D].杭州:杭州電子科技大學(xué),2011.
[8]錢樂秋,趙文耘,牛軍鈺.軟件工程[M].第二版.北京:清華大學(xué)出版社,2013.