地图匹配实践

简介:

1 背景

  如下图所示,1、2、3这三个点是汽车的GPS定位结果,尽管汽车是在道路上,但定位结果与道路存在偏差。地图匹配(Map Matching)是指将行车轨迹的经纬度采样序列与数字地图路网匹配的过程,其本质上是平面线段序列的模式匹配问题( Alt等,2003)。

  在实际应用中,GPS采样信号的质量会严重影响地图匹配结果:采样频率的降低、定位误差的加大、信号的丢失,都会使匹配的不准确性增加。这些情况在实际应用中经常出现。如何在这些情况下仍能保持较高的路径匹配准确率是个值得研究的问题。

  2012年ACM SIGSPATIAL首次设立的竞赛,其内容就是地图匹配。三年前本人有幸和国防科大的杨岸然博士一同参加了该竞赛,收获良多。本博文也就是对参加竞赛的工作做一个简要的总结回顾,想要代码参考的朋友可以在下面留下邮箱,并注明用途。

  

2  地图匹配算法综述

2.1 以使用到的信息来划分

  现有的算法可被分成四类:几何、拓扑、概率、高级。

  a)基于几何的算法考虑GPS点与道路的几何信息,如距离、角度等;
  b)基于拓扑的算法使用道路拓扑信息来控制;
  c)概率方法通过考虑GPS点的概率;
  d)高级的算法往往综合考虑使用全面信息,有卡尔曼滤波、模糊逻辑模型、隐式马尔可夫模型等等。

2.2 以考虑采样点的范围来划分

  根据考虑采样点的范围,可分成局部/增量算法、全局算法。

  a)局部/增量算法是贪婪算法,每次确定一个匹配点,下个点从已经确定的匹配点开始。这些方法根据距离和方向相似性来找到局部最优点或边。(在线匹配)
  b)全局算法是要从路网中找到一条与采样轨迹最接近的匹配轨迹。为了测量采样轨迹和匹配轨迹的相似性,大多数算法使用“Frechet距离”或者是“弱Frechet距离”。还有时空匹配算法、投票算法等。(离线匹配)

2.3 以采样点的频率来划分

  根据轨迹数据的采样频率,现有的地图匹配算法可分成:

  a)高频采样算法(所有局部算法、部分全局算法如Frechet距离判别法等)
b)低频采样算法(ST-matching算法、IVVM算法

  一般认为30s及其以上为低频采样,1s~10s为高频采样。

3 我们的训练数据

  a)路网数据: Washington State U.S.A.(有128万条边 )
  b)GPS数据:采样频率为1~30s,

4 采用的算法

  使用ST-Matching算法(Lou等,2009),该算法是一种全局算法,能综合几何信息( GPS点与道路的距离)、道路拓扑信息(最短路径)、道路属性信息(每条道路的限速),具有精度高,稳定性好等优点。

4.1 准备候选集

4.2 确定权重

a)空间因素权重(Fs)
b)时间因素权重(Ft)
 

5 实验结果

6 技术实现要点

6.1 地图投影问题

  问题:原始道路网数据的坐标与轨迹点的坐标并不在一个坐标体系下,不能直接进行计算!

  解决方法:使用PRJ4地图投影库将两个数据投影到统一坐标下。

6.2 大路网信息数据量的读取

  问题:该路网有128万条边,我们采用C++,如果读取每条边都进行new和delete操作,将执行128万次,效率极低!

  解决方法:使用内存池技术。

6.3 最短路径算法的选择

  问题:候选集不同层次的候选点之间都要计算最短路径,使用最常用的Dijkstra最短路径算法效率极低!

  解决方法:使用启发式最短路径算法:A-star算法。

6.4 索引

  问题:由于竞赛真实测试会使用很多不同的路网数据,所以建立索引没必要,但是计算某一GPS点的候选集时路网所有数据会参与计算,效率很低;

  解决方法:计算某一GPS点的候选集时,先进行切片过滤,比如以该GPS点为中心,生成200m的正方形框,然后在该框里建立新的道路网,这时计算候选集时只需要与该框内的道路网数据计算。

目录
相关文章
文本---视频网站好的构思,应该有类别构思,一个类别能够将它呈现出列表集合,以列表排序,如何完成类别构建,使之展现同一类,是一个好的视频写法
文本---视频网站好的构思,应该有类别构思,一个类别能够将它呈现出列表集合,以列表排序,如何完成类别构建,使之展现同一类,是一个好的视频写法
|
5月前
|
定位技术
腾讯地图的(地图选点|输入模糊匹配)
腾讯地图的(地图选点|输入模糊匹配)
|
6月前
|
存储 JavaScript 小程序
高德地图实现点聚合功能的详细步骤加截取地图图片 (附源码)
高德地图实现点聚合功能的详细步骤加截取地图图片 (附源码)
124 0
|
6月前
|
JavaScript 前端开发 小程序
高德地图实现-逆地理编码-输入提示-地图标点-实现车库管理
高德地图实现-逆地理编码-输入提示-地图标点-实现车库管理
199 0
|
6月前
|
编解码 文字识别 安全
印刷文字操作报错合集之出现“图片和服务类型不匹配”,该怎么解决
在使用印刷文字识别(OCR)技术过程中,可能会遇到各种错误或问题。以下是一些常见的报错情况及其可能的原因和解决建议。包括但不限于:1.识别率低,错误多、2.无法识别特定字符或字体、3.文件格式不支持、4.内存或资源不足、5.网络连接问题、6.API调用限制或授权问题、7.语言识别错误、8.安全与隐私问题。
101 0
|
JavaScript 前端开发 搜索推荐
腾讯位置 - 地图构建入门(结尾附视频)
腾讯位置 - 地图构建入门(结尾附视频)
115 0
|
6月前
|
算法
[Halcon&定位] 形状匹配和灰度匹配对比
[Halcon&定位] 形状匹配和灰度匹配对比
225 0
|
搜索推荐 定位技术
https://www.shimifeng.com/sitemap 网站地图大小写区分
https://www.shimifeng.com/sitemap 网站地图大小写区分
97 0
|
人工智能 自然语言处理 算法
Similarities:精准相似度计算与语义匹配搜索工具包,多维度实现多种算法,覆盖文本、图像等领域,支持文搜、图搜文、图搜图匹配搜索
Similarities:精准相似度计算与语义匹配搜索工具包,多维度实现多种算法,覆盖文本、图像等领域,支持文搜、图搜文、图搜图匹配搜索
Similarities:精准相似度计算与语义匹配搜索工具包,多维度实现多种算法,覆盖文本、图像等领域,支持文搜、图搜文、图搜图匹配搜索
|
搜索推荐 数据可视化 JavaScript
数据可视化大屏百度地图绘制行政区域标注实战案例解析(个性化地图、标注、视频、控件、定位、检索)
数据可视化大屏百度地图绘制行政区域标注实战案例解析(个性化地图、标注、视频、控件、定位、检索)
209 1