CN111862662B - 一种基于公交运行数据的公交线路调整监测方法 - Google Patents
一种基于公交运行数据的公交线路调整监测方法 Download PDFInfo
- Publication number
- CN111862662B CN111862662B CN202010704071.5A CN202010704071A CN111862662B CN 111862662 B CN111862662 B CN 111862662B CN 202010704071 A CN202010704071 A CN 202010704071A CN 111862662 B CN111862662 B CN 111862662B
- Authority
- CN
- China
- Prior art keywords
- bus
- shift
- seq
- data
- line
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/123—Traffic control systems for road vehicles indicating the position of vehicles, e.g. scheduled vehicles; Managing passenger vehicles circulating according to a fixed timetable, e.g. buses, trains, trams
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Traffic Control Systems (AREA)
Abstract
本发明涉及一种基于公交运行数据的公交线路调整监测的方法。该方法根据某一城市一段时间内公交的到离站数据和GPS位置数据,得到公交线路的行驶轨迹,与已有线路走向对比判断出线路是否经过调整。本发明的优点是充分利用公交到离站数据和GPS位置数据,快速判断公交线路是否有调整,为公交线网监测、优化提供依据。
Description
技术领域
本发明涉及城市公交规划、公交运行评价、公交线网调整、交通规划技术领域,尤其是涉及一种基于公交运行数据的公交线路调整监测方法。
背景技术
城市公交线网信息更新周期往往较长,线路走向信息的更新不及时会影响到有关交通管理部门的决策。城市公交规划与管理工作迫切需要基于定量数据的辅助决策支持,随着公交GPS和IC卡技术的普及,大量车辆位置数据、到离站数据、公交客流数据可以被提取,这些数据的背后,隐含着丰富的车辆和客流信息。
现有的技术中,由于城市公交车的数量巨大,使得有关管理部门很难实时掌握每辆公交的线路是否发生调整,从而无法及时对公交线路信息进行更新与完善,导致城市公交规划与管理工作的效率降低。
发明内容
针对现有技术存在的不足,本发明的目的是提供一种基于公交运行数据的公交线路调整监测方法,该方法将车辆行驶轨迹与基础线路走向图进行匹配,以定量的方法判断公交线路是否发生调整,对于公交线路信息更新完善具有重要意义,并且此方法成本较低更新周期较短,提高了城市公交规划与管理工作的效率。
本发明的上述发明目的是通过以下技术方案得以实现的:
一种基于公交运行数据的公交线路调整监测方法,包括以下步骤,
步骤1:班次划分,选取A城市一天的公交运行数据,包括车辆到离站数据和车辆GPS位置数据;
所述车辆到离站数据提供了某一公交车辆的运行方向,以及此公交车的进站和离站时间,所述车辆GPS位置数据提供了某一公交车在每个时间点的经纬度数据;
步骤2:线路走向生成及与原始线路走向匹配,将所述步骤1划分班次之后的公交运行数据,按照班次和时间排序,将每一个班次所经过的位置点数据,进行公交运行轨迹拟合成曲线,并计算斜率k,将原始线路走向分方向进行曲线拟合,并计算其斜率值k_0;
利用相似性度量函数,分行驶方向计算原始线路走向与本班次行驶轨迹路线相似性度量值NSEQ,
通过判断NSEQ的合理性,来进一步判断本班次公交线路是否进行了调整,根据NSEQ的计算方法,设置当NSEQ>1为不合理,NSEQ<=1为合理;
当dir=1时,用S1表示线路未做调整的班次数,用T1表示线路做了调整的班次数,当dir=2时,用S2表示线路未做调整的班次数,用T2表示线路做了调整的班次数,其中dir表示公交线路的运行方向,为1时表示上行,为2时表示下行;;
步骤3:线路调整判断,由所述步骤2的计算得到的S1、S2、T1和T2,生成分方向线路匹配权值R1=S1/(S1+T1),R2=S2/(S2+T2),利用所述匹配权值判断不同行驶方向的线路是否有所调整。
本发明在一较佳示例中可以进一步配置为:在所述步骤1中,基于所述车辆到离站数据对公交线路上的所有车辆进行班次划分,公交车辆在一个运行方向上,从起始站行驶至终点站,为一个班次;
将所述车辆到离站数据按照时间先后排序,依次遍历,班次SEQ从1开始编号,若当前到离站数据记录的运行方向dir与上一条记录的运行方向相同,则班次不变;
若运行方向dir与上一条数据的运行方向不同,则班次SEQ=SEQ+1;
将每班次记录的最小时间和最大时间分别作为该班次的开始时间STARTTIMESEQ和结束时间ENDTIMESEQ;
并将每个班次开始时间和结束时间之间的所有所述车辆GPS位置数据均标记相应的班次序号,得到划分班次后的所述车辆GPS位置数据。
本发明在一较佳示例中可以进一步配置为:所述步骤1包括以下子步骤,
步骤1.1:将每辆车运行数据按照到离站时间TIMESTAMP排序,当公交到站离站标签COMORLEA为1时,TIMESTAMP为到站时间用TIMESTAMP到表示;当公交到站离站标签COMORLEA为2时,TIMESTAMP为离站时间用TIMESTAMP离表示,令i=1,SEQ=i;
步骤1.2:逐条遍历数据,若未遍历完则进入步骤1.3;若遍历完进入步骤1.6;
步骤1.3:判断是否是第一条记录,若是,则本条记录的到站时间作为本班次开始时间STARTTIMESEQ=TIMESTAMP到,离开时间作为本班次结束时间ENDTIMESEQ=TIMESTAMP离,然后进入步骤1.4;若不是第一条记录则进入步骤1.5;
步骤1.4:令班次SEQ=i,进入所述步骤1.2;
步骤1.5:判断此记录运行方向和上一条记录运行方向dir是否一致,若相同则更新本班次结束时间ENDTIMESEQ=TIMESTAMP离;
进入所述步骤1.4,若不同则i=i+1,STARTTIMESEQ=STARTTIMEi=TIMESTAMP到,再进入所述步骤1.4;
步骤1.6:结合公交线路的一天GPS位置点数据,将每个班次开始时间和结束时间之间的所有所述车辆GPS位置数据均标记相应的班次序号,至此公交线路一天的运行班次全部标记完成。
本发明在一较佳示例中可以进一步配置为:所述步骤3包括以下子步骤,
步骤3.1:计算线路所述匹配权值R1=S1/(S1+T1),R2=S2/(S2+T2);
若R1>80%则dir=1的线路未做调整,否则就有所调整,若R2>80%则dir=2的线路未做调整,否则就有所调整。
本发明在一较佳示例中可以进一步配置为:所述步骤2包括以下子步骤,
步骤2.1:将标记班次的所述车辆GPS位置数据按照时间和班次排序,令i=1,公交线路未调整的班次的个数S1,S2初始值为0,公交线路有调整的班次的个数T1,T2初始值为0;
步骤2.2:利用已有线网坐标位置,拟合原始线路曲线,计算斜率,若dir=1,斜率为k1,若dir=2,斜率为k2;
步骤2.3:计算班次是否能被2整除,若不能,则进入步骤2.4;若能则进入步骤2.5;
步骤2.4:令已有线网斜率k0=k1,并根据本班次位置点拟合公交行驶轨迹曲线,利用相似性度量函数,得到公交轨迹与已有线网相似性度量值NSEQ,判断是否合理,NSEQ>1为不合理,NSEQ<=1为合理,若合理则本班次行驶轨迹与原始线网轨迹匹配S1=S1+1,若不合理则本班次行驶轨迹与原路网轨迹不匹配T1=T1+1,进入步骤2.6;
步骤2.5:令已有线网斜率k0=k2,并根据本班次位置点拟合公交行驶轨迹曲线,利用相似性度量函数,得到公交轨迹与已有线网相似度量值NSEQ,判断是否合理,若合理则本班次行驶轨迹与原始线网轨迹匹配S2=S2+1,若不合理则本班次行驶轨迹与原路网轨迹不匹配T2=T2+1,进入步骤2.6;
步骤2.6:令SEQ=SEQ+1,若SEQ小于等于班次最大值则进入所述步骤2.3,否则进入所述步骤3.1。
综上所述,本发明包括以下至少一种有益技术效果:
1.该方法利用一个城市一天的公交运行数据(包含车辆到离站数据和车辆GPS位置数据),对公交线路调整进行监测。首先结合车辆到离站数据对车辆GPS位置数据进行运行班次划分;接着针对一条公交线路每一个班次的车辆GPS位置数据,与相同运行方向的该线路走向图进行匹配,生成匹配度;最后汇总该线路的所有班次的匹配度,判断该线路是否经过调整。便于及时对公交线路信息进行更新与完善,提高城市公交规划与管理工作的效率。
附图说明
图1为本发明的流程简图。
图2为本发明展示公交运行班次划分的算法流程图。
图3为本发明展示线路是否调整判断流程图。
具体实施方式
以下结合附图对本发明作进一步详细说明。
参照图1,为本发明公开的一种基于公交运行数据的公交线路调整监测方法,包括以下步骤:
步骤1:班次划分,选取A城市一天的公交运行数据,包括车辆到离站数据和车辆GPS位置数据。车辆到离站数据提供了某一公交车辆的运行方向,以及此公交车的进站和离站时间,车辆GPS位置数据提供了某一公交车在每个时间点的经纬度数据。
步骤2:线路走向生成及与原始线路走向匹配,将步骤1划分班次之后的公交运行数据,按照班次和时间排序,将每一个班次所经过的位置点数据,进行公交运行轨迹拟合成曲线,并计算斜率k,将原始线路走向分方向进行曲线拟合,并计算其斜率值k_0。
利用相似性度量函数,分行驶方向计算原始线路走向与本班次行驶轨迹路线相似性度量值NSEQ,
其中d是测量位置点到候选路段的平均垂直投影距离p1、p2分别为夹角和距离的权值,m为可接受的gps点与候选路段的偏移距离,通过判断NSEQ的合理性,来进一步判断本班次公交线路是否进行了调整,根据NSEQ的计算方法,设置当NSEQ>1为不合理,NSEQ<=1为合理;
当dir=1时,用S1表示线路未做调整的班次数,用T1表示线路做了调整的班次数,当dir=2时,用S2表示线路未做调整的班次数,用T2表示线路做了调整的班次数,其中dir表示公交线路的运行方向,为1时表示上行,为2时表示下行;。
步骤3:线路调整判断,由步骤2的计算得到的S1、S2、T1和T2,生成分方向线路匹配权值R1=S1/(S1+T1),R2=S2/(S2+T2),利用匹配权值判断不同行驶方向的线路是否有所调整。
其中,在步骤1中,基于车辆到离站数据对公交线路上的所有车辆进行班次划分,公交车辆在一个运行方向上,从起始站行驶至终点站,为一个班次。将车辆到离站数据按照时间先后排序,依次遍历,班次SEQ从1开始编号,若当前到离站数据记录的运行方向dir与上一条记录的运行方向相同,则班次不变;
若运行方向Dir与上一条数据的运行方向不同,则班次SEQ=SEQ+1。将每班次记录的最小时间和最大时间分别作为该班次的开始时间STARTTIMESEQ和结束时间ENDTIMESEQ。并将每个班次开始时间和结束时间之间的所有车辆GPS位置数据均标记相应的班次序号,得到划分班次后的车辆GPS位置数据。
参照图2,步骤1包括以下子步骤:
步骤1.1:将每辆车运行数据按照到离站时间TIMESTAMP排序,当公交到站离站标签COMORLEA为1时,TIMESTAMP为到站时间用TIMESTAMP到表示;当公交到站离站标签COMORLEA为2时,TIMESTAMP为离站时间用TIMESTAMP离表示,令i=1,SEQ=i。
步骤1.2:逐条遍历数据,若未遍历完则进入步骤1.3;若遍历完进入步骤1.6。
步骤1.3:判断是否是第一条记录,若是,则本条记录的到站时间作为本班次开始时间STARTTIMESEQ=TIMESTAMP到,离开时间作为本班次结束时间ENDTIMESEQ=TIMESTAMP离,然后进入步骤1.4;若不是第一条记录则进入步骤1.5。
步骤1.4:令班次SEQ=i,进入步骤1.2。
步骤1.5:判断此记录运行方向和上一条记录运行方向dir是否一致,若相同则更新本班次结束时间ENDTIMESEQ=TIMESTAMP离。进入步骤1.4,若不同则i=i+1,STARTTIMESEQ=STARTTIMEi=TIMESTAMP到,再进入步骤1.4。
步骤1.6:结合公交线路的一天GPS位置点数据,将每个班次开始时间和结束时间之间的所有车辆GPS位置数据均标记相应的班次序号,至此公交线路一天的运行班次全部标记完成。
参照图3,步骤2包括以下子步骤:
步骤2.1:将标记班次的车辆GPS位置数据按照时间和班次排序,令i=1,公交线路未调整的班次的个数S1,S2初始值为0,公交线路有调整的班次的个数T1,T2初始值为0。
步骤2.2:利用已有线网坐标位置,拟合已有线路曲线,计算斜率,若dir=1,斜率为k1,若dir=2,斜率为k2。
步骤2.3:计算班次是否能被2整除,若不能,则进入步骤2.4;若能则进入步骤2.5。
步骤2.4:令已有线网斜率k0=k1,并根据本班次位置点拟合公交行驶轨迹曲线,利用相似性度量函数,得到公交轨迹与已有线网相似度量值NSEQ,判断是否合理,若合理则本班次行驶轨迹与原始线网轨迹匹配s1=s1+1,若不合理则本班次行驶轨迹与原路网轨迹不匹配T1=T1+1,进入步骤2.6。
步骤2.5:令已有线网斜率k0=k2,并根据本班次位置点拟合公交行驶轨迹曲线,利用相似性度量函数,得到公交轨迹与已有线网相似度量值NSEQ,判断是否合理,若合理则本班次行驶轨迹与原始线网轨迹匹配s2=s2+1,若不合理则本班次行驶轨迹与原路网轨迹不匹配T2=T2+1,进入步骤2.6。
步骤2.6:令SEQ=SEQ+1,若SEQ小于等于班次最大值则进入步骤2.3,否则进入步骤3.1。
进一步的,步骤3包括以下子步骤,步骤3.1:计算线路匹配权值R1=S1/(S1+T1),R2=S2/(S2+T2)。若R1>80%则dir=1的线路未做调整,否则就有所调整,若R2>80%则dir=2的线路未做调整,否则就有所调整。
对于上述步骤2.4和2.5中相似度量值NSEQ利用基于模糊逻辑的计算方法如下:用一个m次多项式Y(X)=b0+b1X+b2X2+…+拟合n个观测数据点(Xi,Yi),i=1,2,…,n。为了求b0,b1,b2,…,bm,根据多元线性回归理论解出方程组,将方程组写成矩阵的行驶为,XTXB=XTY
其中:
XT是X的转置矩阵,另A=XTX,C=XTY,则该问题转化为求解线性代数方程组AB=C。
选取一个班次内所有的GPS位置点做一次拟合曲线,由曲线拟合的原理可知:
其中,(xi,yi),i=1,2,…,n为n个位置点的坐标,由此求得轨迹拟合的斜率k为:
由地图匹配的原理可知k反映了车辆大概的行驶方向,在这里只需关注k。在测量误差允许的范围内,可以规定一个路段和车辆轨迹夹角的阈值(如30度),小于这一角度的路段被认为是可接受的;再考虑车辆的位置信息,可在GPS测量点m米(如30米)的范围内搜索候选路段。这样,就可以得到基于曲线拟合的地图匹配算法评价函数s为:
为了对本发明的特征及其它相关特征作进一步详细说明,以便于同行业技术人员的理解,以下举例说明。
【步骤1】为公交线路的一天GPS位置点数据标记班次信息。
选取深圳一天的公交到离站数据,数据主要包括:公交线路编号:lineid;车辆编号:carno;业务时间:timestamp;公交到站离站标签:comorlea;公交站点的顺序号:stationseqnum;运行方向:dir;
公交到离站数据形式如下表所示:
LINEID | CARNO | TIMESTAMP | COMORLEA | STATIONSEQNUM | DIR |
B649 | 粤BM2683 | 20151203065810 | 1 | 1 | 1 |
B649 | 粤BM2683 | 20151203065816 | 2 | 1 | 1 |
B649 | 粤BM2683 | 20151203070111 | 1 | 2 | 1 |
B649 | 粤BM2683 | 20151203070156 | 2 | 2 | 1 |
B649 | 粤BM2683 | 20151203070411 | 1 | 3 | 1 |
B649 | 粤BM2683 | 20151203070426 | 2 | 3 | 1 |
B649 | 粤BM2683 | 20151203070625 | 1 | 4 | 1 |
B649 | 粤BM2683 | 20151203070641 | 2 | 4 | 1 |
B649 | 粤BM2683 | 20151203070927 | 1 | 5 | 1 |
B649 | 粤BM2683 | 20151203070941 | 2 | 5 | 1 |
B649 | 粤BM2683 | 20151203071155 | 1 | 7 | 1 |
B649 | 粤BM2683 | 20151203071210 | 2 | 7 | 1 |
B649 | 粤BM2683 | 20151203071341 | 1 | 8 | 1 |
B649 | 粤BM2683 | 20151203071350 | 2 | 8 | 1 |
B649 | 粤BM2683 | 20151203071512 | 1 | 9 | 1 |
B649 | 粤BM2683 | 20151203071526 | 2 | 9 | 1 |
步骤1.1:将每辆车运行数据按照到站时间Timestamp排序,i=1,SEQ=i;以LINEID=B649,CARNO=粤BM2683为例,截取部分数据,当TIMESTAMP=20151203065810时,为该车辆的第一条记录,如下图所示:
LINEID | CARNO | TIMESTAMP | COMORLEA | STATIONSEQNUM | DIR |
B649 | 粤BM2683 | 20151203065810 | 1 | 1 | 1 |
B649 | 粤BM2683 | 20151203065816 | 2 | 1 | 1 |
B649 | 粤BM2683 | 20151203070111 | 1 | 2 | 1 |
B649 | 粤BM2683 | 20151203070156 | 2 | 2 | 1 |
B649 | 粤BM2683 | 20151203070411 | 1 | 3 | 1 |
B649 | 粤BM2683 | 20151203070426 | 2 | 3 | 1 |
B649 | 粤BM2683 | 20151203070625 | 1 | 4 | 1 |
B649 | 粤BM2683 | 20151203070641 | 2 | 4 | 1 |
B649 | 粤BM2683 | 20151203070927 | 1 | 5 | 1 |
B649 | 粤BM2683 | 20151203070941 | 2 | 5 | 1 |
B649 | 粤BM2683 | 20151203071155 | 1 | 7 | 1 |
B649 | 粤BM2683 | 20151203071210 | 2 | 7 | 1 |
B649 | 粤BM2683 | 20151203071341 | 1 | 8 | 1 |
B649 | 粤BM2683 | 20151203071350 | 2 | 8 | 1 |
B649 | 粤BM2683 | 20151203071512 | 1 | 9 | 1 |
B649 | 粤BM2683 | 20151203071526 | 2 | 9 | 1 |
步骤1.2:逐条遍历数据,若未遍历完则进入步骤1.3;若遍历完进入步骤1.6;
步骤1.3:判断是否是第一条记录,若是,则本条记录的到站时间作为本班次开始时间STARTTIMESEQ=TIMESTAMP到,离开时间作为本班次结束时间ENDTIMESEQ=TIMESTAMP离,然后进入步骤1.4;若不是第一条记录则进入步骤1.5:
是第一条记录:
以步骤1.1中的结果为例,LINEID=B649,CARNO=粤BM2683,DIR=1,STATIONSEQNUM=1,TIMESTAMP=20151203065810,为车辆粤BM2683的第一条记录,此记录的站点到站时间和离站时间作为本班次的开始时间和结束时间,即STARTTIMESEQ=TIMESTAMP到=20151203065810,ENDTIMESEQ=TIMESTAMP离=20151203065816,结果如下表所示:并转向步骤1.4:
UNEID | CARNO | TIMESTAMP<sub>到</sub> | TIMESTAMP<sub>离</sub> | COMORLEA | STATIONSEQNUM | DIR | STARTTIME<sub>SEQ</sub> | ENDTIME<sub>SEQ</sub> |
B649 | 粤BM2683 | 20151203065810 | 20151203065816 | 1 | 1 | 1 | 20151203065810 | 20151203065816 |
B649 | 粤BM2683 | 20151203070111 | 20151203070156 | 1 | 2 | 1 | ||
B649 | 粤BM2683 | 20151203070411 | 20151203070426 | 1 | 3 | 1 | ||
B649 | 粤BM2683 | 20151203070625 | 20151203070641 | 1 | 4 | 1 | ||
B649 | 粤BM2683 | 20151203070927 | 20151203070941 | 1 | 5 | 1 | ||
B649 | 粤BM2683 | 20151203071155 | 20151203071210 | 1 | 7 | 1 | ||
B649 | 粤BM2683 | 20151203071341 | 20151203071350 | 1 | 8 | 1 | ||
B649 | 粤BM2683 | 20151203071512 | 20151203071526 | 1 | 9 | 1 |
不是第一条记录:
进入步骤1.5:判断此记录运行方向和上一条记录运行方向dir是否一致,若相同则更新本班次结束时间ENDTIMESEQ=TIMESTAMP离;进入步骤1.4;若不同则i=i+1,STARTTIMESEQ=STARTTIMEi=TIMESTAMP到,再进入步骤1.4:
方向一致:以步骤1.1中的第一条记录的下一条记录为例,LINEID=B649,CARNO=粤BM2683,DIR=1,STATIONSEQNUM=2,本条记录与上一条记录的方向dir一致,更新ENDTIMESEQ=TIMESTAMP离=20151203070156,进入步骤1.4,结果见下图:
LINEID | CARNO | TIMESTAMP<sub>到</sub> | TIMESTAMP<sub>离</sub> | COMORLEA | STATIONSEONUM | DIR | STARTTIME<sub>SEQ</sub> | ENDTIME<sub>SEQ</sub> |
B649 | 粤BM2683 | 20151203065810 | 20151203065816 | 1 | 1 | 1 | 20151203065810 | 20151203065816 |
B649 | 粤BM2683 | 20151203070111 | 20151203070156 | 1 | 2 | 1 | 20151203065810 | 20151203070156 |
B649 | 粤BM2683 | 20151203070411 | 20151203070426 | 1 | 3 | 1 | ||
B649 | 粤BM2683 | 20151203070625 | 20151203070641 | 1 | 4 | 1 | ||
B649 | 粤BM2683 | 20151203070927 | 20151203070941 | 1 | 5 | 1 | ||
B649 | 粤BM2683 | 20151203071155 | 20151203071210 | 1 | 7 | 1 | ||
B649 | 粤BM2683 | 20151203071341 | 20151203071350 | 1 | 8 | 1 | ||
B649 | 粤BM2683 | 20151203071512 | 20151203071526 | 1 | 9 | 1 |
方向不一致:遍历班次SEQ=1后的下一条记录,LINEID=B649,CARNO=粤BM2683,DIR=2,STATIONSEQNUM=1,方向与上一条记录不同,令i=i+1=2,并更新STARTTIMESEQ=STARTTIMEi=TIMESTAMP到=20151203072342,进入步骤1.4,结果见下图:
步骤1.4:令运行班次seq=i,进入步骤1.2,结果见下图:
LINEID | CARNO | TIMESTAMP<sub>到</sub> | TIMESTAMP<sub>离</sub> | COMORLEA | STATIONSEQNUM | DIR | STARTTIMES<sub>EQ</sub> | ENDTIME<sub>SEQ</sub> | SEQ |
B649 | 粤BM2683 | 20151203065810 | 20151203065816 | 1 | 1 | 1 | 20151203065810 | 20151203065816 | 1 |
B649 | 粤BM之683 | 20151203070111 | 20151203070156 | 1 | 2 | 1 | |||
B649 | 粤BM2683 | 20151203070411 | 20151203070426 | 1 | 3 | 1 | |||
B649 | 粤BM2683 | 20151203070625 | 20151203070641 | 1 | 4 | 1 | |||
B649 | 粤BM2683 | 20151203070927 | 20151203070941 | 1 | 5 | 1 | |||
B649 | 粤BM2683 | 20151203071155 | 20151203071210 | 1 | 7 | 1 | |||
B649 | 粤BM2683 | 20151203071341 | 20151203071350 | 1 | 8 | 1 | |||
B649 | 粤BM2683 | 20151203071512 | 20151203071526 | 1 | 9 | 1 |
重复步骤1.2、步骤1.3/1.5、步骤1.4,直至遍历数据,保存班次划分结果,进入步骤1.6:
LINEID | CARNO | TIMESTAMP<sub>到</sub> | TIMESTAMP<sub>离</sub> | COMORLEA | STATIONSEQNUM | DIR | STARTTIME<sub>SEQ</sub> | ENDTIME<sub>SEQ</sub> | SEQ |
B649 | 粤BM2683 | 20151203065810 | 20151203065816 | 1 | 1 | 1 | 20151203065810 | 20151203071735 | 1 |
B649 | BM2683 | 20151203070111 | 20151203070156 | 1 | 2 | 1 | 20151203065810 | 20151203071735 | 1 |
B649 | 粤BM2683 | 20151203070411 | 20151203070426 | 1 | 3 | 1 | 20151203065810 | 20151203071735 | 1 |
B649 | 粤BM2683 | 20151203070625 | 20151203070641 | 1 | 4 | 1 | 20151203065810 | 20151203071735 | 1 |
B649 | 粤BM2683 | 20151203070927 | 20151203070941 | 1 | 5 | 1 | 20151203065810 | 20151203071739 | 1 |
B649 | 粤BM2683 | 20151203071155 | 20151203071210 | 1 | 7 | 1 | 20151203065810 | 20151203071735 | 1 |
B649 | 粤BM2683 | 2151203071341 | 20151203071350 | 1 | 8 | 1 | 20151203065810 | 20151203071735 | 1 |
B649 | 粤BM2683 | 2015103071512 | 20151203071526 | 1 | 9 | 1 | 20151203065810 | 20151203071735 | 1 |
B649 | 粤BM2683 | 20151203071710 | 20151203071735 | 1 | 10 | 1 | 20151203065810 | 20151203071735 | 1 |
步骤1.6:结合公交线路的一天GPS位置点数据,将每个班次开始时间和结束时间之间的所有车辆GPS位置数据均标记相应的班次序号。至此公交线路一天的运行班次全部标记完成,结果如下图:
LINEID | CARNO | SEQ | STARTTIME<sub>SEO</sub> | ENDTIME<sub>SEQ</sub> | TIMESTAMP<sub>SEQ</sub> | LON<sub>SEQ</sub> | LAT<sub>SEQ</sub> |
B649 | 粤BM2683 | 1 | 6:58:10 | 7:17:35 | 6:58:10 | 113.995331 | 22.740309 |
B649 | 粤BM2683 | 1 | 6:58:10 | 7:17:35 | 6:58:16 | 113.995071 | 22.74008 |
B649 | 粤BM2683 | 1 | 6:58:10 | 7:17:35 | 6:58:26 | 113.994583 | 22.739737 |
B649 | 粤BM2683 | 1 | 6:58:10 | 7:17:35 | 6:58:40 | 113.993149 | 22.739038 |
B649 | 粤BM2683 | 1 | 6:58:10 | 7:17:35 | 6:58:50 | 113.992271 | 22.738628 |
B649 | 粤BM2683 | 1 | 6:58:10 | 7:17:35 | 6:58:56 | 113.992073 | 22.738546 |
B649 | 粤BM2683 | 1 | 6:58:10 | 7:17:35 | 6:59:11 | 113.992088 | 22.738548 |
B649 | 粤BM2683 | 1 | 6:58:10 | 7:17:35 | 6:59:26 | 113.991928 | 22.73847 |
B649 | 粤BM2683 | 1 | 6:58:10 | 7:17:35 | 6:59:41 | 113.99118 | 22.738075 |
B649 | 粤BM2683 | 1 | 6:58:10 | 7:17:35 | 6:59:41 | 113.991096 | 22.738047 |
B649 | 粤BM2683 | 1 | 6:58:10 | 7:17:35 | 6:59:55 | 113.98996 | 22.737473 |
【步骤2】线路走向生成及与原始线路走向匹配。
将步骤1划分班次之后的公交运行数据,按照班次和时间排序,将每一个班次所经过的位置点数据,进行公交运行轨迹拟合成曲线,并计算斜率k。将原始线路走向分方向进行曲线拟合,并计算其斜率值k0。利用相似性度量函数,分行驶方向计算原始线路走向与本班次行驶轨迹路线相似性度量值NSEQ,通过判断NSEQ的合理性来进一步判断本班次公交线路是否进行了调整,用S1(dir=1时),S2(dir=2时)表示线路未做调整的班次数,用T1(dir=1时),T2(dir=2时)表示线路做了调整的班次数。
以2015年12月3日,LINEID=B649,CARNO=粤BM2683的公交GPS位置数据为例。
步骤2.1将步骤1中标记班次的公交GPS位置数据按照时间(TIMESTAMPSEQ)和班次(SEQ)排序,起始,seq=1,令公交线路不同运行方向(dir=1和dir=2)未调整的班次的个数分别为S1,S2且初始值为0,有调整的班次的个数分别为T1,T2且初始值为0,逐班次遍历;标记班次的公交GPS位置数据见下图:
LINEID | CARNO | SEQ | STARTTIME<sub>SEQ</sub> | ENDTIME<sub>SEQ</sub> | TIMESTAMP<sub>SEQ</sub> | LON<sub>SEQ</sub> | LAT<sub>SEQ</sub> |
B649 | 粤BM2683 | 1 | 6:58:10 | 7:17:35 | 6:58:10 | 113.995331 | 22.740309 |
B649 | 粤BM2683 | 1 | 6:58:10 | 7:17:35 | 6:58:16 | 113.995071 | 22.74008 |
B649 | 粤BM2683 | 1 | 6:58:10 | 7:17:35 | 6:58:26 | 113.994583 | 22.739737 |
B649 | 粤BM2683 | 1 | 6:58:10 | 7:17:35 | 6:58:40 | 113.993149 | 22.739038 |
B649 | 粤BM2683 | 1 | 6:58:10 | 7:17:35 | 6:58:50 | 113.992271 | 22.738628 |
B649 | 粤BM2683 | 1 | 6:58:10 | 7:17:35 | 6:58:56 | 113.992073 | 22.738546 |
B649 | 粤BM2683 | 1 | 6:58:10 | 7:17:35 | 6:59:11 | 113.992088 | 22.738548 |
B649 | 粤BM2683 | 1 | 6:58:10 | 7:17:35 | 6:59:26 | 113.991928 | 22.73847 |
B649 | 粤BM2683 | 1 | 6:58:10 | 7:17:35 | 6:59:41 | 113.99118 | 22.738075 |
B649 | 粤BM2683 | 1 | 6:58:10 | 7:17:35 | 6:59:41 | 113.991096 | 22.738047 |
B649 | 粤BM2683 | 1 | 6:58:10 | 7:17:35 | 6:59:55 | 113.98996 | 22.737473 |
步骤2.2计算已有线网不同运行方向的斜率k1、k2:
利用已有线网站点坐标位置,拟合原始线路曲线,根据公式计算斜率,其中(xi,yi),i=1,2,…,n为n个站点的坐标,dir=1时,斜率k1=-0.009391031,dir=2时,斜率k2=-0.00939104;
步骤2.3判断班次是否能被2整除:
计算班次是否能被2整除,若不能,则进入步骤2.4;若能则进入步骤2.5;
SEQ=1,不能被2整除,进入步骤2.4;
步骤2.4判断本班次行驶轨迹与原始线网轨迹是否匹配:
1)令已有线网斜率k0=k1=-0.009391031;
2)根据本班次位置点拟合公交行驶轨迹曲线,根据公式
计算斜率,其中(xi,yi),i=1,2,…,n为n个位置点的坐标,斜率k=-0.0335645805636246;
3)利用相似性度量函数,得到公交轨迹与已有线网相似性度量值NSEQ,
其中,k是一个班次位置点拟合直线的斜率(即2)中求得的k值);k0为原路网的运行线路的斜率(即1)中得到的k0值);d是测量位置点到候选路段的平均垂直投影距离m为可接受的gps点与候选路段的偏移距离(此实例中设为50米);p1,p2分别为夹角和距离的权值,一般选用p1=0.4,p2=0.6。
由以上数据计算可得,当SEQ=1时,N=1.944803;
4)判断是否合理(NSEQ>1为不合理,NSEQ<=1为合理),若合理则本班次行驶轨迹与原始线网轨迹匹配S1=S1+1;若不合理则本班次行驶轨迹与原路网轨迹不匹配T1=T1+1;进入步骤2.6;
根据经验判断,此实例中规定N>1为不合理,N<=1时为合理;SEQ=1时,N>1,所以T1=T1+1=1,进入步骤2.6
步骤2.6令SEQ=SEQ+1,若SEQ小于等于班次最大值则进入步骤2.3,否则进入步骤3.2;
令SEQ=SEQ+1=2<22(该车辆在该天的最大班次数),进入步骤2.3;
SEQ=2,可以被2整除,进入步骤2.5
步骤2.5判断本班次行驶轨迹与原始线网轨迹是否匹配:
1)令已有线网斜率k0=k2=-0.00939104;
2)根据本班次位置点拟合公交行驶轨迹曲线,根据公式
计算斜率,其中(xi,yi),i=1,2,…,n为n个位置点的坐标,斜率k=-0.00658375123571979;
3)利用相似性度量函数,得到公交轨迹与已有线网相似度量值NSEQ,
其中,k是一个班次位置点拟合直线的斜率(即2)中求得的k值);k0为原路网的运行线路的斜率(即1)中得到的k0值);d是测量位置点到候选路段的平均垂直投影距离m为可接受的gps点与候选路段的偏移距离(此实例中设为50米);p1,p2分别为夹角和距离的权值,一般选用p1=0.4,p2=0.6。
由以上数据计算可得,当SEQ=2时,N=1.942614;
4)判断是否合理,若合理则本班次行驶轨迹与原始线网轨迹匹配S2=S2+1;若不合理则本班次行驶轨迹与原路网轨迹不匹配T2=T2+1;进入步骤2.6;
根据经验判断,此实例中规定N>1为不合理,N<=1时为合理;SEQ=2时,N>1,所以T2=T2+1=1,进入步骤2.6;
直至遍历班次,SEQ大于班次最大值22,进入步骤3.1;
步骤3.1计算线路匹配权值R1=S1/(S1+T1);R2=S2/(S2+T2);若R1>80%则dir=1的线路未做调整,否则就有所调整;若R2>80%则dir=2的线路未做调整,否则就有所调整。
遍历班次,S1=0,T1=11,R1=S1/(S1+T1)=0%<=80%,所以方向为1的B649线路有所调整。S2=0,T2=11,R2=S2/(S2+T2)=0%<=80%,所以方向为2的B649线路有所调整。
本实施例的实施原理为:该方法利用一个城市一天的公交运行数据(包含车辆到离站数据和车辆GPS位置数据),对公交线路调整进行监测。首先结合车辆到离站数据对车辆GPS位置数据进行运行班次划分。
接着针对一条公交线路每一个班次的车辆GPS位置数据,与相同运行方向的该线路走向图进行匹配,生成匹配度;最后汇总该线路的所有班次的匹配度,判断该线路是否经过调整。便于及时对公交线路信息进行更新与完善,提高城市公交规划与管理工作的效率。
本具体实施方式的实施例均为本发明的较佳实施例,并非依此限制本发明的保护范围,故:凡依本发明的结构、形状、原理所做的等效变化,均应涵盖于本发明的保护范围之内。
Claims (5)
1.一种基于公交运行数据的公交线路调整监测方法,其特征在于:包括以下步骤,
步骤1:班次划分,选取A城市一天的公交运行数据,包括车辆到离站数据和车辆GPS位置数据;
所述车辆到离站数据提供了某一公交车辆的运行方向,以及此公交车的进站和离站时间,所述车辆GPS位置数据提供了某一公交车在每个时间点的经纬度数据;
步骤2:线路走向生成及与原始线路走向匹配,将所述步骤1划分班次之后的公交运行数据,按照班次和时间排序,将每一个班次所经过的位置点数据,进行公交运行轨迹拟合成曲线,并计算斜率k,将原始线路走向分方向进行曲线拟合,并计算其斜率值k0;
利用相似性度量函数,分行驶方向计算原始线路走向与本班次行驶轨迹路线相似性度量值NSEQ,
其中d是测量位置点到候选路段的平均垂直投影距离p1、p2分别为夹角和距离的权值,m为可接受的gps点与候选路段的偏移距离,通过判断NSEQ的合理性,来进一步判断本班次公交线路是否进行了调整,根据NSEQ的计算方法,设置当NSEQ>1为不合理,NSEQ<=1为合理;
当dir=1时,用S1表示线路未做调整的班次数,用T1表示线路做了调整的班次数,当dir=2时,用S2表示线路未做调整的班次数,用T2表示线路做了调整的班次数,其中dir表示公交线路的运行方向,为1时表示上行,为2时表示下行;
步骤3:线路调整判断,由所述步骤2的计算得到的S1、S2、T1和T2,生成分方向线路匹配权值R1=S1/(S1+T1),R2=S2/(S2+T2),利用所述匹配权值判断不同行驶方向的线路是否有所调整。
2.根据权利要求1所述的一种基于公交运行数据的公交线路调整监测方法,其特征在于:在所述步骤1中,基于所述车辆到离站数据对公交线路上的所有车辆进行班次划分,公交车辆在一个运行方向上,从起始站行驶至终点站,为一个班次;
将所述车辆到离站数据按照时间先后排序,依次遍历,班次SEQ从1开始编号,若当前到离站数据记录的运行方向dir与上一条记录的运行方向相同,则班次不变;
若运行方向dir与上一条数据的运行方向不同,则班次SEQ=SEQ+1;
将每班次记录的最小时间和最大时间分别作为该班次的开始时间STARTTIMESEQ和结束时间ENDTIMESEQ;
并将每个班次开始时间和结束时间之间的所有所述车辆GPS位置数据均标记相应的班次序号,得到划分班次后的所述车辆GPS位置数据。
3.根据权利要求2所述的一种基于公交运行数据的公交线路调整监测方法,其特征在于:所述步骤1包括以下子步骤,
步骤1.1:将每辆车运行数据按照到离站时间TIMESTAMP排序,当公交到站离站标签COMORLEA为1时,TIMESTAMP为到站时间用TIMESTAMP到表示;当公交到站离站标签COMORLEA为2时,TIMESTAMP为离站时间用TIMESTAMP离表示,令i=1,SEQ=i;
步骤1.2:逐条遍历数据,若未遍历完则进入步骤1.3;若遍历完进入步骤1.6;
步骤1.3:判断是否是第一条记录,若是,则本条记录的到站时间作为本班次开始时间STARTTIMESEQ=TIMESTAMP到,离开时间作为本班次结束时间ENDTIMESEQ=TIMESTAMP离,然后进入步骤1.4;若不是第一条记录则进入步骤1.5;
步骤1.4:令班次SEQ=i,进入所述步骤1.2;
步骤1.5:判断此记录运行方向和上一条记录运行方向dir是否一致,若相同则更新本班次结束时间ENDTIMESEQ=TIMESTAMP离;
进入所述步骤1.4,若不同则i=i+1,STARTTIMESEQ=STARTTIMEi=TIMESTAMP到,再进入所述步骤1.4;
步骤1.6:结合公交线路的一天GPS位置点数据,将每个班次开始时间和结束时间之间的所有所述车辆GPS位置数据均标记相应的班次序号,至此公交线路一天的运行班次全部标记完成。
4.根据权利要求3所述的一种基于公交运行数据的公交线路调整监测方法,其特征在于:所述步骤3包括以下子步骤,
步骤3.1:计算线路所述匹配权值R1=S1/(S1+T1),R2=S2/(S2+T2);
若R1>80%则dir=1的线路未做调整,否则就有所调整,若R2>80%则dir=2的线路未做调整,否则就有所调整。
5.根据权利要求4所述的一种基于公交运行数据的公交线路调整监测方法,其特征在于:所述步骤2包括以下子步骤,
步骤2.1:将标记班次的所述车辆GPS位置数据按照时间和班次排序,令i=1,公交线路未调整的班次的个数S1,S2初始值为0,公交线路有调整的班次的个数T1,T2初始值为0;
步骤2.2:利用已有线网坐标位置,拟合原始线路曲线,计算斜率,若dir=1,斜率为k1,若dir=2,斜率为k2;
步骤2.3:计算班次是否能被2整除,若不能,则进入步骤2.4;若能则进入步骤2.5;
步骤2.4:令已有线网斜率k0=k1,并根据本班次位置点拟合公交行驶轨迹曲线,利用相似性度量函数,得到公交轨迹与已有线网相似性度量值NSEQ,判断是否合理,NSEQ>1为不合理,NSEQ<=1为合理,若合理则本班次行驶轨迹与原始线网轨迹匹配S1=S1+1,若不合理则本班次行驶轨迹与原路网轨迹不匹配T1=T1+1,进入步骤2.6;
步骤2.5:令已有线网斜率k0=k2,并根据本班次位置点拟合公交行驶轨迹曲线,利用相似性度量函数,得到公交轨迹与已有线网相似度量值NSEQ,判断是否合理,若合理则本班次行驶轨迹与原始线网轨迹匹配S2=S2+1,若不合理则本班次行驶轨迹与原路网轨迹不匹配T2=T2+1,进入步骤2.6;
步骤2.6:令SEQ=SEQ+1,若SEQ小于等于班次最大值则进入所述步骤2.3,否则进入所述步骤3.1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010704071.5A CN111862662B (zh) | 2020-07-21 | 2020-07-21 | 一种基于公交运行数据的公交线路调整监测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010704071.5A CN111862662B (zh) | 2020-07-21 | 2020-07-21 | 一种基于公交运行数据的公交线路调整监测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111862662A CN111862662A (zh) | 2020-10-30 |
CN111862662B true CN111862662B (zh) | 2021-08-20 |
Family
ID=73001789
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010704071.5A Active CN111862662B (zh) | 2020-07-21 | 2020-07-21 | 一种基于公交运行数据的公交线路调整监测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111862662B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113212454B (zh) * | 2021-05-20 | 2023-05-12 | 中国第一汽车股份有限公司 | 车辆行驶状态的调整方法、装置、计算机设备和存储介质 |
CN113538729B (zh) * | 2021-06-22 | 2023-07-11 | 青岛海信网络科技股份有限公司 | 一种gps数据处理方法及服务器 |
CN114936959B (zh) * | 2022-06-17 | 2023-05-23 | 上海市城乡建设和交通发展研究院 | 实现车辆匹配和乘客上车点的识别方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104318766A (zh) * | 2014-10-22 | 2015-01-28 | 北京建筑大学 | 一种公交gps轨迹数据的路网匹配方法 |
KR20160081051A (ko) * | 2014-12-30 | 2016-07-08 | 주식회사 아이티원 | 근거리 무선통신 기반의 버스정보 시스템 |
CN107154148A (zh) * | 2016-03-03 | 2017-09-12 | 常州普适信息科技有限公司 | 一种公交线路拟合的方法 |
CN107403550A (zh) * | 2016-05-20 | 2017-11-28 | 高德信息技术有限公司 | 公交路网数据采集方法、装置和终端设备 |
CN109871423A (zh) * | 2019-02-26 | 2019-06-11 | 武汉元光科技有限公司 | 公交线路脊线的更新方法及装置 |
-
2020
- 2020-07-21 CN CN202010704071.5A patent/CN111862662B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104318766A (zh) * | 2014-10-22 | 2015-01-28 | 北京建筑大学 | 一种公交gps轨迹数据的路网匹配方法 |
KR20160081051A (ko) * | 2014-12-30 | 2016-07-08 | 주식회사 아이티원 | 근거리 무선통신 기반의 버스정보 시스템 |
CN107154148A (zh) * | 2016-03-03 | 2017-09-12 | 常州普适信息科技有限公司 | 一种公交线路拟合的方法 |
CN107403550A (zh) * | 2016-05-20 | 2017-11-28 | 高德信息技术有限公司 | 公交路网数据采集方法、装置和终端设备 |
CN109871423A (zh) * | 2019-02-26 | 2019-06-11 | 武汉元光科技有限公司 | 公交线路脊线的更新方法及装置 |
Non-Patent Citations (1)
Title |
---|
基于公交乘客流构成划分的公交线路拟合研究;王国成;《中国优秀硕士学位论文全文数据库工程科技Ⅱ辑》;20131215;第C034-67页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111862662A (zh) | 2020-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111862662B (zh) | 一种基于公交运行数据的公交线路调整监测方法 | |
CN107563566B (zh) | 一种基于支持向量机的公交站间运行时间区间预测方法 | |
CN108021686B (zh) | 一种快速匹配电子地图中公交线路与道路网络的方法 | |
CN103985247B (zh) | 基于城市叫车需求分布密度的出租车运力调度系统 | |
CN111653094B (zh) | 一种基于手机信令数据且含路网修正的城市出行方式综合识别方法 | |
CN107944611B (zh) | 面向个性化出行需求的跨模式组合出行规划方法 | |
CN103295414A (zh) | 一种基于海量历史gps轨迹数据的公交车到站时间预测方法 | |
CN110929910A (zh) | 公交线路调整方法和装置 | |
WO2014199503A1 (ja) | 交通需要制御装置 | |
CN114446051A (zh) | 一种城市路网交通韧性薄弱识别方法 | |
CN109637134A (zh) | 一种公交设备匹配方法 | |
CN104282142B (zh) | 一种基于出租车gps数据的公交站台设置方法 | |
CN107978169A (zh) | 一种对多源数据来源下的公交站点位置纠偏的方法 | |
CN113177742A (zh) | 基于智能交通的公交服务方法、系统、终端及存储介质 | |
CN110414113A (zh) | 自动生成铁路站场平面总体布置图的方法 | |
CN107798440B (zh) | 一种基于线路候选集的地铁接驳巴士线路规划方法 | |
CN109816982A (zh) | 基于共享单车轨迹的虚拟路网非机动车道属性修正方法 | |
CN116504050A (zh) | 一种基于多模式公共交通出行数据的特殊事件城市分区方法 | |
CN115496316A (zh) | 一种基于多源数据的公交线路客流动态分配方法 | |
CN113344268A (zh) | 一种城市交通出行数据分析方法 | |
CN116204576B (zh) | 一种公共交通数据生成gtfs格式数据的生成方法及系统 | |
CN115691128B (zh) | 一种基于多源公交数据联合挖掘的公交站点客流推算方法 | |
CN111007544A (zh) | 一种基于线路轨迹的公交车前后车距离测算方法 | |
CN115662124A (zh) | 一种基于网络编码的gps轨迹数据路段流量匹配方法 | |
CN114999162A (zh) | 一种道路交通流量获取方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |