一种基于海量历史GPS轨迹数据的公交车到站时间预测方法
技术领域
本发明涉及公交车到站时间预测方法,尤其涉及一种基于海量历史GPS轨迹数据的公交车到站时间预测方法。
背景技术
公交到站时间是指沿公交线路运行的公交车辆的当前位置相距目标站点的行程时间。随着社会经济的发展,机动车数量急剧增加,城市交通面临着巨大的挑战。优先发展公共交通、实现智能公交,既是智能交通***的重要内容,也是解决城市交通问题的有效途径。而研究和开发高性能的公交车辆到达时间预测技术,对实现公交***在管理和服务的信息化基础上实现智能化,提高城市公共交通的管理和服务水平具有重要意义。而且,随着与智能交通相关领域理论和技术的飞速发展,以及人们对应对城市交通问题的要求和期望越来越高,作为智能交通重要部分的智能公交,也更倾向于提供更加全面、更加细化的信息服务。
公交到站时间预测就是智能公交的一个核心服务,能够为智能调度和公众出行服务提供核心技术支持。一方面,大众出行者对能实时把握出行过程中的时间分配从主观上急需公交到站时间的预测能力。另一方面,要实现公交运营调度的精细化、智能化,也必须以公交到站时间作为重要依据。另外,城市交通、地理信息***、移动与通讯业、统计学,以及数据融合和挖掘等相关领域理论技术为到站时间预测提供了强有力的技术支撑。
公交到站时间预测模型有很多,常见的例如基于历史数据的预测模型、回归预测模型、基于平均速度的预测模型、基于离散傅里叶变换和车辆延误的预测模型等。这里主要介绍三种较多使用的预测模型。
其中,时间序列模型主要是利用交通流的时间变化规律,获取交通数据具有周期性和局部特性变化特征,进而通过当前与历史交通状况的对比,预测出车辆到站时间。因此,这种模型的预测精度主要取决于对比结果的相似度。相似度较高的,对应的预测精度也相对较高,但对于对比结果存在很大差异的,预测结果会很不理想。卡尔曼滤波预测模型是一种滚动并实时修正的模式,即包括通过历史状态(通常是前一步状态)预测当前状态,又包括利用当前实际观测状态修正预测结果,因而它即考虑了历史数据的影响,又兼顾了当前突发事件的反馈,具有很高的实时性能和较高的预测精度。但是,也由于这种滚动预测模式,导致了多步预测的性能和精度的下降。神经网络预测模型通过神经元网络寻找交通数据与到站时间数据间的关系,具有分部存储、并行处理、自组织、自学习、非线性逼近等优点。目前绝大多数采用BP算法,并以样本的方差和作为训练的收敛条件。神经网络模型能很好地拟合历史数据,但其精度主要取决于训练时间的长短,因而预测的实时性较差。
同时,现有的大多公交车辆到站时间预测模型都是基于海量的交通记录,侧重于在数学上建立解算和参数方程组,来预测目标对象的到站时间等相关数据,其计算过程复杂,难以进一步提高预测精度。
发明内容
本发明提供了一种预测精度很高的基于海量历史GPS轨迹数据的公交车到站时间预测方法。
本发明提供的技术方案为:
一种基于海量历史GPS轨迹数据的公交车到站时间预测方法,包括:
构建***:
步骤一、构建一公交路线,所述公交路线包括有m个公交站点;
步骤二、以m个公交站点为分界点,将所述公交路线划分为m-1个顺序的行车路段;
步骤三、获取多趟公交车沿所述公交路线运行的多个轨迹点,任一轨迹点具有空间坐标值和时间值,根据空间坐标值将任一趟公交车的多个轨迹点匹配到m-1个行车路段上;
步骤四、计算m-1个行车路段的平均行程时间,其中,每趟公交车经过每个行车路段的行程时间通过该趟公交车匹配到该行车路段上的若干轨迹点的时间值求解得到,则多趟公交车经过该行车路段的行程时间的平均值为该行车路段的平均行程时间;
预测公交车到站时间:
以公交车的当前位置所在的行车路段为当前行车路段,当前位置到最近的公交站点的距离di与当前行车路段的总距离Di的比值为比例系数Pi,当前行车路段的平均行程时间为Ti,则当前位置到达最近的公交站点的预测时间T为T=Pi·Ti,i≤m-1。
优选的是,所述的基于海量历史GPS轨迹数据的公交车到站时间预测方法中,
根据空间坐标值将任一趟公交车的多个轨迹点逐个匹配到m-1个行车路段上,其具体实现过程为:
将一趟公交车的多个轨迹点逐个向与其距离最近的行车路段投影,进而得到多个轨迹点在公交路线上的匹配点,将各轨迹点的时间值赋予其对应的匹配点。
优选的是,所述的基于海量历史GPS轨迹数据的公交车到站时间预测方法中,
所述步骤三中,任一轨迹点具有公交车行驶速度值,
各轨迹点的公交车行驶速度赋予其对应的匹配点。
优选的是,所述的基于海量历史GPS轨迹数据的公交车到站时间预测方法中,
所述步骤四中,每趟公交车经过每个行车路段的行程时间通过该趟公交车匹配到该行车路段上的若干轨迹点的时间值求解得到,其具体实现过程为:
以位于该行车路段的起始端的公交站点为起点,以位于该行车路段的终止端的公交站点为终点,则该趟公交车在该段行车路段上的若干匹配点中,以与起点距离最近的、与起点之间的距离小于等于第一距离阈值的以及公交车行驶速度小于等于速度阈值的一个匹配点为行程起点,以与终点距离最近的、与终点之间的距离小于等于第一距离阈值的以及公交车行驶速度小于等于速度阈值的一个匹配点为行程终点,以行程终点的时间值与行程起点的时间值之差为该趟公交车经过该行程路段的行程时间。
优选的是,所述的基于海量历史GPS轨迹数据的公交车到站时间预测方法中,所述步骤三中,所有轨迹点的时间值tj为07:00:00≤tj≤09:00:00,或者所有轨迹点的时间值tj为10:00:00≤tj≤10:30:00,或者所有轨迹点的时间值tj为14:00:00≤tj≤14:30:00,或者所有轨迹点的时间值tj为17:00:00≤tj≤19:00:00,或者所有轨迹点的时间值tj为22:00:00≤tj≤23:00:00。
优选的是,所述的基于海量历史GPS轨迹数据的公交车到站时间预测方法中,所述步骤三中,任一轨迹点还具有日期值,所有的轨迹点的日期值fj为工作日,或者所有的轨迹点的日期值fj为休息日。
优选的是,所述的基于海量历史GPS轨迹数据的公交车到站时间预测方法中,预测到站时间时,选择当前日期与所述***中的所有轨迹点的日期值一致,以及选择当前时间与所述***中的所有轨迹点属于相同的时段。
优选的是,所述的基于海量历史GPS轨迹数据的公交车到站时间预测方法中,将一趟公交车的多个轨迹点逐个向与其距离最近的行车路段投影时,如任一个轨迹点到与其距离最近的行车路段的距离大于一第二距离阈值,则不获取该轨迹点在公交路线上的匹配点。
优选的是,所述的基于海量历史GPS轨迹数据的公交车到站时间预测方法中,所述预测公交车到站时间还利用路况信息对所述预测时间进行修正。
本发明基于海量GPS轨迹数据计算公交车行经各行车路段的平均行程时间,根据公交车当前位置与最近的公交站之间的距离与当前行车路段的总距离的比值,结合当前行车路段的平均行程时间,就可以预测出公交车到达最近的公交站点的时间。本发明基于海量GPS轨迹数据可以得到各行车路段日趋稳定且可参考的数据,预测精度为87.6%。
附图说明
图1为本发明所述的公交车到站时间预测方法的原理图;
图2为本发明所述的公交车到站时间预测方法的流程图。
具体实施方式
下面结合附图对本发明做进一步的详细说明,以令本领域技术人员参照说明书文字能够据以实施。
如图1和图2所示,本发明提供一种基于海量历史GPS轨迹数据的公交车到站时间预测方法,包括:
一、构建***:
步骤一、构建一公交路线,所述公交路线包括有m个公交站点;
步骤二、以m个公交站点为分界点,将所述公交路线划分为m-1个顺序的行车路段;
步骤三、获取多趟公交车沿所述公交路线运行的多个轨迹点,任一轨迹点具有空间坐标值和时间值,根据空间坐标值将任一趟公交车的多个轨迹点匹配到m-1个行车路段上;
步骤四、计算m-1个行车路段的平均行程时间,其中,每趟公交车经过每个行车路段的行程时间通过该趟公交车匹配到该行车路段上的若干轨迹点的时间值求解得到,则多趟公交车经过该行车路段的行程时间的平均值为该行车路段的平均行程时间。
二、预测公交车到站时间:
以公交车的当前位置所在的行车路段为当前行车路段,当前位置到最近的公交站点的距离di与当前行车路段的总距离Di的比值为比例系数Pi,当前行车路段的平均行程时间为Ti,则当前位置到达最近的公交站点的预测时间T为T=Pi·Ti,i≤m-1。
所述的基于海量历史GPS轨迹数据的公交车到站时间预测方法中,根据空间坐标值将任一趟公交车的多个轨迹点逐个匹配到m-1个行车路段上,其具体实现过程为:将一趟公交车的多个轨迹点逐个向与其距离最近的行车路段投影,进而得到多个轨迹点在公交路线上的匹配点,将各轨迹点的时间值赋予其对应的匹配点。
所述的基于海量历史GPS轨迹数据的公交车到站时间预测方法中,所述步骤三中,任一轨迹点具有公交车行驶速度值,各轨迹点的公交车行驶速度赋予其对应的匹配点。
所述的基于海量历史GPS轨迹数据的公交车到站时间预测方法中,所述步骤四中,每趟公交车经过每个行车路段的行程时间通过该趟公交车匹配到该行车路段上的若干轨迹点的时间值求解得到,其具体实现过程为:以位于该行车路段的起始端的公交站点为起点,以位于该行车路段的终止端的公交站点为终点,则该趟公交车在该段行车路段上的若干匹配点中,以与起点距离最近的、与起点之间的距离小于等于第一距离阈值的以及公交车行驶速度小于等于速度阈值的一个匹配点为行程起点,以与终点距离最近的、与终点之间的距离小于等于第一距离阈值的以及公交车行驶速度小于等于速度阈值的一个匹配点为行程终点,以行程终点的时间值与行程起点的时间值之差为该趟公交车经过该行程路段的行程时间。
所述的基于海量历史GPS轨迹数据的公交车到站时间预测方法中,所述步骤三中,所有轨迹点的时间值tj为07:00:00≤tj≤09:00:00,或者所有轨迹点的时间值tj为10:00:00≤tj≤10:30:00,或者所有轨迹点的时间值tj为14:00:00≤tj≤14:30:00,或者所有轨迹点的时间值tj为17:00:00≤tj≤19:00:00,或者所有轨迹点的时间值tj为22:00:00≤tj≤23:00:00。
所述的基于海量历史GPS轨迹数据的公交车到站时间预测方法中,所述步骤三中,任一轨迹点还具有日期值,所有的轨迹点的日期值fj为工作日,或者所有的轨迹点的日期值fj为休息日。
所述的基于海量历史GPS轨迹数据的公交车到站时间预测方法中,预测到站时间时,选择当前日期与所述***中的所有轨迹点的日期值一致,以及选择当前时间与所述***中的所有轨迹点属于相同的时段。
所述的基于海量历史GPS轨迹数据的公交车到站时间预测方法中,将一趟公交车的多个轨迹点逐个向与其距离最近的行车路段投影时,如任一个轨迹点到与其距离最近的行车路段的距离大于一第二距离阈值,则不获取该轨迹点在公交路线上的匹配点。
所述的基于海量历史GPS轨迹数据的公交车到站时间预测方法中,所述预测公交车到站时间还利用路况信息对所述预测时间进行修正。
以下将公交车沿公交路线运行的轨迹称为轨迹点,实际上,轨迹点可以用下文所述的轨迹数据表示。
鉴于从轨迹数据空间关系和时空分布的角度的研究目的,本发明所涉及到的基础数据主要分为两个方面:轨迹数据和矢量数据。其中,轨迹数据包括上线的公交车车载GPS模块所记录的数据,以及部分公交***业务数据;矢量数据包括公交站点、公交线路、城市路网,以及分析和处理过程中的临时地图图层等。具体内容如表1所示。
表1基础数据
对基础数据除了进行常规处理,例如去噪、数据融合、格式化、建表入库、索引、关联等,更需要从地理信息***的专业角度,分析数据的空间和属性特征。
数据处理主要包括以下几步:
(1)去除GPS漂移点。轨迹数据的经纬度坐标是最重要的基础数据,但由于GPS模块定位过程中受到大型建筑物的遮挡,以及其他事物的干扰,会出现很多漂移点。而对于严重偏离所属线路的情况,会对预测精度造成重大影响,因而必须去除。但是,传统的预测模型在去噪过程中的灵活度和性能相对较低。本发明通过建立临时轨迹点图层,在地图上非常直观地表现出了车辆行驶轨迹偏离所属线路的程度,从而通过设置可变的阈值,严格控制了轨迹数据中坐标的精度。
具体而言,就是考虑任一个轨迹点到达与其距离最近的行车路段的距离,当这一距离超出设定的阈值(即第二距离阈值),就认为该轨迹点为发生了漂移的点,则在后续的计算中不再考虑该点。
(2)匹配。公交数据的路网匹配规则相对简单,即主要采用最短投影距离法,因为除了应对突发事件或小规模线路调整之外,公交线路和公交站点非常稳定。公交线路数据的来源或处理方式有两种:一是通过地图矢量化或对其他已有数据的格式转换;二是通过高密度分布于线路的点数据自动生成。但无论哪种方式,公交线路都要进行坐标系的统一和路网匹配,从而确保后续处理和空间分析,以及最终预测到站时间的精度。同样,公交站点和车辆轨迹点也要对应地匹配到所属的线路上,特别是当区分线路上行和下行的时候。
一方面,由于公交车GPS轨迹数据是由公交车车载GPS模块按照一定的时间频率实时传回的数据记录,因而数据会受到车载GPS模块的直接影响。而车载GPS模块的位置数据通常会受到所处地区天气、高大建筑物,以及其他因素的影响而发生较大程度的漂移,从而形成无用数据甚至是错误数据,因而对于可接受的漂移程度(误差精度范围内)的数据,必须进行轨迹点匹配,以便后续计算;而对于严重漂移的数据,必须进行数据去噪。
另一方面,由于存在着GPS定位误差,坐标系转换误差,道路电子地图精度误差等,造成车辆GPS定位点偏离车辆行驶道路的情况。这就需要将定位点重新纠正到道路上。
确定公交车在公交路线的准确位置,将轨迹点向公交路线进行匹配,具体过程是,对于任一个轨迹点,获取一个轨迹点在与其最近的行车路段上的投影点(即匹配点),该匹配点被赋予轨迹点所具有的时间信息和属性信息。如前文所述,一旦投影过程中,轨迹点到与其最近的行车路段的距离超出阈值,则不获取该轨迹点的匹配点。
(3)线路分段。公交线路的分段方式也是反映数据处理精度的重要因素。本发明主要按照公交GPS轨迹点与路段进行空间关系判别的具体需求选择分段方式。分段方式主要有五种,每种分段方式所对应的路段属性也各不相同。如表2所示。
表2线路分段方式
本发明的目的在于预测公交车到达目标公交站点的时间,考虑到计算方便,不管采用上述哪种分段方式,都将至少以公交站点作为分界点,对公交路线进行划分。也就是说,一条公交路线有m个公交站点,那么至少可以分为m-1个行车路段,相邻两个行车路段是以公交站点为分界点,或者以非公交站点为分界点。
另外,在分析处理和***展示时,还需要对地图数据进行投影坐标系和地理坐标系的统一定义。
基于这些基础数据,在计算机内建立相应的数据表,如表3和表4所示:
表3BUS_CLBH_YYYYMM数据表格式
Column Name |
Data Type |
Comments |
CLBH |
VARchar2(10BYTE) |
车辆编号 |
CLSD |
NUMBER(10,5) |
车辆速度 |
GPSX |
NUMBER(15,11) |
坐标X |
GPSY |
NUMBER(15,11) |
坐标Y |
BUSDATE |
VARchar2(20BYTE) |
日期 |
BUSTIME |
VARchar2(20BYTE) |
时间 |
表4BUS_CLBH_YYYYMM_FCSJB数据表格式
Column Name |
Data Type |
Comments |
XCJLID |
VARchar2(50BYTE) |
行车记录ID |
XLID |
VARchar2(50BYTE) |
线路ID |
CLID |
VARchar2(50BYTE) |
车辆ID |
XCRQ |
VARchar2(30BYTE) |
行车日期 |
JZSJ |
VARchar2(30BYTE) |
进站时间 |
FCSJ |
VARchar2(30BYTE) |
发车时间 |
CLBH |
VARchar2(20BYTE) |
车辆编号 |
表5图层数据
图层 |
矢量类型 |
城市路网 |
线 |
公交线路 |
线 |
公交站点 |
点 |
车辆轨迹点 |
点 |
公交场站缓冲区 |
面 |
途径站点缓冲区 |
面 |
为了处理日益增多的时空类型数据,GIS开展了大量有关时空数据模型的研究,目的是查询、显示、分析和预测随时间变化的空间信息。公交车辆轨迹数据就是典型的时空数据类型,而对于这种轨迹数据的存储要充分考虑其时空特性,保证空间信息、时间信息和属性信息之间的关联性。
本发明侧重于从公交车海量历史GPS数据和实时位置方面建立了这样一种时空数据模型。考虑任何一条公交线路Route,在时段T内,都有N条同在这条线路上运行的BusCount辆公交车的轨迹记录。而每条轨迹记录都是一个包含某车空间信息、时间信息和属性信息的数组。结合图2对本发明的过程进行描述:
首先,获取多趟公交车的多个轨迹点,任一轨迹点对应有空间信息、时间信息和属性信息。
其次,根据轨迹点的时间信息,判断它的时间归属并获取时间归属ID,即属于工作日(work)或休息日(rest)的哪个时段(五峰、全天)。
之后,根据轨迹点的空间信息,判断它的路段归属并获取路段归属ID,即属于线路Route的哪个行车路段,也就是将任一趟公交车的多个轨迹点匹配到m-1个行车路段上,则后续的步骤中,都是针对匹配点进行计算的。
由于将多趟公交车的多个轨迹点同时输入的,可以通过属性信息确定轨迹点属于哪一辆车。并且由于可能出现在设定的时段内同一辆车几次经过公交路线,因此,本发明通过发车时间进一步确定轨迹点属于哪一趟车,本发明中以一趟公交车为单位进行的。为了更清楚的理解这个情况,可以举例说明,假设一辆公交车A完成一次在整个公交路线的运行的总时间为30分钟,公交车A的发车时间为7:00,那么对于所获取的轨迹点,首先可以从属性信息判断出属于公交车A的轨迹点,时间信息属于7:00-7:30之间的轨迹点、时间信息属于7:30-8:00之间的轨迹点、时间信息属于8:00-8:30之间的轨迹点以及时间信息属于8:30-9:00之间的轨迹点就分别对应了7:00-9:00这个时间段内的4趟公交车A。值得注意的是,需要以一“趟”公交车的轨迹点为单位计算平均行程时间,而不是以一“辆”公交车的轨迹点。最后,分析轨迹点的空间关系和时空分布特征。
以一个行车路段为例,如果一个匹配点与行车路段的起点之间的距离小于第一距离阈值,该匹配点的公交车行驶速度小于速度阈值,则将该匹配点纳入起点备选点集合中,如果一个匹配点与行车路段的终点之间的距离小于第一距离阈值,该匹配点的公交车行驶速度小于速度阈值,则将该匹配点纳入终点备选点集合中,在上述起点备选点集合中选择与起点距离最小的一个匹配点为行程起点,在上述终点备选点集合中以与终点距离最小的一个匹配点作为行程终点,行程终点和行程起点的时间值之差就是这一趟公交车经过该行车路段的行程时间。上述第一距离阈值可以设定为20-24m。如果一个匹配点不属于上述两种情况,则为行驶点。
当多趟公交车的多个轨迹点进入计算,则可以得到该行车路程的平均行程时间。
由于轨迹点具有时间信息,因此,本发明可以在构建***时,可以实现分别计算不同日期、不同的时段同一行车路段的平均行程时间,此时,为了实现这种计算,首先获取的多趟公交车的多个轨迹点,就应该是都具有相同的日期值、以及都具有在选定的时段内的时间值的轨迹点。
由于工作日和休息日中,交通状况明显不同,平均行程时间也会发生变化,因此,可以分别计算工作日和休息日的各行车路段的平均行程时间。此外,在一天之内,不同时段的交通状况也不会发生变化,为了更为精确的预测,可以将一天分为不同时段分别计算各行车路段的平均行程时间。
完成整个公交路线的所有行车路段的平均行程时间的计算后,就可以对某一趟公交车到达下一站公交站点的时间进行预测。以当前公交车的当前位置到达下一站公交站点的距离与当前行车路段的总距离的比值为比例系数P,预测时间为比例系数乘以当前行车路段的平均行程时间。
此外,在预测过程中,还可以设置修正值对预测时间进行修正,比如当发生交通事故或者路况发生变化时,可以根据解决上述情况所需要的时间,对预测时间进行调整。
在海量GPS数据的情况下,可以得到稳定的平均行程时间的计算值,因此,预测精度可以得到进一步的提高,本发明的预测精度为87.6%。
实施例
本实施例选取北京市300路内环(简称300内)公交线作为研究对象,包含终点在内共有34站,线路总长48.065公里。
本实施例选取2011年4月共2515783条轨迹数据,建立了一个应用上述处理和计算流程的***。
首先,在本实施例的***中生成公交线路,如前文所述,公交线路数据的来源和处理方式一般分为两种:地图矢量化或对其他已有数据的格式转换;通过高密度分布于线路的点数据自动生成。本实施例中选择第二种方式生成公交路线。
之后,对上述生成的公交路线进行分段,本实施例以公交站点为分界点将公交路线划分为若干的线段或者线单元。
完成线路分段之后,就进行轨迹点向公交路线匹配的过程,又称为地图匹配。地图匹配是指车辆的位置点与数字地图的比较过程,其目的是确定车辆在地图道路网络中的准确位置。它的输入是浮动车所采集的原始的GPS数据,输出是车辆在道路的准确位置。
对于公交GPS轨迹数据来说,由于每条数据记录都有其相应的线路归属ID,因而匹配规则相对简单,即采用最短距离法,向所属线路匹配。一个轨迹点在匹配前的经纬度表示为(gpsx,gpsy),其经过匹配后,在该轨迹点距离最近的行车线段上的匹配点的经纬度就可以表示为(newx,newy)。
在本发明的***中首先需要计算出各行车路段的行程时间,然后在多趟公交车的情况下,计算出一个行车路段的平均行程时间。
本实施例选择分别计算在多个时段下的各行车路段的平均行程时间,5个时段为:早高峰07:00:00-09:00:00;上低峰10:00:00-10:30:00;下低峰14:00:00-14:30:00;晚高峰17:00:00-19:00:00;晚二次22:00:00-23:00:00。
同时,还可以选择计算在不同日期的各行车路段的平均行程时间,比如以工作日和休息日区分。
以“300内”为例,取2011年某月公交轨迹数据,应用本发明计算34个公交站点共计33个行车路段的平均行程时间,并分别计算工作日和休息日的平均行程时间。以“300内”为例,利用***预测出某趟车在工作日到达下一站的预测时间为2.991952分钟;预测出某趟车在休息日到达下一站的预测时间为2.658224分钟。
通过分别选取2011年5月3日(星期二,49个抽样轨迹点)和2011年5月8日(星期日,31个抽样轨迹点)代表工作日和休息日进行实例验证,抽样轨迹点即代表一趟公交车的当前位置。如表4-1所示,是5月3日早高峰49个抽样轨迹点的预测结果表。
表62011年5月3日早高峰49个抽样轨迹点中部分轨迹点到达下一个公交站点的预测时间(单位:分钟)
公交到站时间作为公共交通出行者最为关注的重要信息,以及公交***智能调度的核心依据,它的精确预测不仅能提高公交信息服务的质量和体验,也推动了城市公交***的智能化。
本发明的方法对处理海量公交GPS轨迹数据和计算路段平均到站总时间具有较好的性能和效果,而预测结果在较少出现突发事件的情况下也呈现出较高的精度。
尽管本发明的实施方案已公开如上,但其并不仅仅限于说明书和实施方式中所列运用,它完全可以被适用于各种适合本发明的领域,对于熟悉本领域的人员而言,可容易地实现另外的修改,因此在不背离权利要求及等同范围所限定的一般概念下,本发明并不限于特定的细节和这里示出与描述的图例。