发明内容
本发明的目的在于针对上述存在的问题和不足,提供一种有效提高交通车辆GPS数据地图匹配的计算效率和准确度的方法与系统。
本发明的技术方案是这样实现的:
一种交通车辆GPS数据地图匹配的方法与系统,其特征在于包括如下步骤:
1.)构造道路桩号点数据,道路一般可抽象成方向相对的两段有向线段,从道路起点往终点方向,按预设定的间隔距离值,间隔距离值的取值范围一般在10米到100米之间,根据城市道路的路面宽度本方法选取50米的间隔值,在有向线段上选取一系列数据点作为道路匹配桩号点,桩号点的数据项包括经度、纬度、里程桩号值、道路行驶方向角度值,行车方向角是以正北方向为0度,按顺时针方向角度值递增;
2).构造高效的桩号点行列网格索引,读入GPS数据,计算GPS所在网格行列号,为了实现对道路桩号点的数据快速索引,以经纬度固定间隔值划分的网格,以桩号点的经纬度值所在网格的行列号进行聚类索引;
网格的行列号计算规则如下:定义网格的坐标原点,选取道路线网络的经度最小值、纬度最小值,如广东省内道路网络可选取北纬20.0、东经109.5度为坐标原点,这样得到的行列号的位数尽量的小;定义网格的大小间隔值,这里设定为1公里,对应十进制度数为0.0089932202,网格行列号由4位数字字符的行号和4为数字字符的列号组成,如GPS点东经113.127912度计算所得的行号数值为(113.127912-109.5)/0.0089932202=403.405222,不进行四舍五入取整数部分,不足4为字符在前端补0,即0403,北纬23.473638度按上述计算得出为0386,所以该经纬度点的所在网格行列号为04030386;
3).采用四分网格方式选取合理准确的匹配搜索区域,在对车辆GPS点进行道路匹配时,通过经纬度的行列矩阵号计算实现快速定位网格,但作为进一步完善,提出四分网格方法来适度扩充匹配搜索范围,计算GPS点落在当前所处网格的四分区域,将其周边邻近网格作为候补搜索区域;
4)、计算GPS点与矩形包络的包含关系实现快速确定目标桩号点,以道路桩号点为中心,参考路面宽度作为缓冲距离值,这里选取30米为参考值,生成矩形包络框,计算GPS点是否落入矩形内部范围,实现快速定位候选桩号点,并根据行车方向角、最近距离值等二次计算得出最佳匹配道路桩号点;
计算GPS点与路桩点的矩形包络框的包含关系,只需判断以下2个条件:
(1)(路桩点经度-0.0002697966)<GPS点经度<(路桩点经度+0.0002697966)
(2)(路桩点纬度-0.0002697966)<GPS点纬度<(路桩点纬度+0.0002697966)
30米换算为十进制度数约等于0.0002697966;
5).跟踪车辆历史匹配状态,计算拓扑连通性辅助准确定位,存储车辆的道路匹配历史记录,通过车辆最近位置点与当前候选桩号点的路网拓扑连通代价计算,排除城市内部的并行道路对GPS点地图匹配的干扰,提高城市复杂道路的GPS点匹配准确度;
从车辆第一次成功匹配道路开始,记录其最近5分钟内的匹配道路历史记录,在每一次执行新一轮地图匹配时,使用A*寻径算法计算当前候选路桩点与最近一次成功匹配路桩点的拓扑连通性和连通代价,判断是否连通以及路径距离是否在合理范围进行辅助检验,从而筛选出更为准确的候选路桩点。
本发明通过构造高效的地图匹配网格索引,使用简化而精确的匹配计算完成交通车辆GPS数据地图匹配的过程,从而大大提高交通车辆GPS数据匹配的运算效率,处理效率是传统地图匹配方法的数千倍;跟踪车辆的历史匹配道路状态,使用道路网络拓扑连通性来辅助判断车辆在复杂路网中的匹配定位,能大大提高交通车辆GPS数据地图匹配的准确度。
下面结合附图对本发明作进一步的说明。
具体实施方式
以下结合附图以及较佳实施例,进一步阐述本发明为达成预定发明目的所采取的技术手段。
如图1所示,本发明为一种交通车辆GPS数据地图匹配的方法与系统,实施条件包括数据库存储和算法程序。其包括如下步骤:
1.)将带桩号里程的道路线数据按固定距离间隔值取点,把桩号点的以下数据项写入数据库中存储,包括经度、纬度、里程桩号值、道路行驶方向角度值。构造道路桩号点数据,道路一般可抽象成方向相对的两段有向线段,从道路起点往终点方向,按预设定的间隔距离值,间隔距离值的取值范围一般在10米到100米之间,根据城市道路的路面宽度本方法选取50米的间隔值,在有向线段上选取一系列数据点作为道路匹配桩号点,桩号点的数据项包括经度、纬度、里程桩号值、道路行驶方向角度值,行车方向角是以正北方向为0度,按顺时针方向角度值递增;
2).定义索引网格的坐标原点和划分间隔值,根据桩号点的经纬度计算其行列号,按相同网格号存储同一网格内的道路桩号点数据。构造高效的桩号点行列网格索引,读入批量的车辆GPS点数据,数据项包括经度、纬度、车辆标识号、行车方向角、GPS时间等。计算GPS所在网格行列号。为了实现对道路桩号点的数据快速索引,以经纬度固定间隔值划分的网格,以桩号点的经纬度值所在网格的行列号进行聚类索引;
网格的行列号计算规则如下:定义网格的坐标原点,选取道路线网络的经度最小值、纬度最小值,如广东省内道路网络可选取北纬20.0、东经109.5度为坐标原点,这样得到的行列号的位数尽量的小;定义网格的大小间隔值,这里设定为1公里,对应十进制度数为0.0089932202,网格行列号由4位数字字符的行号和4为数字字符的列号组成,如GPS点东经113.127912度计算所得的行号数值为(113.127912-109.5)/0.0089932202=403.405222,不进行四舍五入取整数部分,不足4为字符在前端补0,即0403,北纬23.473638度按上述计算得出为0386,所以该经纬度点的所在网格行列号为04030386;
3).采用四分网格方式选取合理准确的匹配搜索区域,在对车辆GPS点进行道路匹配时,通过经纬度的行列矩阵号计算实现快速定位网格,但作为进一步完善,提出四分网格方法来适度扩充匹配搜索范围,计算GPS点落在当前所处网格的四分区域,将其周边邻近网格作为候补搜索区域;如图2所示,假设GPS点所在网格行号为A、列号为B,再次计算GPS落在当前网格的左上角区域,需要将网格(A-1,B)、网格(A-1,B+1)、网格(A,B+1)列入候补搜索区域。
4).编写本发明的GPS地图匹配算法程序,程序的处理流程包括:遍历所有GPS点循环匹配道路,单个GPS点的道路匹配处理过程,输出匹配结果等。
单个GPS点的道路匹配处理过程包括:计算GPS点所在网格行列号,四分网格法计算邻近网格区域,加载候选搜索区域网格内的桩号点数据,进行GPS点与桩号点矩形包络框的包含关系计算得出候选桩号点数据集,进行行车方向角、最近距离值等二次计算验证进一步缩小候选桩号点数据集,计算车辆最近匹配道路点与当前候选桩号点的拓扑连通代价检验合理的车辆行驶路径,最终得出最佳的道路匹配桩号点。
(1).计算GPS点所在网格行列号:
行号=取整[(GPS点经度-网格坐标原点经度)/网格间隔值];
列号=取整[(GPS点纬度-网格坐标原点纬度)/网格间隔值]。
如,GPS点(113.127912,23.473638),行号数值=FLOOR((113.127912-109.5)/0.0089932202)=403,列号数值=FLOOR((23.473638-20.0)/0.0089932202)=386。
(2).四分网格法计算邻近网格区域:
计算网格行列余值判断GPS落在网格四分区域,即
网格行余值=((GPS点经度-网格坐标原点经度)/网格间隔值)-取整[(GPS点经度-网格坐标原点经度)/网格间隔值];
网格列余值=((GPS点纬度-网格坐标原点纬度)/网格间隔值)-取整[(GPS点纬度-网格坐标原点纬度)/网格间隔值]。
如,GPS点(113.127912,23.473638),网格行余值=403.405222-403=0.405222,网格列余值=386.250744-386=0.250744。
GPS点落在网格四分区域的判断规则如下:
假设当前网格行列号为(A,B),
左下区域:网格行余值<0.5且网格列余值<0.5,取周边网格(A-1,B)、(A-1,B-1)、(A,B-1);
左上区域:网格行余值<0.5且网格列余值>0.5,取周边网格(A-1,B)、(A-1,B+1)、(A,B+1);
右上区域:网格行余值>0.5且网格列余值>0.5,取周边网格(A,B+1)、(A+1,B+1)、(A+1,B);
右下区域:网格行余值>0.5且网格列余值<0.5,取周边网格(A+1,B)、(A+1,B-1)、(A,B-1);
如,GPS点(113.127912,23.473638),网格行余值=0.405222<0.5且网格列余值=0.250744<0.5,取周边网格(402,386)、(402,385)、(403,385)。
(3).如图3所示,GPS点与桩号点矩形包络框的包含关系计算:
GPS点与某桩号点矩形包络框相交,需同时符合一下两个条件:
(路桩点经度-0.0002697966)<GPS点经度<(路桩点经度+0.0002697966);
(路桩点纬度-0.0002697966)<GPS点纬度<(路桩点纬度+0.0002697966)。
(4).行车方向角校对:
车辆与道路线行车方向匹配需符合,车辆行车方向角与道路线行车方向角小于一定容差值,这里设定为30度。即:
绝对值(车辆行车方向角-道路线行车方向角)<30。
(5).最近距离值比对:
使用十进制度数值进行两点间的欧几里德距离计算。
距离值=开方值[平方值(GPS点经度-桩号点经度)+平方值(GPS点纬度-桩号点纬度)]。
如,GPS点(113.127912,23.473638),某桩号点(113.127802,23.472973),则该两点间的十进制度距离数值=Sqrt((113.127912-113.12780)(113.127912-113.12780)+(23.473638-23.472973)(23.473638-23.472973))=0.0006650062。
(6).计算车辆最近匹配道路点与当前候选桩号点的拓扑连通代价:
使用A*算法进行路径寻径计算,得出两点间的连通代价值。
5).输出GPS点地图匹配结果集合。跟踪车辆历史匹配状态,计算拓扑连通性辅助准确定位,存储车辆的道路匹配历史记录,通过车辆最近位置点与当前候选桩号点的路网拓扑连通代价计算,排除城市内部的并行道路对GPS点地图匹配的干扰,提高城市复杂道路的GPS点匹配准确度。
从车辆第一次成功匹配道路开始,记录其最近5分钟内的匹配道路历史记录,在每一次执行新一轮地图匹配时,使用A*寻径算法计算当前候选路桩点与最近一次成功匹配路桩点的拓扑连通性和连通代价,判断是否连通以及路径距离是否在合理范围进行辅助检验,从而筛选出更为准确的候选路桩点。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本实用新型的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。