APP下载

一种改进的轨迹地图匹配算法

2018-06-04段宗涛霍明生

测绘通报 2018年5期
关键词:计算公式路网路段

段宗涛,霍明生,康 军

(长安大学信息工程学院,陕西 西安 710064)

地图匹配是指将GPS点匹配到正确的道路上。在智能交通领域,交通流的预测及车辆的定位等方面都用到地图匹配,因此一个好的地图匹配算法是智能交通发展的有力保障。

根据输入数据所涉及信息的不同,目前的地图匹配算法[1]包括几何地图匹配算法、概率计算地图匹配算法、拓扑地图匹配算法和高级地图匹配算法。几何地图匹配算法相对简单易于实现,但是如果不使用GPS点之间的关系及道路之间的拓扑关系,匹配的准确度就会下降;概率计算地图匹配算法多涉及公式的推导且不容易理解,匹配效率也很低;拓扑匹配算法对于复杂的城市道路匹配效率不高;当采样频率较低且路网较为复杂的情况下,高级地图匹配算法具有很好的匹配准确率。

文献[2]中Newson等在2009年第一次提出了HMM(hidden Markov model)算法,虽然该算法对于时间间隔较大的数据具有很大的改善,但是没有考虑方向信息只考虑了距离信息。文献[3]提出了一种动态编程方法来识别每条路段,但试验结果表明该算法对于时间间隔较大的低频数据正确率较低。

本文提出一种基于HMM的改进的地图匹配算法。该地图匹配算法的设计过程为:首先建立候选路段集和路段拓扑关系集,然后介绍算法中轨迹点的方向概率、观测概率、状态转移概率及综合概率,最后介绍最短路径距离算法。

1 算法概述

本文数据采样间隔为30 s以上,图1为样本数据采样间隔分布图,可知该样本数据属于低频数据。目前针对低频采样数据的主要算法有HMMM、ST-Matching、IVMM等几种常见的全局算法[4]。本文充分考虑空间特征和几何拓扑结构,采用基于HMM改进的地图匹配算法进行验证。

1.1 路网拓扑构建

本文选择的路网数据为西安市城区的21 027条路段、16 907个节点,在建立拓扑关系集时分别对路段和节点进行编号。图2为西安市城区的路段和节点分布图。

图1 样本数据间隔分布

图2 西安市城区的路段和节点分布

由于每条路段都至少由两个节点构成,根据其首、末两个节点的经纬度坐标值计算每条路段的长度,根据计算结果可知,路段长度最小为1 m,最大为9186 m,根据路段节点、路段编号及路段的长度(距离权值)建立路网拓扑集,见表1。

表1 路网拓扑集

1.2 候选路段集构建

以当前轨迹点为圆心,选取半径r=200 m,可以最大限度地保证正确的候选路段落入该圆域内,同时候选路段集合也不至于过大。对每个轨迹点做一个候选圆域,只要落在该圆域内的路段就记作候选路段,如图3所示。

图3 候选路段计算示意图

由图3可知,O点表示轨迹点,落在圆域内的每个节点与轨迹点之间的地面距离为d,只要该地面距离小于等于200 m,该节点对应的路段就可以作为该轨迹点的候选路段,建立候选路段集。

这里给出地面距离的计算公式:

已知两点A(x1,y1)、B(x2,y2),x1、x2表示A、B两点的经度,y1、y2表示A、B两点的纬度,利用弧长计算公式将经、纬度转化为弧长,计算公式如下

D=dis·π/180

(1)

式中,dis为经、纬度值;D为对应的弧长。

由式(1)可得

(2)

A、B两点间的地面距离公式为

(3)

式中,a=Y2-Y1;b=X2-X1;R为地球半径,取R=6 378 137 m。

1.3 投影坐标计算

如图4所示,P(X0,Y0)为轨迹点,O(X2,Y2)、O′(X1,Y1)为候选路段的首、末节点,Pe(Xe,Ye)为投影坐标,则投影点坐标[5]计算公式如下:

图4 投影示意图

OO′的直线方程为

Y-Y1=k(X-X1)

(4)

PPe所在的直线方程为

(5)

P到OO′的垂直距离,即PPe的长度为

(6)

投影坐标(Xe,Ye)为

(7)

(8)

1.4 轨迹夹角θ的计算

如图5所示,轨迹点坐标为(x,y),将轨迹点行驶方向与正北方向顺时针旋转的夹角记为φ,Si为轨迹点的候选路段[6],将Si与正北方向的顺时针旋转夹角记为θ。

图5 轨迹夹角示意图

A(Xa,Ya)、B(Xb,Yb)为候选路段Si上的首、末节点,候选路段Si的行驶夹角θ的计算公式为

(9)

2 改进算法分析

2.1 问题描述

轨迹匹配问题是给定未加工的GPS轨迹Z和路网G(V,E),从G中寻找路径可以从起始点达到指定点的过程。

给定GPS点的集合Z={z1,z2,…,zn},每个GPS点包含经纬度和时间戳等信息。

每条路段e是一个有向边,分别具有e.id,长度e.l,起始点e.start,结束点e.end和中间点。

路网是一个有向图G(V,E),V是顶点集合,代表路口或道路中的转折点,E是一系列有向边,代表路网中的路段。

2.2 算法描述

假设每一个GPS轨迹点为zt,t=1,2,…,n,轨迹点的每个候选路段为ri,i=1,2,…,n。

本文使用基于HMM的改进的地图匹配算法,首先加入一个方向概率作为路段在匹配过程中的一个指标,其次将观测概率以比值关系定义,最后将转移概率简化为实际地面距离与路径距离的一个比值。该算法的描述如下:

基于改进的HMM算法描述

输入:轨迹点zt、路网数据G(V,E)

输出:轨迹点zt的综合概率的max(P)

1. set the candidate radiusr=200 m

2. calculatezt→node of each road less than 200 m

3. get the candidate roadri

4. calculatext,i,θ,φ,ω,dt,Nω,p(zt|ri,p(xt,i→xt+1,j)

5. getPof each candidate road

6. get max(P) of eachzt

7. return max(P)

方向概率的计算公式为

(10)

观测概率[8]的计算公式为

(11)

由式(11)可知,GPS轨迹点与候选路段的地面距离越近,该路段的观测概率就会越大;反之,距离越远,观测概率就越小。因此,距离越小的候选路段最有可能是其真正的候选路段。

转移概率计算公式如下

(12)

根据式(10)、式(11)、式(12)定义综合概率为

P=Nωp(dt)p(xt,i→xt+1,j)

(13)

利用式(13)计算轨迹点的max(P),过程如图6所示。

图6 匹配过程

利用本文提出的改进算法并行计算轨迹点的最大P,最后对整个轨迹点进行汇总,得到一个计算值最大的匹配点的序列形成匹配路径。

2.3 最短路径算法[10]描述

在式(12)中求解相邻两个轨迹点xt,i和xt+1,j(i=1,2,…,m,j=1,2,…,n)的最短路径route距离[11]时,采用基于广度优先搜索和优先队列的Dijkstra算法,由于在每次求解时都会进行m·n次运算才可得到route值,为了减少时间复杂度,采用矩形和椭圆限制搜索区域[12]进行改进。

基于Dijkstra算法的矩形和椭圆限制搜索区域过程

输入:xt,i→xt+1,j,矩形搜索区域G(V,E)

输出:xt,i→xt+1,j的最短路径距离d[v]

1. fuction Dijkstra(G,w,s)∥w表示路径长度

2. for each vertex inV

3.d[v]=infinity

4. previous[v]=undefined

5.d[s]=0

6.Sis empty set

7.Qis a set of all vertexs

8. whileQis not an empty set

9.u=Get min(Q)

10.S.add(u)

11. for each edge outgoing from u as (u,v)

12. ifd[v]>d[u]+w(u,v)

13.d[v]=d[u]+w(u,v)

14. previous[v]=u

15. end if

16. returnd[v]

3 试验结果和分析

本文试验所用的数据包含地图数据[13]及西安市出租车数据,采样间隔为30 s以上。GPS轨迹数据格式包括车牌号码、GPS时间、经度、纬度、速度、方向角、浮动车状态。为了验证本文算法,首先测试了文献[2]中Newson等提出的传统的HMM算法,测试的准确率在86.4%。而采用本文改进的算法进行测试,匹配准确率可以达到94%以上,具有很好的匹配效果。

表2为轨迹点匹配前和匹配后的部分结果对比[14]。

表2 轨迹点坐标匹配前后对比

图7为部分轨迹点匹配前的示意图,图8为部分轨迹点匹配后的示意图。

图7 匹配前

图8 匹配后

使用传统的HMM地图匹配算法[2]和改进的HMM地图匹配算法的准确率比较见表3。

表3 算法准确率比较 (%)

4 结 语

本文使用基于HMM的改进的地图匹配算法,建立路网拓扑集[15],对轨迹点建立候选路段集,计算轨迹点候选路段的概率,选取最大概率值对应的路段为最佳的匹配路段。利用本文提出的算法可以达到很好的匹配效果,未来可以在计算最短路径距离和候选路段选取方面进行优化。

参考文献:

[1] 高文超,李国良,塔娜.轨迹路网匹配算法综述[J].软件学报,2018,29(2):225-250.

[2] NEWSON P,KRUMM J.Hidden Markov Map Matching Through Noise and Sparseness[J].ACM GIS,2009,9(11):336-343.

[3] CHEN B Y,YUAN H,LI Q,et al.Map Matching Algorithm for Large-scale Low-frequency Floating Car Data[J].International Journal of Geographical Information Science,2014,28(1):22-38.

[4] YUAN J,ZHENG Y,ZHANG C,et al.An Interactive-voting Based Map Matching Algorithm[J].Mobile Data Management,2010,11(10):43-52.

[5] 李殿茜,王翌,刘垒,等.一种地图匹配算法的设计与实现[J].导航定时,2017,4(2):31-34.

[6] 陈锋.一种改进的点到线的地图匹配算法[J].内蒙古科技与经济,2004,4(4):74-76.

[7] KRUMM J.A Markov Model for Driver Turn Prediction[J].Society of Automotive Engineers,2008,22(1):1-25.

[8] ZELENKOV A V.Calculation of Parameters of Hidden Markov Models Used in the Navigation Systems of Surface Transportation for Map Matching:A Review[J].Automatic Control and Computer Sciences,2010,44(6):309-323.

[9] SZWED P,PEKALA K.An Incremental Mapmatching Algorithm Based on HMM [J].International Conference on Artifical Intelligence and Soft Computing,2014,13(2):579-590.

[10] QUDDUS M,WSHINGTON S.Shortest Path and Vehicle Trajectory Aided Map-matching for Low Frequency GPS Data[J].Transportation Research Part C,2015,2(17):328-339.

[11] 姜雪原.基于动态规划算法的轨迹地图匹配软件设计与实现[J].软件,2015,36(5):108-112.

[12] 陆峰,卢东梅,崔伟宏.交通网络限制搜索区域时间最短路径算法[J].中国图象图形学报,1999,4(10):849-853.

[13] 高强,张凤荔,王瑞锦,等.轨迹大数据:数据处理关键技术研究综述[J].软件学报,2017,28(4):959-992.

[14] 吴刚,邱煜晶,王国仁,等.基于隐马尔科夫模型和遗传算法的地图匹配算法[J].东北大学学报(自然科学版), 2017,38(4):472-475.

[15] 王晓蒙,池天河,林晖,等.一种面向海量浮动车数据的地图匹配算法方法[J].地球信息科学,2015,17(10):1143-1150.

猜你喜欢

计算公式路网路段
电机温升计算公式的推导和应用
常虎高速公路路段拥堵治理对策探析
2019离职补偿金计算公式一览表
基于XGBOOST算法的拥堵路段短时交通流量预测
高速公路重要路段事件检测技术探讨
基于元胞自动机下的交通事故路段仿真
基于元胞自动机下的交通事故路段仿真
打着“飞的”去上班 城市空中交通路网还有多远
谈拟柱体的体积
省际路网联动机制的锦囊妙计