公交实时查询系统服务端.docx

上传人:b****1 文档编号:663784 上传时间:2022-10-11 格式:DOCX 页数:8 大小:23.47KB
下载 相关 举报
公交实时查询系统服务端.docx_第1页
第1页 / 共8页
公交实时查询系统服务端.docx_第2页
第2页 / 共8页
公交实时查询系统服务端.docx_第3页
第3页 / 共8页
公交实时查询系统服务端.docx_第4页
第4页 / 共8页
公交实时查询系统服务端.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

公交实时查询系统服务端.docx

《公交实时查询系统服务端.docx》由会员分享,可在线阅读,更多相关《公交实时查询系统服务端.docx(8页珍藏版)》请在冰豆网上搜索。

公交实时查询系统服务端.docx

公交实时查询系统服务端

4.4.2服务器端功能组件交互设计

本文的上一节中对公交实时查询系统服务端进行了功能组件划分,并介绍了各功能组件的作用,接下来选择两个典型的应用场景对功能组件间的交互方式进行阐述。

1、用户实时位置采集和聚类分析场景

系统进行用户实时位置采集和聚类分析时,服务器端对应组件的交互过程如图4-3所示。

图4-3用户实时位置采集和聚类分析场景组件交互图

1)手机客户端按照规定的时间周期,利用其自身的定位功能获取当前所处地点的位置数据,将定位数据上报给服务器端组件——用户位置数据采集组件,用户位置数据采集组件接收客户端定位信息,并按照实现约定的协议解析数据,解析后的数据存入数据库中对应的数据表中。

2)服务器端的用户位置数据聚类组件按照约定的时间周期,定期从数据库中抽取最新的用户位置数据,然后使用聚类算法获得公交车所在的公交线路和当前位置,将此结果永久保存到数据库中。

3)公交实时数据统计组件按照约定的周期,定期从数据库中读取最新的聚类计算结果,再对聚类分析输出数据进一步统计分析,得到当前各个路段的路况,将路况数据永久保存到数据库中。

4)公交历史数据统计组件根据系统需要,按月或按周从数据库中获取这段周期时间内公交车的运行数据,计算出各路段各周期同时段内的道路拥堵情况变化数据,并根据统计结果修正公交历史统计数据,永久存入到数据库中。

2、用户查询实时公交出行方案场景

在用户查询实时公交出行方案场景中,服务器端对应组件的交互过程如图4-4所示。

图4-4用户查询实时公交出行方案场景组建交互图

1)用户从客户端输入出发地点、目的地点等参数,向服务器端提交请求,查询实时的公交出行方案。

服务器端出行方案查询接口接收查询请求并转发查询参数至出行方案计算组件。

2)用户的查询参数输入到出行方案计算组件后,出行方案计算组件后根据内部的换乘逻辑算法,从数据库中抽取所需数据进行计算,输出一系列可选的公交出行方案,反馈给出行方案查询接口。

3)出行方案查询接口接收出行方案计算组件发送来的乘车方案数据后,再根据乘车方案中的公交车次向公交运行状态查询接口发送查询公交实时运行状态信息的请求,此接口接收到请求信息,通过使用公交运行状态计算组件抽取数据库中对应的公交车实时状态数据,并将实时状态数据反馈给出行方案查询接口。

4)出行方案查询接口将可选的公交出行换乘方案数据与公交车实时状态数据进行叠加,结合用户设定的偏好设置,按照用户的偏好计算各个出行方案的权值,根据权值排序,将排好序的实时公交出行路线以XML文件的方式反馈给客户端供用户查看。

4.4.3服务器端功能实现

服务端的主要功能模块包括:

用户汇报GPS信息计算、到站时间计算、公交换乘方案推荐、公交路线查询。

其中到站计算功能是在用户汇报GPS信息计算功能的计算结果基础上,进一步分析得到的,本文着重对用户汇报GPS信息计算、公交换乘方案推荐两个功能模块的实现进行阐述。

4.4.3.1用户汇报GPS信息计算

用户汇报GPS信息计算功能收集用户汇报的离散GPS位置信息数据,使用类聚算法间进行数据类聚分析,在同一辆公交车上的用户可以聚类到一起,不同公交车上的用户的以区分,实现聚类簇状态跟踪,通过获得聚类簇经过的站点和路段来判定公交车的路线,同时实时抓取聚类簇经过站点的时间,进一步计算车辆在对应路段的运行时间和运行状态。

主要有用户位置数据采集组件和用户位置数据采集组件共同实现。

用户使用客户端来上报GPS位置数据,服务端GPS信息计算功能在eclipse中实现,采用语言是java开发语言,本系统通过调用XX地都来实现GPS的定位,下面是代码内容:

uses-permissionandroid:

name="android.permission.ACCESS_NETWORK_STATE"/>

name="android.permission.INTERNET"/>

name="com.android.launcher.permission.READ_SETTINGS"/>

name="android.permission.WAKE_LOCK"/>

name="android.permission.CHANGE_WIFI_STATE"/>

name="android.permission.ACCESS_WIFI_STATE"/>

name="android.permission.GET_TASKS"/>

name="android.permission.WRITE_EXTERNAL_STORAGE"/>

name="android.permission.WRITE_SETTINGS"/>

name="android.permission.READ_PHONE_STATE"/>

name="android.permission.ACCESS_COARSE_LOCATION"/>

name="android.permission.READ_PHONE_STATE"/>

name="android.permission.ACCESS_WIFI_STATE"/>

name="android.permission.ACCESS_NETWORK_STATE"/>

name="android.permission.RECEIVE_BOOT_COMPLETED"/>

name="android.permission.RESTART_PACKAGES"/>

name="android.permission.BROADCAST_STICKY"/>

name="android.permission.WRITE_SETTINGS"/>

name="android.permission.RECEIVE_USER_PRESENT"/>

name="android.permission.WRITE_EXTERNAL_STORAGE"/>

name="android.permission.WAKE_LOCK"/>

name="android.permission.KILL_BACKGROUND_PROCESSES"/>

name="android.permission.GET_TASKS"/>

name="android.permission.READ_LOGS"/>

name="android.permission.VIBRATE"/>

name="android.permission.BLUETOOTH"/>

name="android.permission.BATTERY_STATS"/>

name="android.permission.ACCESS_FINE_LOCATION"/>

name="com.android.launcher.permission.READ_SETTINGS"/>

--这个权限用于进行网络定位-->

name="android.permission.ACCESS_COARSE_LOCATION"/>

--这个权限用于访问GPS定位-->

name="android.permission.ACCESS_FINE_LOCATION"/>

--用于访问wifi网络信息,wifi信息会用于进行网络定位-->

name="android.permission.ACCESS_WIFI_STATE"/>

--获取运营商信息,用于支持提供运营商信息相关的接口-->

name="android.permission.ACCESS_NETWORK_STATE"/>

--用于读取手机当前的状态-->

name="android.permission.READ_PHONE_STATE"/>

--写入扩展存储,向扩展卡写入数据,用于写入离线定位数据-->

name="android.permission.WRITE_EXTERNAL_STORAGE"/>

--访问网络,网络定位需要上网-->

name="android.permission.INTERNET"/>

4.4.3.2公交换乘方案推荐

XX地图提供了强大的路径规划功能接口,来方便使用者对自己的出行进行规划。

路径规划的方式我们就是公交站点的查询,然后XX地图返回给用户所有的公交车路线规划以及时间计算,大大方便我们过早规划行程,这包含了基本上所有的公交车路线及停靠时间。

在使用时要先通过屏幕输入起点的车站以及目的地车站,设置完成之后进行搜索,然后选择路径规划方式;如果起止点没有合适的地理编码信息导致没有得到想要的搜索结果的时候,这个时可以通过点击地图上的位置点来设定起止点,然后来进行正常搜索即可。

由于代码过多,就截取了以下代码:

android:

name="com.example.gongjiao.WelcomeActivity"

android:

label="@string/app_name">

name="android.intent.action.MAIN"/>

name="android.intent.category.LAUNCHER"/>

这里是主要代码:

用来获取XXapi的接口

android:

name="com.baidu.lbsapi

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 视频讲堂

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1