一种公交运营信息获取方法_3

文档序号:8381788阅读:来源:国知局
存中将该队列存储为队列T。
[0084]设队列T中共有N个GPS位置信息,N>1。因为队列T是按照时间顺序进行排列的队列,所以其中第I个GPS位置信息为统计日期当天最早记录的第I个GPS位置信息,将该第I个GPS位置信息记为G1,其中第N个GPS位置信息为统计日期当天最晚记录的最后一个GPS位置信息,将该第N个GPS位置信息记为Gn,将该队列T中任意一个GPS位置信息,即第η个GPS位置信息(I彡η彡N),记为Gn。
[0085]步骤3、将按照时间顺序进行排列的公交车的GPS位置信息与所述始发站和终点站的GPS位置信息进行比较。
[0086]本步骤3中,参见图2所示,以第一距离为200米为例,以始发站A的GPS位置为圆心,半径在200米范围内的区域记为始发站A区域,即图2中围绕始发站A的虚线圆区域;以终点站B的GPS位置为圆心,半径在200米范围内的区域记为终点站B区域,即图2中围绕始发站B的虚线圆区域。公交车在运营过程中往返于始发站A和终点站B之间,如图2中箭头线段所示。
[0087]从η=1开始到η=Ν,η依次递增1,以遍历队列T中的所有的公交车的GPS位置信息,以进行公交车的GPS位置信息与所述始发站和终点站的GPS位置信息的比较,具体包括如下301到步骤306:
[0088]步骤301、将η初始化为I,之后进入步骤302。
[0089]步骤302、从队列T中获取公交车的第η个GPS位置信息,之后进入步骤303。
[0090]步骤303:
[0091]根据公式(1),即根据公式:
[0092]Δ GnA = R* arccos [sinxn.sinXA+cosxn.cosXA.cos (yn~YA)]
[0093]获得公交车的第η个GPS位置与所述始发站A之间的距离,其中,Xn为所述公交车的第η个GPS位置中的纬度,yn为所述公交车的第η个GPS位置中的经度,Λ GnA为队列T中的公交车第η个GPS位置与始发站A之间的距离;
[0094]根据公式(2),即根据公式:
[0095]Δ GnB = R* arccos [sinxn.sinXB+cosxn.cosXB.cos (yn~YB)]
[0096]获得公交车的第η个GPS位置与所述终点站B之间的距离,其中,AGnB为队列T中的公交车第η个GPS位置与终点站B之间的距离;
[0097]之后进入步骤304。
[0098]步骤304、判断Λ GnA是否小于等于200米:
[0099]如果AGnA小于等于200米,则说明公交车第η个GPS位置处于始发站A内,此时,将“Gn”加入内存队列Q中,用字符“a”(也可采用其他形式)表示公交车第η个GPS位置处于始发站A内,将字符“a”加入队列W中,之后进入步骤306 ;
[0100]如果Λ GnA大于200米,则说明公交车第η个GPS位置处于始发站A以外的地方,之后进入步骤305。
[0101]步骤305、判断AGnB是否小于等于200米:
[0102]如果Λ GnB小于等于200米,则说明公交车第η个GPS位置处于终点站B内,此时,将“Gn”加入内存队列Q中,用字符“b”(也可采用其他形式)表示公交车第η个GPS位置处于终点站B内,将字符“b”加入队列W中,之后进入步骤306。
[0103]步骤306、n=n+l,并判断η是否小于等于N:
[0104]如果η ( N,则说明没有遍历完队列T中所有的公交车的GPS位置信息,进入步骤302 ;
[0105]如果η>Ν,则说明已经遍历完成队列T中所有的公交车的GPS位置信息,结束步骤301到步骤306的流程。
[0106]上述步骤301到步骤306的流程中,如果AGnA大于200米且AGnB大于200米,则说明公交车第η个GPS位置处于始发站A和终点站B以外的地方,此时的公交车便认为是在始发站A和终点站B之间的运营线路上进行运营。本实施例中,处于运营状态的公交车的GPS位置信息不在上述流程中进行记录,当然,根据需要,也可以进行记录。
[0107]经过上述步骤301到步骤306的流程后,可得到类似图3所示的比较结果。图3为本发明实施例中公交车在统计日期中的在始发站A和终点站B停留的序列示意图,需要说明的是,图3所示内容,并非实际一天之中的统计结果,仅作为说明之用。
[0108]步骤4、确定所述公交车在始发站A的停留时间、在终点站B的停留时间、离开所述始发站A的时刻、到达所述终点站B的时刻、离开所述终点站B的时刻和到达所述始发站A的时刻。
[0109]因为公交车一天之中在站点(始发站Α、终点站B)内具有一定的停留时间,所以,在该段停留时间内,每当到达记录公交车的GPS位置信息的时刻时,便记录一次公交车的GPS位置信息,所以会获得多个处于站点内的GPS位置信息,并且停留时间越长,处于站点内的GPS位置信息就越多。
[0110]如图3所示,按照时间先后顺序排序的队列T和与其对应的队列W中,便可以得到在一段时间内出现的连续多个表示在始发站A或者始发站B的结果。例如,在队列T中的“G/’到“G6”,对应于队列W中的一连串的“a”,这就表示了在记录“G/’的公交车GPS位置信息的时刻开始到记录“G6”的公交车GPS位置信息的时刻这段时间内,公交车位于始发站A的区域内,即这段时间内公交车位于始发站A ;在队列T中的“Gn”到“G15”,对应于队列W中的一连串的“b”,这就表示了在记录“Gn”的公交车GPS位置信息的时刻开始到记录“G15”的公交车GPS位置信息的时刻这段时间内,公交车位于终点站B的区域内,即这段时间内公交车位于终点站B。
[0111]进一步地,通过一连串的“a”和一连串的“b”也可以获得所述公交车离开所述始发站A、到达所述终点站B、离开所述终点站B、到达所述始发站A的时间,即:一连串的“a”中的第一个“a”所对应的公交车GPS位置信息的采集时刻(例如“G/’、“G19”的采集时刻)为所述公交车到达所述始发站A的时刻;一连串的“a”中的最后一个“a”所对应的公交车GPS位置信息的采集时刻(例如“G6”的采集时刻)为所述公交车离开所述始发站A的时刻;一连串的“b”中的第一个“b”所对应的公交车GPS位置信息的采集时刻(例如“Gn”的采集时刻)为所述公交车到达所述终点站B的时刻;一连串的“b”中的最后一个“b”所对应的公交车GPS位置信息的采集时刻(例如“G15”的采集时刻)为所述公交车离开所述终点站B的时刻。
[0112]由上述说明可以看出,本步骤4中:
[0113]确定所述公交车在始发站A的停留时间的方法为:将连续出现的多个位于始发站A区域内的结果所对应的时间段,确定为所述公交车在始发站A的停留时间;
[0114]确定所述公交车在终点站B的停留时间的方法为:将连续出现的多个位于终点站B区域内的结果所对应的时间段,确定为所述公交车在终点站B的停留时间;
[0115]所述公交车到达所述始发站A的时刻的方法为:将连续出现的多个位于始发站A区域内的结果中的第一个结果所对应的公交车GPS位置信息的采集时刻,确定为所述公交车到达所述始发站A的时刻;
[0116]所述公交车离开所述始发站A的时刻的方法为:将连续出现的多个位于始发站A区域内的结果中的最后一个结果所对应的公交车GPS位置信息的采集时刻,确定为所述公交车离开所述始发站A的时刻;
[0117]所述公交车到达所述终点站B的时刻的方法为:将连续出现的多个位于终点站B区域内的结果中的第一个结果所对应的公交车GPS位置信息的采集时刻,确定为所述公交车到达所述终点站B的时刻;
[0118]所述公交车离开所述终点站B的时刻的方法为:将连续出现的多个位于终点站B区域内的结果中的最后一个结果所对应的公交车GPS位置信息的采集时刻,确定为所述公交车离开所述终点站B的时刻。
[0119]步骤5、确定所述公交车在所述始发站和终点站之间运营的总趟次。
[0120]公交车的正常运营过程是不断地往返于始发站A和终点站B的过程。从图3中所示可以看出,在一连串的“a”和一连串的“b”之间的未被记录于始发站A区域和终点站B区域的GPS位置信息,即为运营在线路上的公交车GPS位置信息。所以,在队列W中便可以得到,当由一连串的“a”变为一连串的“b”,之后又变为一连串的“a”时,则表明了公交车已经从始发站A出发,并到达了终点站B,之后又返回了始发站A,这便是公交车完成了一趟次的运营。所以,在图3所示的队列W中每一次a — b — a的变换,便是
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1