一种基于公交gps轨迹构建电子地图路网的方法

文档序号:154691 发布日期:2021-10-26 浏览:46次 >En<

阅读说明:本技术 一种基于公交gps轨迹构建电子地图路网的方法 (Method for constructing electronic map road network based on bus GPS track ) 是由 张道林 陈万江 王传星 何春明 计佳 王逸翔 于 2021-07-19 设计创作,主要内容包括:本发明公开了一种基于公交GPS轨迹构建电子地图路网的方法,涉及交通领域,首先,由于本研究只关心有公交行驶的道路,所以本研究使用已有的公交行驶数据,处理得到需要的路口,获取它们的位置信息、道路信息,保存为节点信息;同样的道理,本研究仅需要有公交的道路,因此仍然使用公交行驶数据作为参考,找出节点之间的连接关系,并记录它们的方向、道路名,保存为路段数据;为了方便管理,统一添加道路限速等信息,将同名同向的路段头尾相接合并为统一路段;最后调用高德的路径规划接口,由路段首尾位置信息获取路段路径信息。(The invention discloses a method for constructing an electronic map road network based on a bus GPS track, which relates to the field of traffic.A research only concerns roads on which buses run, so that the research uses the existing bus running data to process and obtain required intersections, acquire position information and road information of the intersections and store the position information and the road information as node information; in the same way, the research only needs the roads of buses, so that the public bus driving data are still used as reference, the connection relation between the nodes is found out, the directions and road names of the nodes are recorded, and the nodes are stored as road section data; for convenience of management, information such as road speed limit and the like is added in a unified mode, and the road sections with the same name and the same direction are connected end to form a unified road section; and finally, calling a route planning interface of the God, and acquiring route information of the road section according to the head and tail position information of the road section.)

一种基于公交GPS轨迹构建电子地图路网的方法

技术领域

本发明涉及涉及交通技术领域,尤其涉及一种基于公交GPS轨迹构建电子地图路网的方法。

背景技术

在对公交各种数据进行汇总分析的时候,常常以线路以单位,比如站与站之间的用时、各时段线路全程用时等,我们容易得到线路层面的数据,因为每条线路的站点位置、行驶轨迹、发车时间等信息都是详细记录在公交信息库中的。这导致在数据分析中,我们始终是线路分离的,每项分析要对所有线路单独生成报表,这种方式使我们难以将线路之间的关系联系起来,难以看到超越线路以上的整体变化。

当我们做整个线网的交通路况分析时,我们发现由于线路信息分离,在地图上绘制的线网出现了大量的重叠现象,且重叠的路段路况并不一致,这是因为路段是由站点划分的,使得路段可能包含多个不同路况的道路段、路口,给路况分析带来了困难。

发明内容

本发明所要解决的技术问题是针对背景技术的不足,提供一种基于公交GPS轨迹构建电子地图路网的方法,本发明试图打破线路信息之间割裂的关系,从原始GPS轨迹数据出发,构建所有线路均可适用的整体交通路网,使得所有线路可以用同一套语言描述,车辆的GPS轨迹可以直接作用到整体的路网分析,然后便可以再对具体线路进行调度、规划方面的指导。

本发明为解决上述技术问题采用以下技术方案:

一种基于公交GPS轨迹构建电子地图路网的方法,具体包含如下步骤;

步骤一、获取路口节点:使用已有的公交行驶数据,处理得到需要的路口,获取它们的位置信息、道路信息,保存为节点信息;

步骤二、连接路口节点生成路段:使用公交行驶数据作为参考,找出节点之间的连接关系,并记录它们的方向、道路名,保存为路段数据;

步骤三、合并同名路段:统一添加道路限速等信息,将同名同向的路段头尾相接合并为统一路段;

步骤四、获取路段路径信息:调用高德的路径规划接口,由路段首尾位置信息获取路段路径信息。

作为本发明一种基于公交GPS轨迹构建电子地图路网的方法的进一步优选方案,在步骤一中,所述获取路口节点具体包含拐点计算法和高德逆地理编码接口法两种。

作为本发明一种基于公交GPS轨迹构建电子地图路网的方法的进一步优选方案,所述拐点计算法,具体包含如下步骤:

步骤A1,导入原始GPS轨迹数据;其中,选取的时长T且能够满足:轨迹覆盖所有线路经过的道路;轨迹数据中以车辆为单位,按发生时间排序,作为一条轨迹;

步骤A2,轨迹稀疏,使得每条轨迹两个相邻点之间至少间距一定距离;

步骤A3,计算轨迹角度变化;每三个点计算中间点位置处的角度改变值,保存为该点的属性;为了避免信号丢失造成的误判,当前后点相距超过一定距离时不予计算;

步骤A4,累积相邻三点角度变化;对于大型路口左拐的情况,可能拐弯过程较长,每个点角度变化都不大,累积起来才能体现轨迹的拐弯情况,因此把每个点前后点的角度变化累加在一起,同时为了体现转弯中心点的位置,该点处的角度变化权重更高;

步骤A5,选出累积变化角度超过125的轨迹点作为疑似路口点;

步骤A6,聚合疑似点;对每个点,计算半径一定距离内所有疑似点的平均位置,保存为这个点的聚合位置,若一定距离内没有其他点,标记为孤点;

步骤S7,每个点前进到其聚合位置,删除位置相同的点;当疑似点足够多时,舍弃孤点,多数为异常点;

步骤S8,重复步骤S6、步骤S7直到疑似路口点数量不再变化;舍弃孤点的步骤一般只在第一次聚合进行;将这一批疑似路口点保存为最终的路口节点。

作为本发明一种基于公交GPS轨迹构建电子地图路网的方法的进一步优选方案,所述高德逆地理编码接口法,具体包含如下步骤:

步骤B1,导入原始GPS轨迹数据,要求与步骤A1相同;

步骤B2,选择稀疏轨迹,节约接口调用量、节省时间;

步骤B3,对每个轨迹点调用高德逆地理编码API,获取其最近的道路交叉点信息,当距离小于一定距离时,保存该路口位置到路口信息表中,作为路口节点;

步骤B4,删除密集路口。

作为本发明一种基于公交GPS轨迹构建电子地图路网的方法的进一步优选方案,连接路口节点生成路段,具体包含如下步骤:

步骤C1,对找到的路口节点调用高德逆地理编码API,获取其最近的三条道路消息,将距离小于一定距离的道路保存为该节点所在的道路;道路可能为三条,当该路口为某一条道路的东段和西段的分界点时;

步骤C2,重新导入GPS轨迹数据,利用每一条轨迹,找出路口节点的连接关系,保存为拓扑关系字典;

步骤C3,利用S2得到的节点连接关系建立路段信息表,包括它的首尾节点编号、经纬度、道路名,道路名由首尾节点的共同道路名获取。

作为本发明一种基于公交GPS轨迹构建电子地图路网的方法的进一步优选方案,合并同名路段,具体包含如下步骤;

步骤D1,计算每个路段的方位角;通过首尾节点位置可以计算出路段的大致方位角;

步骤D2,将同一道路,首尾相接的邻近路段合并为一个路段,同时保存被合并的节点作为其中间节点,具体算法见附录1。

作为本发明一种基于公交GPS轨迹构建电子地图路网的方法的进一步优选方案,增加路段路径信息,具体包含如下步骤;

S1对于每一段合并后的路段,利用它的开始节点和结束节点调用高德路径规划API,返回得到步行规划路径,进而得到一个城市公交运行所用的大部分路段和它们的地理信息。

本发明采用以上技术方案与现有技术相比,具有以下技术效果:

1、本发明试图打破线路信息之间割裂的关系,从原始GPS轨迹数据出发,构建所有线路均可适用的整体交通路网,使得所有线路可以用同一套语言描述,车辆的GPS轨迹可以直接作用到整体的路网分析,然后便可以再对具体线路进行调度、规划方面的指导;

2、本方法利用公交系统的GPS轨迹和高德的公开接口服务构建公交运行路网;路网使用路口作为节点,使用节点之间的连接关系表示路段,最终将路网表示为节点以及节点连接关系;构建步骤包括:路口节点获取、节点连接、路段合并、获取路径;节点连接的正确率可以达到99.3%,完整率94.7%,路段合并以及路段获取成功率较高。

附图说明

图1是本发明一种基于公交GPS轨迹构建电子地图路网的方法的流程方法示意图;

图2是本发明使用桐乡的轨迹数据查找路口的结果示意图;

图3是本发明除掉没有公交行驶小路这部分节点示意图;

图4是本发明存在有路口高德未收录的情况示意图;

图5是本发明删除邻近的节点之后的示意图;

图6是本发明随机选取车辆轨迹示意图;

图7是本发明桐乡数据获得的路段在使用高德路径规划得到的路网市区部分示意图;

图8是本发明原始数据城市覆盖率示意图;

图9是本发明其他时间数据城市覆盖率示意图;

图10是本发明连接节点的算法的流程图;

图11是本发明连接函数流程图;

图12是本发明合并同名同向路段的算法流程图。

具体实施方式

下面结合附图对本发明的技术方案做进一步的详细说明:

本发明构建路网的基础思路是来自于专利《一种基于公交GPS轨迹数据的路况信息生成方法》,该专利中以路口和站点作为构建路网的基础节点,然后用节点与节点之间的连接来表示整个路网。本方法将该路网构建的概念提出了一种具体的实现步骤,如图1所示,具体可以概括为四个步骤:

步骤一、路口节点查找;

步骤二、连接路口节点生成路段;

步骤三、合并同名路段;

步骤四、增加路段路径信息。

首先,由于本研究只关心有公交行驶的道路,所以本研究使用已有的公交行驶数据,处理得到需要的路口,获取它们的位置信息、道路信息,保存为节点信息;

同样的道理,本研究仅需要有公交的道路,因此仍然使用公交行驶数据作为参考,找出节点之间的连接关系,并记录它们的方向、道路名,保存为路段数据;

为了方便管理,统一添加道路限速等信息,将同名同向的路段头尾相接合并为统一路段;

最后调用高德的路径规划接口,由路段首尾位置信息获取路段路径信息。

三、具体步骤

1.路口节点查找:

在研究过程中本方法给出了两种路口位置查找方法。第一种方法不借助其他服务,使用GPS轨迹进行计算,找出轨迹拐点位置。第二种是利用高德的逆地理编码API,获取轨迹附近的道路交叉点信息,作为路口。实验下来还是调用高德的API得到的路口位置更加精确完整(也不能说高德就完全精确,也有偏斜的情况,后面判断经过路口的时候可以调整识别半径来消除影响)。下面分别介绍两种方法的步骤。

1.1拐点计算法:

S1导入原始GPS轨迹数据,要求选取的时长T能够满足:轨迹覆盖所有线路经过的道路。轨迹数据中以车辆为单位,按发生时间排序,作为一条轨迹;

S2轨迹稀疏,使得每条轨迹两个相邻点之间至少间距一定距离。这一步一方面减少计算量,一方面减少异常点对角度计算的影响;

S3计算轨迹角度变化。每三个点计算中间点位置处的角度改变值,保存为该点的属性。为了避免信号丢失造成的误判,当前后点相距超过一定距离时不予计算;

S4累积相邻三点角度变化。对于大型路口左拐的情况,可能拐弯过程较长,每个点角度变化都不大,累积起来才能体现轨迹的拐弯情况,因此把每个点前后点的角度变化累加在一起,同时为了体现转弯中心点的位置,该点处的角度变化权重更高;

S5选出累积变化角度超过125的轨迹点作为疑似路口点;

S6聚合疑似点。对每个点,计算半径一定距离内所有疑似点的平均位置,保存为这个点的聚合位置,如果一定距离内没有其他点,标记为孤点。

S7每个点前进到其聚合位置,删除位置相同的点。当疑似点足够多时,舍弃孤点,多数为异常点。

S8重复S6、S7直到疑似路口点数量不再变化。舍弃孤点的步骤一般只在第一次聚合进行。将这一批疑似路口点保存为最终的路口节点。

1.2高德逆地理编码接口法:

S1导入原始GPS轨迹数据,要求与1.1S1相同;

S2(可选)稀疏轨迹,节约接口调用量、节省时间;

S3对每个轨迹点调用高德逆地理编码API,获取其最近的道路交叉点信息,当距离小于一定距离时,保存该路口位置到路口信息表中,作为路口节点;

S4删除密集路口。实验发现高德返回的路口节点有非常密集的情况,这对后面轨迹的连续性有一定影响,而且这种路口一般是小路的路口,不会有公交在这里行驶,所以增加这一步骤。

2.连接路口节点生成路段:

S1对找到的路口节点调用高德逆地理编码API,获取其最近的三条道路消息,将距离小于一定距离的道路保存为该节点所在的道路。道路可能为三条,例如当该路口为某一条道路的东段和西段的分界点时;

S2重新导入GPS轨迹数据,利用每一条轨迹,找出路口节点的连接关系,保存为拓扑关系字典。具体连接算法见附录1;

S3利用S2得到的节点连接关系建立路段信息表,包括它的首尾节点编号、经纬度、道路名,道路名由首尾节点的共同道路名获取。

3.合并同名路段:

S1计算每个路段的方位角。通过首尾节点位置可以计算出路段的大致方位角;

S2将同一道路,首尾相接的邻近路段合并为一个路段,同时保存被合并的节点作为其中间节点,具体算法见附录1。

4.增加路段路径信息

S1对于每一段合并后的路段,利用它的开始节点和结束节点调用高德路径规划API,返回得到步行规划路径(步行比驾车路径更加简洁)

按照上面的步骤可以得到一个城市公交运行所用的大部分路段和它们的地理信息。

四、测试实例

1.路口查找

使用桐乡的轨迹数据查找路口的结果如图2所示:

可以看到搜索到的路口数量在大部分道路上是多于需要的路口节点数量的,当一个路口处无车辆有拐弯的轨迹时,这个路口就没有什么作用,这种节点在找出路段后合并掉即可;

有的路口处被密集得识别出多个路口,这在后面的连接阶段会造成一定的影响,如图3所示,确实有多条道路在相近的位置交汇,但是那些小路并没有公交行驶,因此应该去除掉这部分节点。

也存在有路口高德未收录的情况,但是比较少,可以手动添加。如图4所示。

删除邻近的节点之后如图5所示:

2.连接节点

随机选取车辆轨迹,

正确率表示通过算法正确连接的路段数目与总数目的比值;

完整率表示通过算法正确连接的路段数目与人工连接的数目比值。

测试轨迹一:108968

车辆编号为‘108968‘的轨迹与连接结果可视化:如图6所示。

其中:

算法连接生成的路段数量为37,算法连接生成的正确路段数量为37,人工检查路段数量为38,连接正确率为100%,完整率97.4%,如表1所示。

表1

五次测试的平均正确率为99.3%,平均完整率为94.7%。导致不完整的原因均为路口数据的不完整,算法本身正确率很高。

3.合并路段

选取路段数量最多的5条道路,用下列参数衡量合并算法的合并率与正确率;

总路段数:道路所有路段总数;

总合并路段数:被合并的路段数量;

正确合并路段数:被正确合并的路段数量,如表2所示。

表2

平均合并率:99.5%,平均正确率:100%,导致未合并的原因为路口信息不准确,算法本身正确率很高。

4.获取路段信息

这一步采用高德的路径规划API,为了测试该API返回路径的正确性,选取路段数最多的十条道路,人工检查其路径是否正确。如表3所示。

表3

测试序号 道路名称 总路段数 路径正确
1 320国道 48 正确
2 世纪大道 43 正确
3 濮院大道 41 正确
4 文华路 36 正确
5 凯旋路 36 正确
6 庆丰南路 32 正确
7 乌镇大道 28 正确
8 人民路 26 正确
9 工贸大道 24 正确
10 校场东路 22 正确

测试结果显示10条道路路径均正确,正确率为100%。

桐乡数据获得的路段在使用高德路径规划得到的路网市区部分如图7所示(道路不同方向增加了左右向的偏移以区分方向)(绿色曲线为路段规划轨迹、蓝点表示GPS轨迹、红、黄、绿点各表示路段起点、中间节点、尾点),可以看到大部分公交运行路段都能覆盖到,只有画面右部的两处环形道路因为路径规划采用最近距离方法,所以没有得到正确的轨迹。

5.覆盖率测试

为测试本方法构建的路网的覆盖率,将公交GPS轨迹数据匹配到路网中,匹配方法是先将轨迹点的方位角与路段方位角比较,当角度差值小于指定角度时,计算其距离,当距离小于指定长度时被认为匹配成功。

下面分别就原始数据和其他时间的数据测试方位角差值90度和45度各个距离的覆盖率。

原始数据城市覆盖率如图8所示。其他时间数据城市覆盖率,如图9所示。

首先明确一个前提,一般城市快速路宽度最大为60m,加上GPS偏移距离,这个宽度大概可以设置在100m,因此匹配半径不应超过50m。

可以看到:

方位角偏差90度和45度的覆盖率在50m之前相差不大,为了匹配更加精确可以设置在45度;

覆盖率在限制距离达到30m后爬升逐渐平缓,说明大部分轨迹数据落在路网30m线宽区域;

原始数据50m覆盖率可以达到76%左右,其他时间覆盖率有72%左右。

本方法利用公交系统的GPS轨迹和高德的公开接口服务构建公交运行路网。路网使用路口作为节点,使用节点之间的连接关系表示路段,最终将路网表示为节点以及节点连接关系。构建步骤包括:路口节点获取、节点连接、路段合并、获取路径。节点连接的正确率可以达到99.3%,完整率94.7%,路段合并以及路段获取成功率较高。整个方法的效果主要受制于路口信息的获取,除此以外,对大部分路段支持良好,只有少数环形道路和多条路交叠(高架)的路段需要人工调整。

附录

附1连接节点的算法

术语规定:

拓扑字典topo:用于存放节点连接关系,字典的键表示一段连接的起点节点,值为终点节点和路段所在的道路名称组成的字典。结构如下

topo={

起点节点1:{

终点节点a:道路名,

终点节点b:道路名,

...

},

起点节点2:{

...

}

}

lastNode和Node:lastNode表示上一可用节点,初始值为空,表示无可用节点要连接,直到遇到可用节点。Node表示当前轨迹点经过的可用节点,经过一系列判断决定它是否与lastNode相连或者成为lastNode。

N:表示当前轨迹数据,N-1表示上一轨迹数据,N-0.5表示N与N-1的vs

算法流程图:如图10所示。连接函数流程图:如图11所示。

附2合并同名同向路段的算法;

术语解释:

mergedSectionList和mergedSection:mergedSection为合并路段,用列表表示,元素为路段的序号。mergedSectionList是由mergedSection组成的列表。算法开始的时候,mergedSectionList中的元素mergedSection是单一路段的单元素列表,在算法过程中,符合条件的mergedSection合并成为一个元素,被合并的原mergedSection添加到delList。

delList:如上所述,每次遍历路段表都会将被合并的路段加入到delList中,当某次遍历delList为空,表明合并结束,算法结束。

start和end:表示一个mergedSection的首尾路段,用于比较判断是否合并

算法流程图:如图12所示。

举例:

有3个路段序号为1,2,3,其中1和2应该合并为一个路段,那么在算法开始时:

mergedSectionList=[[1],[2],[3]]

取一个mergedSectioni,即i=[1],把它的最后一个路段作为end,即end=1.

取一个mergedSectionj,即j=[1],判断j不在delList,但是j=i,所以取下一个j=[2],把它的第一个路段作为start,即start=2.

判断路段1的尾节点和路段2的首节点相同,且1和2方向相近,道路名相同,所以把[1]、[2]合并,得到mergedSection[1,2],并把被合并的[2]添加到delList。

[3]遍历完之后把mergedSectionList中的delList删掉,删掉了[2],再重新走一遍,发现没有可以合并的,返回mergedSectionList=[[1,2],[3]]。

19页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:交通监控方法、装置、车辆和系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!