公共自行车出行搜索系统的设计与实现
2016-04-03邓河
邓 河
(长沙民政职业技术学院 软件学院,湖南 长沙 410004)
公共自行车出行搜索系统的设计与实现
邓 河
(长沙民政职业技术学院 软件学院,湖南 长沙 410004)
通过分析绿色出行最主要的方式——公共自行车出行的特点和需求,提出建设基于移动平台上的公共自行车出行信息搜索系统,介绍了系统建设的基本思路和框架并对系统关键的实现进行了详细阐述。
公共自行车出行;绿色出行;Android;百度地图
从国家“十二五”规划到我国政府“节能减排”承诺,“绿色”理念正逐渐扩展到各级政府、各行各业[1]。随着国家和社会倡导的“绿色出行”观念深入人心,越来越多的城市都逐步建立了公共自行车租赁服务。随着公共自行车的出行方式越来越受到人们的青睐,为了提高公共自行车的使用效率,减少有些人恶意占用公共资源的习惯,绝大部分城市暂定为每天累计使用1小时免费。所以对于出行的人们来说,如何有效地找到有车(或有车位)的公共自行车投放点就成了关注的问题。为此,我们提出了基于移动平台的公共自行车出行搜索服务系统。
一、系统框架设计
随着智能手机的普及,基于移动平台的公共自行车出行搜索服务系统,能不受地点和各种条件的制约,为群众提供最为便利的服务。系统整体设计框架如图1所示。
图1 系统设计框架图
系统数据层包括公共自行车租贷系统数据库和搜索系统数据库。实时的租车信息通过公共自行车租贷系统数据库中导出,搜索系统数据库为本系统的数据库系统,主要存储公共自行车的点位信息。服务层提供地图位置服务以及数据查询服务。应用层是基于WEB的自行车点位信息管理系统和Android移动端的自行车点搜索系统。基于WEB的自行车点位信息管理系统[2]面向管理人员,主要完成与现有公共自行车租赁系统的数据交换和对现有公共自行车投放点信息进行维护。
二、WEB管理端
公共自行车租赁公司一般都有一套内部系统控制自行车的借出和归还以及各投放点的自行车数据等信息。而我们系统需要即时地取到这些数据,并把数据反应到用户的移动端。可以采用扩展系统的对外数据查询接口(Web Service方式)来实现。
WEB管理端最主要的功能就是对自行车点位信息进行管理。管理人员通过在地图上精确定位自行车投放点,对自行车点数据进行增加、更新和删除操作。自行车点信息管理基于WEB系统,采用百度地图API引擎——Java Script API开发。
1、创建Map实例
var map=new BMap.Map("allmap");//创建Map实例
var point=new BMap.Point(116.404,39.915);//创建点坐标
map.centerAndZoom(point,15);//初始化地图,设置中心点坐标和地图级别。
2、设置右键菜单选项——添加自行车点
{//得到地图上点的地址信息
3、利用Ajax实现异步数据更新
三、Android应用端
基于Android端的搜索系统主要借助于百度地图对城市的公共自行车投放点进行搜索与定位,查看指定附近区域的自行车点的位置、距离以及车位信息(有多少自行车可借?有多少自行车位可停车?)。下面来详细地介绍一下搜索的实现。
1、公共自行车投放点信息搜索
系统中通过实现最近搜索、区域搜索、地名搜索三种方式让用户搜索公共自行车投放点信息。最近搜索是以用户当前定好的地理位置(默认以用户所在位置)出发、查找一定数量的自行车点信息的搜索方式。区域搜索根据用户输入搜索半径,按照半径大小搜索以自己为圆心范围内的所有自行车点信息。地名搜索是以用户熟知的地址名称搜索附近区域内的自行点方式。
因为考虑到百度地图上的实际距离测量较慢,三种搜索方式都是以直线距离为参考。先找出范围内的点,再将范围内的点进行实际距离测量,最后给出最佳路线建议。
下面给出异步计算行走路线的核心代码
//得到行走路线后的回调函数
2、路线规划
路线规划是让用户输入起点和终点(可以输入中文地址也可以直接在地图上描点)、系统自动搜寻出一条行走路线的方式,它实现了从起点借车到目点地还车的整个过程,系统提供两种方式的路线规划——行走路线最短,总距离最短。
核心代码如下:
地理编码
//地图移动到该点
//地理编码:通过地址检索坐标点
//反地理编码:通过坐标点检索详细地址及周边
显示不同方式的规划路线
首先将两条不同规划方式的路线计算出来,定义存放不同方式的路径规划层数组。
然后计算两种方式的路径规划层,核心代码如下:
最后根据用户的选择显示不同的规划路线。
3、更新数据
自行车点基本数据离线保存在用户手机中的SQ Lite数据库中,更新数据功能就是实现本地数据与服务端数据进行同步。如果有新版本的数据,系统会自动提示用户进行更新数据。为了提高数据的更新效率,可以将批量数据的插入作为一个事务处理。
四、结束语
本文研究并实现了基于地图及移动Android平台的公共自行车出行搜索系统的核心功能[3],分析了系统建设的基本框架,为后来的同类系统的开发者抛砖引玉。在接下来的研究中,将研究公共自行车点位的车辆调度的算法问题,为公共自行车的调度者提供参考。
[1] 《中华人民共和国国民经济和社会发展第十二个五年(2011—2015年)规划纲要》[Z].2011.
[2] 白云龙.基于云端的公共自行车管理系统的研究[J].电脑知识与技术,2016,(24).
[3] 薛彬.城市公共自行车系统规划研究[J].现代交际,2016,(5).
TP31
A
1671-5136(2016)04-0132-03
2016-10-31
邓河(1978-),男,长沙民政职业技术学院软件学院讲师、硕士研究生。研究方向:智能计算、数据挖掘、网络流量分类。