基于公交GPS数据与站点信息提取公交线路轨迹的方法与流程

文档序号:20910261发布日期:2020-05-29 12:59阅读:692来源:国知局
基于公交GPS数据与站点信息提取公交线路轨迹的方法与流程

本发明涉及公交历史gps数据处理与分析技术领域,尤其是涉及一种基于公交gps数据与站点信息提取公交线路轨迹的方法。



背景技术:

智能公交是城市交通信息化发展的重要方向,通过公交信息化建设,将提升公交便捷性、智能化。智能公交是未来公共交通发展的必然模式,对缓减日益严重的交通拥堵问题有着重大的意义。

公交gps数据是支撑智能公交建设最重要的数据之一,目前公交gps定位虽较为准确,但在实际应用中仍受地形、天气、路况等因素的影响,有时会发生较大的偏移,从而降低公交gps数据的质量。

对公交gps数据进行处理与分析,能够从中准确提取公交线路的具体轨迹,而其又是进行公交站距计算、公交电子围栏绘制、路况分析以及公交到站时间预测的基础,对公交公司进行公交实时监控、公交报表统计以及公交大数据分析有着重要意义。

现有的公交车线路轨迹的获取方式主要是根据公交车某一条或某几条运营轨迹直接获取公交车线路轨迹,这种方式简单易行且多数情况下能够基本确认公交车线路轨迹,但由于公交gps数据在很多情况下存在较大偏移,容易产生偏离站点线路的轨迹,与实际线路轨迹不符的情况。



技术实现要素:

本发明的发明目的是为了克服现有技术中的公交gps数据在很多情况下存在较大偏移,容易产生偏离站点线路轨迹的不足,提供了一种基于公交gps数据与站点信息提取公交线路轨迹的方法。

为了实现上述目的,本发明采用以下技术方案:

一种基于公交gps数据与站点信息提取公交线路轨迹的方法,包括如下步骤:

(1-1)获取某市所有公交线路的站点数据,对站点数据进行预处理;

(1-2)对站点数据进行归一化处理,对所有站点的站点经纬度进行分析,若站点的站点经纬度存在2个以上,则采用改进的kmeans聚类算法对站点经纬度进行聚类,得到新的站点经纬度;

(1-3)采集一定时间段内,经度位于[lo1,lo2],纬度位于[la1,la2]的a线路,d方向的所有公交车的gps数据,根据公交车的车牌号对gps数据进行分组,得到每辆公交车的gps数据,然后将每辆公交车的gps数据按时间前后进行排序;

(1-4)确定每辆公交车在a线路上的若干条线路轨迹,每条线路轨迹均对应1个完整班次;

(1-5)对所有的线路轨迹进行清洗,得到若干条候选线路轨迹;

(1-5)从各条候选线路轨迹中,确定一条参考线路轨迹;

(1-6)根据参考线路轨迹与各条候选线路轨迹,确定一条融合后的线路轨迹,得到a线路,d方向上的一条公交行驶轨迹。

作为优选,获取某市所有公交线路的站点数据,对于任意站点,若在某线路上缺失经纬度,而在其它线路上存在正常经纬度,则使用正常经纬度填补缺失的经纬度;若该站点在所有的线路上都缺失经纬度,则删除该站点。

作为优选,(1-2)包括如下具体步骤:

对所有站点进行分析,若某站点的经纬度存在2个以上,采用改进的kmeans聚类算法对站点进行聚类,得到新的站点经纬度。改进的kmeans聚类算法的基本原理如下:

①随机选取k个点,作为初始类质心;

②遍历所有点数据,将每个点数据划分到最近的质心类中;

③计算每个类的平均值,并作为新的类质心;

④重复②-③,直到k个类质心不再发生变化或执行的迭代次数达到阈值max_item;

⑤计算每个类的平均距离,若每个类的平均距离均小于距离阈值dist_limit,则结束聚类过程,否则令k值增加n,返回①,其中,n为平均距离超过dist_limit的类的个数。

作为优选,(1-4)包括如下具体步骤:

计算每辆公交车所有gps点与a线路d方向上的i站点之间的距离,若距离小于match_dist,则视该gps点为i站附近的点;i站为首站或末站;

对于每辆公交车在i站附近的所有gps点,按时间前后排序,计算相邻gps点间的时间差,根据每辆公交车相邻班次的发车时间间隔,确定不同班次首末站附近的gps点,每个班次中的gps点即对应一个公交车班次在线路a上的一条线路轨迹;

计算不同公交车班次中i站附近的gps点中每个经纬度出现的个数及与i站的距离,选取出现个数最多、与i站距离最近的经纬度作为i站靠站经纬度,若该经纬度在i站附近出现多个,并且i站为首站,则取该经纬度出现的最后一个gps时间点作为i站靠站gps点;若该经纬度在i站附近出现多个,并且i站为末站,则取该经纬度出现的第一个gps时间点作为i站靠站gps点;

将每辆公交车的i站靠站gps点按时间前后排序,若连续的两个i站靠站gps点的时间差位于[shift_time_1,shift_time_2]之间,则视该两个gps点为一辆车一个完整班次的首站靠站点和末站靠站点,两个gps点时间范围内的同一辆车的gps点为完整班次的轨迹点,从而得到线路a上的若干个班次的线路轨迹。

作为优选,两个gps点间距离的计算公式如下:

其中,g1=(lo1,la1),g2=(lo2,la2)为两个gps点的经纬度坐标,lo1,lo2,la1,la2均为弧度单位,6378137为赤道半径。

作为优选,(1-5)包含以下清洗过程:

①删除轨迹点总数小于num_limit的班次的线路轨迹,num_limit=tshift/ts,tshift为预设的一个班次的最短行驶时间,ts为gps数据上传的时间间隔;

②删除相邻gps点时间间隔最大值大于time_limit的班次的线路轨迹,time_limit=ns×ts,ns为允许数据连续缺失上传的最大次数;

③删除每个班次的线路轨迹中相邻gps点间距小于dist_limit的前一个gps点,即删除停靠时重复产生的gps点或移动变化较小的gps点;

④计算每个班次的线路轨迹中,在线路a上靠站的站点个数、相邻gps点间距的最大值、线路轨迹总行驶路程,其中靠站站点即站点match_dist范围内存在gps点的站点;删除靠站站点个数少于80%线路站点总数的线路轨迹,删除相邻gps点的最大间距大于所有班次的线路轨迹相邻gps点的最大间距平均值的线路轨迹,得到若干条候选线路轨迹。

作为优选,(1-6)包括如下步骤:

从各条候选线路轨迹中选取靠站站点数最多、相邻gps点的最大间距最小、总行驶里程最小的线路轨迹作为参考线路轨迹。

作为优选,(1-7)包括如下具体步骤:

基于参考线路轨迹,依次获取每个候选线路轨迹中与参考线路轨迹中每个gps点距离最近且距离小于match_dist的gps点集其中gpi为第i条候选线路轨迹中距离参考线路轨迹中第j个gps点最近的gps点,n为候选线路轨迹的数量;

依次计算参考线路轨迹中每个gps点对应的gps点集的中心点,作为新的轨迹点,得到一条融合后的线路轨迹;

计算融合后的线路轨迹中相邻gps点间的距离,若间距大于insert_dist,则在相邻gps点的中间位置插补线路轨迹中间gps点,最终确定a线路,d方向上的一条公交行驶轨迹。

因此,本发明具有如下有益效果:

①本发明对数据库中存储的公交站点信息进行了预处理,对经纬度缺失的站点进行了填补,对同站点多个经纬度进行了归一化,确定每个站点唯一对应的经纬度,有利于展示清晰的全网公交站点分布图;

②本发明结合站点信息与公交gps历史数据获得的公交线路轨迹,有效避免了获得有明显偏移走向的公交线路轨迹;

③本发明采用融合技术,对公交原始线路轨迹进行平滑处理,避免了轨迹中部分gps点偏移的问题,使得到的线路轨迹更接近路网道路。

附图说明

图1是本发明的一种流程图;

图2是本发明的候选线路轨迹与参考线路轨迹的一种局部示意图;

图3是本发明的参考线路轨迹与融合线路轨迹的一种局部示意图;

图4本发明的融合线路轨迹与道路中心线匹配的一种示意图。

具体实施方式

下面结合附图和具体实施方式对本发明做进一步的描述。

如图1所示的实施例是一种基于公交gps数据与站点信息提取公交线路轨迹的方法,包括如下步骤:

通过以下方法得到杭州市余杭区465路公交车从青山站开往余杭站方向的线路轨迹,具体步骤如下:

1)获取杭州市余杭区所有公交线路的站点数据,对于任意站点,若在某线路上缺失经纬度(即经纬度为0),而在其它线路上存在正常经纬度,则使用正常经纬度填补缺失的经纬度;若任意站点的所有线路都缺失经纬度,则删除该站点。

2)将1)中过滤后的站点数据进行归一化处理,对所有站点进行分析,若某站点的经纬度存在2个以上(正常情况下,两个方向两个站点位置),采用改进的kmeans聚类算法对站点进行聚类,得到新的站点经纬度;

改进的kmenas聚类算法的基本原理如下:

①随机选取k个点,作为初始类质心,初始k=1;

②遍历所有点数据,将每个点数据划分到最近的质心类中;

③计算每个类的平均值,并作为新的类质心;

④重复②-③,直到这k个类质心不再发生变化或执行的迭代次数达到10次;

⑤计算每个类的平均距离,若每个类的平均距离均小于距离阈值50m,则结束聚类过程,否则令k=k+n,返回①,其中n为平均距离超过50m的类个数;

3)采集2019年9月9日至2019年9月15日共7天,且经度位于[118.35,120.51],纬度位于[29.18,30.55]间的465路公交线路从青山站开往余杭站方向的所有公交gps数据,根据公交车的车牌号对gps数据进行分组,得到每辆公交车的gps数据,然后将每辆公交车的gps数据按时间前后进行排序;

4)计算每辆公交车所有gps点与465路公交线路从青山站开往余杭站方向的线路上的i站点之间的距离,若距离小于200m,则视该gps点为i站附近的点;i站为首站或末站;

对于每辆公交车在i站附近的所有gps点,按时间前后排序,计算相邻gps点间的时间差,根据每辆公交车相邻班次的发车时间间隔,确定不同班次首末站附近的gps点,每个班次中的gps点即对应一个公交车班次在线路上的一条线路轨迹;

计算不同公交车班次中i站附近的gps点中每个经纬度出现的个数及与i站的距离,选取出现个数最多、与i站距离最近的经纬度作为i站靠站经纬度,若该经纬度在i站附近出现多个,并且i站为首站,则取经纬度出现的最后一个gps时间点作为i站靠站gps点;若该经纬度在i站附近出现多个,并且i站为末站,则取经纬度出现的第一个gps时间点作为i站靠站gps点;

将每辆公交车的i站靠站gps点按时间前后排序,若连续的两个i站靠站gps点的时间差位于[420s,10800s]之间,则视该两个gps点为一辆车完整班次的首站靠站点和末站靠站点,两个gps点时间范围内的同一辆车的gps点为完整班次的轨迹点,从而得到线路上的多个班次的线路轨迹。

5)对所有的班次进行清洗,具体如下:

①删除轨迹点总数小于num_limit的班次的线路轨迹,num_limit=tshift/ts,tshift为预设的一个班次的最短行驶时间,设为420s,ts为gps数据上传的时间间隔;

②删除相邻gps点时间间隔最大值大于time_limit的班次的线路轨迹,time_limit=ns×ts,ns为允许数据连续缺失上传的最大次数,设为20;

③删除每个班次的线路轨迹中相邻gps点间距小于5m的前一个gps点;即删除停靠时重复产生的gps点或移动变化较小的gps点;

④计算每个班次的线路轨迹中,在线路上靠站的站点个数、相邻gps点间距的最大值、线路轨迹总行驶路程,其中靠站站点即站点200m范围内存在gps点的站点;删除靠站站点个数少于80%线路站点总数的线路轨迹,删除相邻gps点的最大间距大于所有班次的线路轨迹相邻gps点的最大间距平均值的线路轨迹,得到多条候选线路轨迹。

6)依次将多条候选线路轨迹按靠站站点数顺序、相邻gps点的最大间距倒序、班次总行驶里程倒序排列,取首条线路轨迹作为参考线路轨迹。候选线路轨迹与参考线路轨迹的局部示意图如图2所示。

7)基于参考线路轨迹,依次获取每个候选线路轨迹中与参考线路轨迹中每个gps点距离最近且距离小于200m的gps点集其中gpi为第i条候选线路轨迹中距离参考线路轨迹中第j个gps点最近的gps点,n为候选线路轨迹的数量。然后依次计算参考线路轨迹中每个gps点对应的gps点集的中心点,作为新的轨迹点,从而得到一条融合后的线路轨迹。计算融合后线路轨迹中相邻gps点间的距离,若间距大于50m,则插补线路轨迹中间gps点,最终确定该线路该方向上的公交行驶轨迹。参考线路轨迹与融合线路轨迹的局部示意图如图3所示,融合线路轨迹与道路中心线匹配的效果图如图4所示。

应理解,本实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1