【技术实现步骤摘要】
一种高效GPS轨迹地图匹配方法
本专利技术属于交通
,尤其涉及一种高效GPS轨迹地图匹配方法。
技术介绍
城市交通网络系统是个复杂的巨系统,每时每刻都有数以万计的交通流在其网络结构上运行及转移,如何全面准确对相关交通时空数据进行采集,进而为系统分析把握城市交通网络运行规律、拥堵发生演变机理、完善大规模城市交通需求组成结构、优化相关交通网络系统供给等交通系统分析难题提供强有力的数据及理论支撑,是近年来交通系统智能分析领域的主要议题之一。其中车载GPS数据作为快速易得的交通信息数据源之一,具有覆盖范围广、时间连续性强、与交通网络直接相关等数据优势,近年来已为各类交通大数据系统分析项目广泛采用,通过将实时车载GPS轨迹信息映射至交通网络,通过分析挖掘相关出行轨迹信息,相关统计结果既可有效覆盖城市大范围时空下的交通系统信息,也能在需要时较精确刻画区域交通运行状态。而系统分析的第一步即是基于车载GPS将车辆行驶轨迹与路网结构进行准确映射,称为“MapMatching轨迹匹配”,相关算法即为轨迹匹配算法,一般分为四类:几何 ...
【技术保护点】
1.一种高效GPS轨迹地图匹配方法,其特征在于,包括以下步骤:/nS1、获取任一车辆的GPS经过的若干个GPS轨迹点,并对所述若干个GPS轨迹点进行初始化操作,得到有效GPS轨迹点列表VP={vp(1),vp(2),…,vp(k)};/nS2、在所述有效GPS轨迹点列表VP={vp(1),vp(2),…,vp(k)}中,以首点vp(1)建立地图匹配工作前向迭代,利用以GPS轨迹点导向的路径搜索算法得到当前搜索终点vp(s);其中,所述前向迭代为:以首点vp(1)起始,逐点迭代向后搜索匹配路径;/nS3、由当前搜索终点vp(s)回溯最佳地图匹配路径,遍历获取沿途各GPS轨迹点 ...
【技术特征摘要】
1.一种高效GPS轨迹地图匹配方法,其特征在于,包括以下步骤:
S1、获取任一车辆的GPS经过的若干个GPS轨迹点,并对所述若干个GPS轨迹点进行初始化操作,得到有效GPS轨迹点列表VP={vp(1),vp(2),…,vp(k)};
S2、在所述有效GPS轨迹点列表VP={vp(1),vp(2),…,vp(k)}中,以首点vp(1)建立地图匹配工作前向迭代,利用以GPS轨迹点导向的路径搜索算法得到当前搜索终点vp(s);其中,所述前向迭代为:以首点vp(1)起始,逐点迭代向后搜索匹配路径;
S3、由当前搜索终点vp(s)回溯最佳地图匹配路径,遍历获取沿途各GPS轨迹点的最佳匹配结果,并汇总输出匹配结果统计表;
S4、根据所述匹配结果统计表,判断当前搜索终点vp(s)是否为末点vp(k),若是,则当前搜索终点vp(s)为末点vp(k),完成高效GPS轨迹地图的匹配,否则,则以vp(s+1)作为地图匹配首点,并返回步骤S2。
2.根据权利要求1所述的高效GPS轨迹地图匹配方法,其特征在于,所述步骤S1包括以下步骤:
S101、获取任一车辆的GPS经过的若干个GPS轨迹点;
S102、将所述若干个GPS轨迹点分离为分段集合Trip(a)={T1,T2,…,Ta,…,Tn},其中,Ta表示一个分段,且所述Ta分段内包括多个GPS轨迹点,Tn表示总分段数;
S103、从分段Ta内的多个GPS轨迹点{p(1),p(2),…,p(i),…,p(n)}中任选一个GPS轨迹点p(i)作为当前GPS轨迹点,其中,p(n)表示总的GPS轨迹点;
S104、判断所述当前GPS轨迹点p(i)至p(i+1)的直线速度是否大于300km/h,若是,则剔除当前GPS轨迹点p(i),转入下一个GPS轨迹点p(i+1),并重复步骤S104,否则,进入步骤S105;或
判断所述当前GPS轨迹点p(i)与p(i+1)的间隔时间是否小于等于0,若是,则剔除当前GPS轨迹点p(i),转入下一个GPS轨迹点p(i+1),并重复步骤S104,否则,进入步骤S105;
S105、设当前GPS轨迹点的上一累计行驶距离变量为p(i).lastD;
S106、判断所述p(i).lastD是否小于20米,若是,则计算得到GPS轨迹点p(i-1)至p(i)的距离,并剔除GPS轨迹点p(i),并进入步骤S107,否则,所述p(i).lastD大于20米,并将当前GPS轨迹点p(i)=vp(l)纳入有效节点列表VP={vp(1),vp(2),…,vp(k)},并进入步骤S107;
S107、判断分段Ta内是否所有的GPS轨迹点均被作为当前GPS轨迹点,若是,则建立有效GPS轨迹点列表VP={vp(1),vp(2),…,vp(k)},并获取所述GPS轨迹点列表VP={vp(1),vp(2),…,vp(k)}中各GPS轨迹点k在地图数据中的待匹配邻近连接线集合NearL(k),并初始化匹配结果变量Match(k)=-1,最佳匹配权重MatchW(k)=10000,完成有效GPS轨迹点列表VP={vp(1),vp(2),…,vp(k)}的建立,并进入步骤S2,否则,返回步骤S101。
3.根据权利要求1所述的高效GPS轨迹地图匹配方法,其特征在于,所述步骤S2包括以下步骤:
S201、在所述有效GPS轨迹点列表VP={vp(1),vp(2),…,vp(k)}中,以首点vp(1)建立地图匹配工作前向迭代;
S202、根据所述地图匹配工作前向迭代,设有效GPS列表VP={vp(1),vp(2),…,vp(k)}的起始节点为Startp,终止节点为Endp;
S203、判断所述起始节点Startp是否小于等于终止节点Endp,若是,则进入步骤S204,否则,起始节点Startp大于终止节点Endp,完成GPS轨迹的全部匹配,得到首点vp(1)至末点vp(k)的最佳地图匹配路径,并进入步骤S3;
S204、利用以GPS轨迹点导向的路径搜索算法搜索起始节点Startp至终止节点Endp的最短路径,并判断路径搜索的迭代过程是否结束,若是,则获取备选路径,并进入步骤S3,否则,重复步骤S204,直至路径搜索迭代完成。
4.根据权利要求3所述的高效GPS轨迹地图匹配方法,其特征在于,所述步骤S204包括以下步骤:
S2041、对所述起始节点Startp进行匹配变量初始化处理,所述匹配变量包括上一起始节点Lastp等于起始节点Startp、当前最远匹配节点Pnow、已修改路网节点集NList、搜索打开节点集OpenL、对应搜索前进参考变量集OpenValueL、搜索结束路网节点集CloseL以及起点邻近路网连接线集NearL(Startp);
S2042、对所述起点邻近路网连接线集NearL(Startp)中各连接线建立地图匹配工作循环;
S2043、判断各连接线是否满足出发条件,若是,则将各连接线的对应端点纳入所述搜索打开节点集OpenL,并分别更新所述对应搜索前进参考变量集OpenValueL、已修改路网节点集NList以及更新各连接线对应前向搜索端点s的搜索属性集Search(s),且当循环结束时,所述搜索打开节点集OpenL不为空集,进入步骤S2044;否则,对所述起始节点Startp选取邻近匹配值最大的连接线作为该点匹配结果,并更新起始节点Startp等于起始节点Startp+1,并返回步骤S202,其中,所述端点搜索属性集Search(s)包括端点出发截断成本StartCut(s)、路径物理成本SPcost(s)、局部截断成本LOCcost(s)、GPS轨迹点加权成本PWcost(s)、对应轨迹标号ValidN(s)、局部轨迹增量Padd(s)以及途径连接线SPvia(s);
S2044、对所述搜索打开节点集OpenL中各路网搜索前向搜索端点s建立迭代,并判断所述迭代的结束要条件是否为搜索打开节点集OpenL已为空集,若是,则获取备选路径,并进入步骤S3,否则,进入步骤S2045;
S2045、选取所述搜索打开节点集OpenL中首个前向搜索端点s开展搜索,分别获取对应轨迹标号ValidN(s)以及前向搜索端点s的对应搜索前进参考变量OpenValueL值OpenValueL.begin,并判断所述对应轨迹标号ValidN(s)是否大于起始节点Startp-1,若是,则从搜索打开节点集OpenL以及对应前向搜索端点s的首个对应搜索前进参考变量集OpenValueL中剔除前向搜索端点s及其对应的前进变量HeadDist,并进入步骤S2046,否则,进入步骤S2048;
S2046、若所述对应轨迹标号ValidN(s)小于终止节点Endp,且所述对应轨迹标号ValidN(s)小于当前最远匹配节点Pnow,则计算得到前进判断距离Jdist,并进入步骤S2047;或
若所述对应轨迹标号ValidN(s)小于终止节点Endp,且所述局部轨迹增量Padd(s)=0,则计算得到前进判断距离Jdis,并进入步骤S2047;
S2047、判断前向搜索端点s的对应搜索前进参考变量的值OpenValueL(s)是否大于2*前进判断距离Jdist,且前进判断距离Jdist大于250米,若是,则返回步骤S2045,否则,进入步骤S2048;或
判断所述前向搜索端点s的对应搜索前进参考变量的值OpenValueL(s)是否大于450米且前进判断距离Jdist小于等于250米,若是,则返回步骤S2045,否则,进入步骤S2048;
S2048、对当前搜索前向搜索端点s各前向连接线集合ForwardL建立循环,并提取所述前向连接线u及下一路网节点n(u),当途径连接线SPvia(s)不为空值时,若前向搜索端点s途径连接线SPvia(s)等于前向连接线u时,跳至前向连接线集合ForwardL下一连接线,并继续计算前向连接线u与GPS轨迹点vp(ValidN(s))运动方向夹角MoveAng(u);
S2049、判断所述运动方向夹角MoveAng(u)是否大于等于100度,若是,则跳至前向连接线集合ForwardL中下一前向连接线u,并返回步骤S2048,否则,将前向连接线u按运动方向夹角MoveAng(u)从小到大顺序插入拓展连线集NextL,并在循环结束后进入步骤S20410;
S20410、对拓展连线集NextL中元素建立前向搜索循环,提取前向连接线u及下一路网节点n(u),并初始化局部GPS轨迹点加权变量PWac=0、已匹配GPS轨迹点序号Sernow=对应轨迹标号ValidN(s)、局部增量匹配点数AddN=0以及掉头指示变量TurnIndi=false;
S20411、当已匹配GPS轨迹点序号Sernow小于终止节点Endp时,初始化迭代指示变量Indi=true,并建立前向轨迹匹配增益,判断迭代结束条件是否为迭代指示变量Indi=false,若是,则进入步骤S20412,否则,进入步骤S20415;
S20412、令已匹配GPS轨迹点序号Sernow为已匹配GPS轨迹点序号Sernow+1,在GPS轨迹点vp(Sernow)邻近连线集NearL(Sernow)中搜索前向连接线u,并判断前向连接线u是否不在GPS轨迹点vp(Sernow)邻近连线集NearL(Sernow)中,若是,则进入步骤S20413,否则,前向连接线u在GPS轨迹点vp(Sernow)邻近连线集NearL(Sernow)中,并进入步骤S20414;或
令已匹配GPS轨迹点序号Sernow为已匹配GPS轨迹点序号Sernow+1,在GPS轨迹点vp(Sernow)邻近连线集NearL(Sernow)中搜索前向连接线u,并判断已匹配GPS轨迹点序号Sernow等于终止节点Endp时,迭代结束条件是否为迭代指示变量Indi=false,若是,则进入步骤S20413,否则,前向连接线u在GPS轨迹点vp(Sernow)邻近连线集NearL(Sernow)中,并进入步骤S20414;
S20413、判断局部增量匹配点数AddN是否等于0,若是,则进入步骤S20415,否则,则局部增量匹配点数AddN大于0,并进入步骤S20416;
S20414、分别令局部增量匹配点数AddN为局部增量匹配点数AddN+1,以及令局部GPS轨迹点加权变量PWac为PWac+vp(Sernow).Weight(u),且若GPS轨迹点存在掉头,则掉头指示变量TurnIndi=true,迭代指示变量Indi=false;当局部增量匹配点数AddN=0,则进入步骤S20415;并判断局部增量匹配点数AddN是否大于0,若是,则进入步骤S20421,否则,返回步骤S20412;
其中,vp(Sernow).Weight(u)表示GPS轨迹点vp;
S20415、当前向搜索端点s大于起始节点Startp时,判断前向连接线u的前向端点n(u)的对应轨迹标号ValidN(n(u))是否为空值,若是,则进入步骤S20416,否则,进入步骤S20417;
S20416、计算得到局部搜索成本Costnow,并令前向连接线u的前向端点n(u)的局部截断成本LOCcost(n(u))=Costnow,前向连接线u的前向端点n(u)的途径连接线SPvia(n(u))=u,前向连接线u的前向端点n(u)的局部轨迹增量Padd(n(u))=0,前向连接线u的前向端点n(u)的路径物理成本SPcost(n(u))=SPcost(s)+Length(u),前向连接线u的前向端点n(u)的GPS轨迹点加权成本PWcost(n(u))=PWac,在已修改路网节点集NList末尾插入n(u),并进入步骤S20419,其中,所述局部搜索成本Costnow的表达式如下:
Costnow=LOCcost(s)+Length(u)
式中,LOCcost(s)表示前向搜索端点s的局部截断成本,Length(u)表示前向连接线u的长度;
S20417、判断前向连接线u的前向端点n(u)对应轨迹标号ValidN(n(u))是否等于前向搜索端点s对应轨迹标号ValidN(s),若是,则进入步骤S20418,否则,前向连接线u的前向端点n(u)对应轨迹标号ValidN(n(u))小于前向搜索端点s对应轨迹标号ValidN(s),并进入步骤S20419;
S20418、根据前向连接线u的前向端点n(u)对应轨迹标号ValidN(n(u))计算得到匹配路径成本Cost1,以及根据计算得到前向连接线u的前向端点n(u)对应轨迹标号ValidN(n(u)),若匹配路径成本Cost1小于匹配路径成本Cost2,则计算得到前向连接线u的前向端点n(u)局部截断成本LOCcost(n(u)),并令前向连接线u的前向端点n(u)途径连接线SPvia(n(u))=u,令前向连接线u的前向端点n(u)局部轨迹增量Padd(n(u))=0,以及计算得到前向连接线u的前向端点n(u)路径物理成本SPcost(n(u))以及令前向连接线u的前向端点n(u)GPS轨迹点加权成本PWcost(n(u))等于前向搜索端点s的GPS轨迹点加权成本PWcost(s),并进入步骤S20420,其中,所述匹配路径成本Cost的表达式如下:
Cost1=SPcost(s)+Length(u)+PWcost(s)
式中,SPcost(s)表示前向搜索端点s路径物理成本,Length(u)表示前向连接线u的长度,PWcost(s)表示前向搜索端点s的GPS轨迹点加权成本;
所述匹配路径成本Cost2的表达式如下:
Cost2=SPcost(n(u))+PWcost(n(u))
式中,SPcost(n(u))表示前向连接线u的前向端点n(u)路径物理成本,PWcost(n(u))表示前向连接线u的前向端点n(u)GPS轨迹点加权成本;
所述前向连接线u的前向端点n(u)局部截断成本LOCcost(n(u))的表达式如下:
LOCcost(n(u))=LOCcost(s)+Length(u)
式中,LOCcost(s)表示,前向搜索端点s局部截断成本,Length(u)表示前向连接线u的长度;
SPcost(n(u))=SPcost(s)+Length(u)
式中,SPcost(s)表示前向搜索端点s路径物理成本,Length(u)表示前向连接线u的长度;
S20419、根据前向搜索端点s局部截断成本LOCcost(s)以及前向连接线u的长度Length(u)计算得到前进变量HeadDist,并令前向连接线u的前向端点n(u)的局部截断成本LOCcost(n(u))=HeadDist,前向连接线u的前向端点n(u)的途径连接线SPvia(n(u))=u,前向连接线u的前向端点n(u)的局部轨迹增量Padd(n(u))=0,前向连接线u的前向端点n(u)的对应轨迹标号ValidN(n(u))=ValidN(s),前向连接线u的前向端点n(u)的路径物理成本SPcost(n(u))=SPcost(s)+Length(u),前向连接线u的前向端点n(u)的GPS轨迹点加权成本PWcost(n(u))=PWcost(s),并进入步骤S20425;其中,所述前进变量HeadDist的表达式如下:
HeadDist=LOCcost(s)+Length(u)
式中,LOCcost(s)表示前向搜索端点s局部截断成本,Length(u)表示前向连接线u的长度;
S20420、根据所述前向搜索端点s对应轨迹标号ValidN(s)计算得到当前匹配GPS轨迹点进度Mnow,并判断前向连接线u的前向端点n(u)的对应轨迹标号ValidN(n(u))是否为空值,若是,则进入步骤S20421,否则,进入步骤S20422;其中,所述当前匹配GPS轨迹点进度Mnow的表达式如下:
Mnow=ValidN(s)+AddN
式中,ValidN(s)表示前向搜索端点s对应轨迹标号,AddN表示局部增量匹配点数;
S20421、计算得到局部搜索成本Costnow以及令前向变量HeadDist为GPS轨迹点vp(Mnow)和前向连接线u的前向端点n(u)的欧式距离Euc(vp(Mnow...
【专利技术属性】
技术研发人员:王元庆,李亚香,吴洲豪,谢明辉,韦森,金书鑫,孙亚滨,
申请(专利权)人:长安大学,
类型:发明
国别省市:陕西;61
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。