雍昭宇 邓小玲
摘要:基于微信小程序的智能公交查询系统,利用微信小程序作为系统前端,并调用百度地图API,实现了快速、便捷的城市公交站点和路线及实时公交查询等基本功能,添加了地图定位及天气查询等附加功能。经过在线测试,小程序实现了实时公交查询功能,不仅能给市民提供查询公交的服务,还可通过该小程序进行数据分析,对数据进行挖掘、运用,为管理者制定交通政策提供数据技术支撑。
关键词:微信小程序;公交查询;数据分析
中图分类号:TP393文献标志码:A文章编号:1008-1739(2019)08-65-3
0引言
一个国家的竞争力、经济实力以及安全领域在很大程度上依赖其运输系统,所以优先发展城市公共交通具有重大现实意义[1-2]。“互联网+”利用信息通信技术以及互联网平台,让互联网与传统行业进行深度融合,创造新的发展生态[3]。在欧洲,智能道路安全项目合作网络(COOPERS)和西班牙项目“智能交通安全项目(OASIS)”的举措是开发智能合作系统,以提高公民的安全和流动性[4],表明智能交通系统提高了运输系统的效率、安全性、可达性和稳定性[5]。
本文以微信小程序为平台,构建“互联网+智能公交”查询系统,实现了定位当前位置、查看附近站点信息和实时查看公交位置等功能。
1智能公交查询系统设计
1.1系统架构
智能公交查询系统由系统应用表现层、系统的网络层、系统的功能层和系统的技术层组成,公交查询小程序物理设计如图1所示。
1.2系统技术选型
微信小程序是微信团队推出的一种全新的连接用户与服务的方式,可以在微信内被便捷地获取和传播,并具有出色的用户使用体验[6]。微信官方提供丰富的原生API,可增强微信获取用户信息等的能力,方便后续工作。
本系统使用的百度地图API,是一套由JavaScript语言编写的应用程序接口,为开发者提供了丰富的函数、控件、事件和封装的类,能够帮助人们在网站中构建功能丰富、交互性强的地图应用程序,免费对外开放[7],申请密钥后便可使用。
2系统的实现与测试
在实现公交查询微信小程序前,采用科学方法进行系统分析,得出相应的分析报告后依据分析报告设计系统并予以实现。
2.1软件开发模型
智能公交查询小程序以瀑布模型[7-8]作为软件开发模型。瀑布模型是1970年由W.Royce提出的,给出了软件生存周期活动的固定顺序,上一阶段的活动完成后向下一阶段的活动过渡,最终得到软件产品,也称为软件生存周期模型。在瀑布模型中,必须在上一阶段的活动完成后,经过严格的评估审核,才可以进行下一阶段的研究等活动,模型如图2所示。
2.2系统实现
智能公交查询系统分为4个模块:定位用户位置模块、线路查询模块、实时公交查询模块及附加功能模块,系统的整体功能如图3所示。
(1)定位用户位置模块
①在微信开发者工具中建立index.js文件,该文件负责页面逻辑;②在实现用户位置定位时调用res.addressComponent. city.replace(’市’, ’’)方法,并询问用户是否可以获得用户地理位置;③开发时写定一个formatted_address,包含经纬度等详细信息,以此为基准调用res.location.lng和res.location.lat方法获得用户的具体位置信息,通过调用API模块中写好的方法getNearSites =(options) => request(options, API_URL+’? lng=’+options.query.lng+’&lat=’+options.query.lat+’&cmd=getBusNearZhan’)获得用户所在位置的附近站点信息。
(2)路线查询模块
写一个文件名为api.js包含城市定位、获取附近站点和获取城市列表等函数,供后续调用。①通过getCitys = (options)=> request(options, API_URL + ’?cmd=getAllCitys’)獲得用户所在城市信息,通过getRoutesType = (options) => request(options, API_URL + ’?city=’ + options.city + ’&cmd=getBusLineType’)查询所在城市的大类线路信息,即对公交信息进行了分类;②通过调用getRouteDetail = (options) => request(options, API_URL+’?city=’+options.city+’&code=’+options.code+’&cmd=getBusLineInfo’)查询具体线路信息,如哪一条公交线路。用户也可自主选择热门城市或者按城市名称首字母进行查询。
(3)实时查询公交模块
本智能公交查询系统的实时公交查询模块是通过调用公共交通公司提供的API接口,实现实时公交信息查询,查询流程如图4所示。
(4)附加功能模块
附加功能模块包含3个功能:地图查询、天气查询和意见反馈。在百度地图官网下载JavaScript API,将文件解压得到bmap-wx.min.js文件并新建至开发工具内;通过weatherData =’城市:’+weatherData.currentCity + ’\n’ + ’PM2.5:’ + weatherData. pm25 + ’\n’ + ’日期:’ + weatherData.date + ’\n’ + ’温度:’ + weatherData.temperature + ’\n’ + ’天气:’ + weatherData. weatherDesc + ’\n’ + ’风力:’ + weatherData.wind + ’\n’方法并调用百度地图API进行天气查询,获知当前天气情况。
2.3系统测试
测试工作包括开发测试和线上测试。开发测试在开发过程中检验每一步的动作是否正确,排查程序出现的问题;线上测试是在系统开发完成后,在微信小程序官网提交审核,通过后予以发布,公交查询小程序在线测试如图5所示。
2.4数据收集与分析
基于微信小程序开发的公交车查询系统,实现了数据收集与分析功能,为小程序开发者、运营者提供关键指标统计、实时访问监控以及自定义分析等数据分析工具,帮助小程序产品迭代优化和运营,包括每日例行统计的标准分析和自定义分析。
①标準分析即常规分析,包括昨日概况、趋势概况、TOP访问页面、实时统计、访问趋势、访问分布、访问来源、访问时长、访问深度以及用户信息等;②自定义分析支持灵活多维和近实时的用户行为分析,对用户在小程序内的行为做精细化跟踪,满足页面访问等标准统计以外的个性化分析需求。累计用户访问数和用户整体来源分布分别如图6和图7所示。
通过这些基本数据,如用户使用偏好、性别及年龄分布和地区分布等,可以得出一些有用的信息,对其加以利用。加大对本系统的推广力度,使广大群众从中受益、方便出行,推广公共交通出行、绿色出行、保护环境、减少环境污染及缓解城市交通压力。同时利用这些数据为城市交通管理者提供决策依据,更好地完善城市公共交通体系,形成一个新的智能交通体系,也符合大数据时代的要求。
3结束语
设计开发了一套基于微信小程序的公交车查询系统,将城市的公共交通领域与移动互联网相结合。该系统可实现用户位置定位、附近站点显示、线路查询、实时公交查询、地图和天气查询以及意见反馈等功能,还可为城市管理部门提供数据,分析当前小程序用户的使用偏好,进而提升使用小程序的体验。经过在线测试,公交查询小程序运行良好。
参考文献
[1] Sussman M J. Perspectives on Intelligent Transportation Systems (ITS)[M].German:Springer- Verlag,2005.
[2]徐黔予.优先发展城市公共交通的意义与策略[J].决策咨询, 2011(2):71-73.
[3]黄楚新,王丹中.“互联网+”意味着什么———对“互联网+”的深层认识[J].新闻与写作,2015(5):5-9.
[4]陶佩枫.城市公交查询系统的设计与实现[D].长沙:中南大学,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].计算机与网络, 2017,43(4):50.
[7]余弦.基于GPS/Google API的危险品车辆监控系统及应用[D].杭州:杭州电子科技大学,2011.
[8]钱乐秋,赵文耘,牛军钰.软件工程[M].第二版.北京:清华大学出版社,2013.