发明名称 一种基于低采样率浮动车数据的全局投票地图匹配方法
摘要 一种基于低采样率浮动车数据的全局投票地图匹配方法,该方法在浮动车GPS轨迹数据的基础上,考虑道路网络的拓扑结构和不同距离的空间位置相邻的GPS轨迹数据对地图匹配过程的影响。定义了新的地图匹配函数指标,综合考虑道路网络的几何学特性和拓扑结构对匹配的影响,得出作为初始地图匹配结果的静态匹配矩阵(SMM);在此基础上,定义反映节点之间距离影响的距离加权函数对SMM进行修正,得到动态匹配矩阵(DMM),最后,对DMM采用全局投票的方法,找出最优轨迹作为地图匹配的结果。本发明能在低采样率的情况下,以较低的计算时间复杂度实现较好的地图匹配效果。
申请公布号 CN104197945B 申请公布日期 2017.04.12
申请号 CN201410427108.9 申请日期 2014.08.27
申请人 浙江工业大学 发明人 杨旭华;赵久强;汪向飞
分类号 G01C21/30(2006.01)I 主分类号 G01C21/30(2006.01)I
代理机构 杭州斯可睿专利事务所有限公司 33241 代理人 王利强
主权项 一种基于低采样率浮动车数据的全局投票地图匹配方法,其特征在于:所述匹配方法包括以下步骤:步骤一:构建有向道路网络G(V,E),其中V为道路的交叉点、起点或终点,E为被两个相邻交叉口分隔出的路段,定义一条路径为:在道路网络中,选取两个节点V<sub>i</sub>,V<sub>j</sub>,找到一条互相连接的路段集合s<sub>1</sub>→s<sub>2</sub>→s<sub>3</sub>...→s<sub>n</sub>,并且s<sub>1</sub>.start=V<sub>i</sub>,s<sub>n</sub>.end=V<sub>j</sub>,即路段s<sub>1</sub>的起点为V<sub>i</sub>,路段s<sub>n</sub>的终点为V<sub>j</sub>;在道路网络的基础上,处理浮动车GPS数据,得到浮动车GPS轨迹数据T;一个GPS点p的记录包括经度、纬度、时间,所有的GPS点的集合定义为GPS记录L,浮动车GPS轨迹数据T定义为一组采样间隔为Δt的GPS点的序列;一个路段s为一条道路被两个相邻交叉口分隔出的一段路,每个路段包含起始点、结束点、路段长度;步骤二:针对浮动车GPS轨迹数据T:p<sub>1</sub>→p<sub>2</sub>→p<sub>3</sub>...→p<sub>n</sub>中的轨迹点p<sub>i</sub>,1≤i≤n,选取在半径r范围内的所有路段为候选路段<img file="FDA0001127802050000011.GIF" wi="73" he="67" />k表示点p<sub>i</sub>的第k个候选路段;通过投影得到对应的候选节点:如果轨迹点p<sub>i</sub>在路段<img file="FDA0001127802050000012.GIF" wi="49" he="63" />的范围内存在垂点,则选取该垂点作为轨迹点p<sub>i</sub>的候选节点,记为<img file="FDA0001127802050000013.GIF" wi="70" he="68" />并且选取垂线的长度为该轨迹点与该路段的距离;否则,选取该路段离轨迹点较近的起点或者终点为候选节点,选取轨迹点与该路段起点或者终点的连线长度为该轨迹点与该路段的距离;根据路段投影过程,得出每个GPS轨迹点的候选点集合;步骤三:静态分析过程,定义匹配函数指标<img file="FDA0001127802050000014.GIF" wi="707" he="80" />其中<img file="FDA0001127802050000015.GIF" wi="65" he="65" />为点p<sub>i‑1</sub>的第j个候选节点,<img file="FDA0001127802050000016.GIF" wi="47" he="62" />为点p<sub>i</sub>的第k个候选节点,i≥2;对每个候选点进行匹配函数计算,得出静态分析矩阵;根据步骤二得到的候选节点集合,定义候选节点的近距概率MP为候选点<img file="FDA0001127802050000017.GIF" wi="48" he="63" />是正确的匹配结果的概率,1≤k≤n,即:<maths num="0001"><math><![CDATA[<mrow><mi>M</mi><mi>P</mi><mrow><mo>(</mo><msubsup><mi>c</mi><mi>i</mi><mi>k</mi></msubsup><mo>)</mo></mrow><mo>=</mo><mfrac><mn>1</mn><msqrt><mrow><mn>2</mn><mi>&pi;</mi></mrow></msqrt></mfrac><msup><mi>e</mi><mrow><mo>-</mo><mfrac><msup><mrow><mo>(</mo><msubsup><mi>x</mi><mi>i</mi><mi>k</mi></msubsup><mo>-</mo><mi>&mu;</mi><mo>)</mo></mrow><mn>2</mn></msup><mrow><mn>2</mn><msup><mi>&delta;</mi><mn>2</mn></msup></mrow></mfrac></mrow></msup></mrow>]]></math><img file="FDA0001127802050000018.GIF" wi="478" he="145" /></maths>其中<img file="FDA0001127802050000019.GIF" wi="45" he="62" />为该候选点<img file="FDA00011278020500000110.GIF" wi="45" he="63" />与轨迹点p<sub>i</sub>的欧氏距离;考虑道路网络的拓扑结构,定义两个候选节点<img file="FDA00011278020500000111.GIF" wi="161" he="63" />之间的连通概率CP为:<maths num="0002"><math><![CDATA[<mrow><mi>C</mi><mi>P</mi><mrow><mo>(</mo><msubsup><mi>c</mi><mrow><mi>i</mi><mo>-</mo><mn>1</mn></mrow><mi>j</mi></msubsup><mo>&RightArrow;</mo><msubsup><mi>c</mi><mi>i</mi><mi>k</mi></msubsup><mo>)</mo></mrow><mo>=</mo><mfrac><msub><mi>l</mi><mrow><mi>i</mi><mo>-</mo><mn>1</mn><mo>&RightArrow;</mo><mi>i</mi></mrow></msub><msub><mi>s</mi><mrow><mo>(</mo><mi>i</mi><mo>-</mo><mn>1</mn><mo>,</mo><mi>j</mi><mo>)</mo><mo>&RightArrow;</mo><mo>(</mo><mi>i</mi><mo>,</mo><mi>k</mi><mo>)</mo></mrow></msub></mfrac></mrow>]]></math><img file="FDA00011278020500000112.GIF" wi="541" he="135" /></maths>其中,l<sub>i‑1→i</sub>为两个相邻轨迹点p<sub>i‑1</sub>和轨迹点p<sub>i</sub>之间的欧氏距离,s<sub>(i‑1,j)→(i,k)</sub>为通过候选节点<img file="FDA00011278020500000113.GIF" wi="65" he="64" />和<img file="FDA00011278020500000114.GIF" wi="47" he="67" />的最短路径长度;选取相邻轨迹点p<sub>i‑1</sub>和p<sub>i</sub>相应的候选节点<img file="FDA00011278020500000115.GIF" wi="62" he="63" />和<img file="FDA00011278020500000116.GIF" wi="72" he="69" />经过匹配函数计算,得出静态分析矩阵M,针对每条路径<img file="FDA00011278020500000117.GIF" wi="195" he="71" />n≥i≥2,计算出匹配函数的值,得出静态分析矩阵M:<maths num="0003"><math><![CDATA[<mrow><mi>M</mi><mo>=</mo><mfenced open = "[" close = "]"><mtable><mtr><mtd><msub><mi>M</mi><mn>2</mn></msub></mtd><mtd><mn>0</mn></mtd><mtd><mn>...</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><msub><mi>M</mi><mn>3</mn></msub></mtd><mtd><mn>...</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>...</mn></mtd><mtd><msub><mi>M</mi><mi>n</mi></msub></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0001127802050000021.GIF" wi="542" he="295" /></maths>其中M<sub>i</sub>为路径<img file="FDA0001127802050000022.GIF" wi="170" he="65" />经过匹配函数计算得到的矩阵,i≥2:<maths num="0004"><math><![CDATA[<mrow><msub><mi>M</mi><mi>i</mi></msub><mo>=</mo><mfenced open = "[" close = "]"><mtable><mtr><mtd><msub><mi>F</mi><mrow><mo>(</mo><msubsup><mi>c</mi><mrow><mi>i</mi><mo>-</mo><mn>1</mn></mrow><mn>1</mn></msubsup><mo>&RightArrow;</mo><msubsup><mi>c</mi><mi>i</mi><mn>1</mn></msubsup><mo>)</mo></mrow></msub></mtd><mtd><msub><mi>F</mi><mrow><mo>(</mo><msubsup><mi>c</mi><mrow><mi>i</mi><mo>-</mo><mn>1</mn></mrow><mn>1</mn></msubsup><mo>&RightArrow;</mo><msubsup><mi>c</mi><mi>i</mi><mn>2</mn></msubsup><mo>)</mo></mrow></msub></mtd><mtd><mn>...</mn></mtd><mtd><msub><mi>F</mi><mrow><mo>(</mo><msubsup><mi>c</mi><mrow><mi>i</mi><mo>-</mo><mn>1</mn></mrow><mn>1</mn></msubsup><mo>&RightArrow;</mo><msubsup><mi>c</mi><mi>i</mi><mi>n</mi></msubsup><mo>)</mo></mrow></msub></mtd></mtr><mtr><mtd><msub><mi>F</mi><mrow><mo>(</mo><msubsup><mi>c</mi><mrow><mi>i</mi><mo>-</mo><mn>1</mn></mrow><mn>2</mn></msubsup><mo>&RightArrow;</mo><msubsup><mi>c</mi><mi>i</mi><mn>1</mn></msubsup><mo>)</mo></mrow></msub></mtd><mtd><msub><mi>F</mi><mrow><mo>(</mo><msubsup><mi>c</mi><mrow><mi>i</mi><mo>-</mo><mn>1</mn></mrow><mn>2</mn></msubsup><mo>&RightArrow;</mo><msubsup><mi>c</mi><mi>i</mi><mn>2</mn></msubsup><mo>)</mo></mrow></msub></mtd><mtd><mn>...</mn></mtd><mtd><msub><mi>F</mi><mrow><mo>(</mo><msubsup><mi>c</mi><mrow><mi>i</mi><mo>-</mo><mn>1</mn></mrow><mn>2</mn></msubsup><mo>&RightArrow;</mo><msubsup><mi>c</mi><mi>i</mi><mi>n</mi></msubsup><mo>)</mo></mrow></msub></mtd></mtr><mtr><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd></mtr><mtr><mtd><msub><mi>F</mi><mrow><mo>(</mo><msubsup><mi>c</mi><mrow><mi>i</mi><mo>-</mo><mn>1</mn></mrow><mi>m</mi></msubsup><mo>&RightArrow;</mo><msubsup><mi>c</mi><mi>i</mi><mn>1</mn></msubsup><mo>)</mo></mrow></msub></mtd><mtd><msub><mi>F</mi><mrow><mo>(</mo><msubsup><mi>c</mi><mrow><mi>i</mi><mo>-</mo><mn>1</mn></mrow><mi>m</mi></msubsup><mo>&RightArrow;</mo><msubsup><mi>c</mi><mi>i</mi><mn>2</mn></msubsup><mo>)</mo></mrow></msub></mtd><mtd><mn>...</mn></mtd><mtd><msub><mi>F</mi><mrow><mo>(</mo><msubsup><mi>c</mi><mrow><mi>i</mi><mo>-</mo><mn>1</mn></mrow><mi>m</mi></msubsup><mo>&RightArrow;</mo><msubsup><mi>c</mi><mi>i</mi><mi>n</mi></msubsup><mo>)</mo></mrow></msub></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0001127802050000023.GIF" wi="941" he="355" /></maths>其中,1≤j≤m,1≤k≤n,m,n分别为c<sub>i‑1</sub>,c<sub>i</sub>的候选节点总个数;步骤四:加权得分过程,定义与两个轨迹点p<sub>i</sub>,p<sub>j</sub>之间的距离有关的函数的距离加权函数W<sub>i</sub><sup>j</sup>=f(dist(p<sub>i</sub>,p<sub>j</sub>)),dist(p<sub>i</sub>,p<sub>j</sub>)为轨迹点p<sub>i</sub>,p<sub>j</sub>之间的欧氏距离,1≤i≤n,1≤j≤n,i≠j,距离加权函数代表节点之间距离越远,节点之间影响越弱,对每一个GPS点,经过全局计算,得出加权分析矩阵;针对每个轨迹点p<sub>i</sub>,定义一个n‑1维距离影响矩阵W<sub>i</sub>:<maths num="0005"><math><![CDATA[<mrow><msub><mi>W</mi><mi>i</mi></msub><mo>=</mo><mfenced open = "[" close = "]"><mtable><mtr><mtd><msubsup><mi>W</mi><mi>i</mi><mn>1</mn></msubsup></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><msubsup><mi>W</mi><mi>i</mi><mn>2</mn></msubsup></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mo>...</mo></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><msubsup><mi>W</mi><mi>i</mi><mrow><mi>i</mi><mo>-</mo><mn>1</mn></mrow></msubsup></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><msubsup><mi>W</mi><mi>i</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn></mrow></msubsup></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mo>...</mo></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><msubsup><mi>W</mi><mi>i</mi><mi>n</mi></msubsup></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0001127802050000024.GIF" wi="766" he="470" /></maths>其中,距离加权函数W<sub>i</sub><sup>j</sup>采用<img file="FDA0001127802050000025.GIF" wi="768" he="126" />其中δ为阈值,接下来,加权分析矩阵G<sub>i</sub>,1≤i≤n:<maths num="0006"><math><![CDATA[<mrow><msub><mi>G</mi><mi>i</mi></msub><mo>=</mo><mfenced open = "[" close = "]"><mtable><mtr><mtd><msubsup><mi>G</mi><mi>i</mi><mn>1</mn></msubsup></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><msubsup><mi>G</mi><mi>i</mi><mn>2</mn></msubsup></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mo>...</mo></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><msubsup><mi>G</mi><mi>i</mi><mrow><mi>i</mi><mo>-</mo><mn>1</mn></mrow></msubsup></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><msubsup><mi>G</mi><mi>i</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn></mrow></msubsup></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mo>...</mo></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><msubsup><mi>G</mi><mi>i</mi><mi>n</mi></msubsup></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0001127802050000026.GIF" wi="747" he="478" /></maths>其中<img file="FDA0001127802050000027.GIF" wi="1398" he="66" />步骤五:全局投票,对每个轨迹点p<sub>i</sub>,在其对应的加权分析矩阵G<sub>i</sub>中,寻找一条最优的通过每个轨迹点的候选节点的路径,定义为单点投票过程;某个候选节点被选取,对这个候选节点进行记录加一操作,表示一次投票选中过程,针对全部候选节点集合,依次重复上述一次投票选中过程,会得到全部候选节点的得票情况;最后,对每个轨迹点p<sub>i</sub>,在其候选节点集合中选择得票数最多的候选点作为全局候选节点结果,即得到了全局匹配结果。
地址 310014 浙江省杭州市下城区朝晖六区潮王路18号