基于WebGIS的武汉市社区拼车系统研发
2019-06-09刘志刚段小秋张金星赵丽红
刘志刚 段小秋 张金星 赵丽红
摘 要:对于常规拼车,国内外早已开展了多学科、多层次的开发分析研究,都有相关的成熟软件平台。而对于起终点较为偏远的社区性拼车,社区拼车行为参与者之间互相具有一定的自助性。文章以武汉市区为例,利用WebGIS在用户中使用的成本低的优势,基于JFinal框架研发出针对社区拼车资源在线上整合上的应用系统。系统用户为乘客、司机和管理员,乘客能便捷发布共乘需求,司机能轻松找到愿意同路拼车的乘客,系统运行良好。
关键词:拼车系统;WebGIS;JFinal框架;OpenLayers
中图分类号:TP393 文献标志码:A 文章编号:2095-2945(2019)07-0078-02
Abstract: For the conventional carpool, multi-disciplinary, multi-level development and analysis research has been carried out at home and abroad, and there are related mature software platforms. For the community carpool, which is more remote from the end point, the participants in the community carpooling behavior have a certain degree of self-help to each other. In this paper, taking Wuhan urban area as an example, taking advantage of the low cost of WebGIS in users, based on JFinal framework, an application system for online integration of community ride-sharing resources is developed. The system users are passengers, drivers and administrators, passengers can easily publish ride-sharing requirements, drivers can easily find passengers willing to carpool on the same road, the system works well.
Keywords: carpooling system; WebGIS; JFinal framework; OpenLayers
随着城市化加快,截至2017年,武汉市汽车数量达270万辆,其中私家车为196万辆,较去年增长20%[2]。在发展城市公共交通的同时,动态合乘是对传统拼车的拓展。从节能和行驶速度之比上合乘比公交优越[3]。据调查约60%的有车族同意拼车,80%有购车意愿的人希望与亲戚、朋友、同事拼车[4]。将现行需求研发出社区拼车系统,旨在为培养用户网上在线寻求拼车新的习惯和模式,是本系统的研发目的。
1 需求分析
1.1 功能需求
系统的主要用户为三种:乘客、司机与管理员。针对每个种用户需求用例,可以得到以下需求流程:(1)乘客发布拼车信息;(2)司机邀请合适的乘客来拼车,乘客用户能够接受司机邀请,从而完成拼车;(3)后台管理员能够审核管理乘客和司机用户。
1.2 数据需求
在拼车的业务逻辑上是一个完整的数据流(图1)。乘客发布拼车请求,司机能选择并邀请乘客。若乘客接受邀请,则拼车成功,司机收到回执单则拼车成功。另外司机与乘客能够互相收藏名片。
2 系统总体设计
采用MVC模式的JFinal框架(图2),访问层根据SQL操作提交到逻辑层;逻辑层对从客户端交互数据和从数据库中数据做出逻辑处理;展示层表征处理结果。
选用MAPGIS K10+Eclipse+JDK,语言与包庫有Java、JavaScript(OpenLayers)、CSS(EasyUI、Bootstrap);数据库为MySQL。
系统开发需MapGIS的二次开发环境支持,即MapGIS 10 for Desktop+MapGIS IGServer. 在MapGIS Server Manager中发布武汉市地图。
3 系统详细设计
3.1 系统功能模块设计
系统基于用户驱动,分为乘客模块、司机模块、后台管理模块和基础功能模块(图3)。
3.2 数据库设计
根据功能需求,有乘客、司机和管理员三个实体。根据数据需求,有拼车信息、拼车接受以及留言板三个实体。考虑到数据库的参照完整性,添加了主外键参照(图4)。其中,拼车信息表、司机信息表、接受表的详细设计分别见表1~2。
3.3 核心功能设计
乘客端呈现的拼车信息分为两种,一是正等待邀请的;另一种是已得到司机邀请和乘客接受的邀请函信息。乘客可以接受邀请函,即完成拼车(图5)。在成功的拼车单中,乘客与司机可互相收藏联系信息。
4 系统实现
4.1 拼车广场构建
司机用户登录后,主界面请求后台加载拼车信息,司机可以通过起点、终点、拼车时间等来筛选拼车请求。
4.2 管理员审核
后台查询数据并分页,并把数据打包成JSON字符串响应到前台渲染。
5 结束语
(1)从社区拼车的需求入手,定义司机、乘客、管理员的权限区别,确定系统用例,理顺拼车业务流程,得到了清晰的在线拼车模式。(2)明确了系统功能模块,设计了系统的总体架构与功能结构,表述了数据库设计。(3)对系统进行了研发实现,应用于拼车服务,取得较好的效果。
参考文献:
[1]王嘉.模糊C-均值算法在拼车系统中的应用[D].沈阳:东北大学,2009.
[2]赵沄堃.动态共乘成功匹配和出行者选择行为的研究[D].上海:上海交通大学,2013.
[3]Minett P, Pearce J. Estimating the energy consumption impact of casual carpooling[J]. Energies, 2011,4(1):126-139.
[4]陈俊霖.拼车党的互联网思维[J].销售与市场(管理版),2014(08):74-76.
[5]欧阳宏基,于博,葛萌.基于JFinal框架的JavaEE应用研究[J].微处理机,2017,38(04):45-50.