地图匹配实践

 http://www.cnblogs.com/LBSer/p/4612031.html

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 大路网信息数据量的读取

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

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

6.2 最短路径算法的选择

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

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

6.3 索引

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

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

时间: 2024-10-12 22:14:43

地图匹配实践的相关文章

基于ArcGIS 的GPS数据地图匹配

GPS数据由于信号不良.通信异常.定位误差等原因,不能很好地落在道路上,所以需要对GPS数据进行地图匹配,与道路进行关联.而空间数据由于其特殊的数据格式,最佳的处理途径仍旧是ArcGIS Desktop系列软件. 一.路网数据检查 根据实验的需要提取出路网数据,对路网进行拓扑检查,包括不能有重叠.不能有悬挂点等,对拓扑错误进行修改:同时,需要进行"在折点处打断"操作,形成正确可用的路网数据. 二.GPS数据检查 GPS数据预处理是GPS数据使用的第一步,详见博客. 三.地图匹配 1.G

caioj1465: 【AC自动机】地图匹配

刷的第二题AC自动机,这题简直了.. 用询问的串建AC自动机,然后...爆搜! ACBB                  ACBBACCA                  A  AABBC        ——〉     A  CACBA                  ACBA 像这样,将最外面的每一个点将有可能的方向走,比如第一行第一列的A向东南走,就可以得到一个ACBA的串,然后像模板题一样,去匹配找就行了.(老实讲我还是觉得这个很不靠谱..谁叫人家地图小..) 小细节,我将查询的字符

如何计算用户在某个车站上下车,地图匹配方法

具体需求基于电信的位置融合数据,分析用户是否通过火车出行,以及火车出行的相关信息,如乘车车次.上车站.下车站等. 数据描述1.用户定位数据手机号码业务开始时间城市编码经纬度基站标识网格号业务类型事件类型数据源天分区2.火车停靠数据车次车站序号车站名称行驶时间到站时间行驶里程经纬度 Python代码如下:输入经纬度 和编码级别计算对应的geohash编码 from math import log10 __base32 = '0123456789bcdefghjkmnpqrstuvwxyz' __d

[Oracle]在数据库中实现地图匹配

The method to do the map match 1 The algorithm procedures First ,we should find the most nearest road to the point from all roads in haerbin; Second, we should find the most nearest point to the point from the road. For example, as figure 1 ,we will

高德在提升定位精度方面的探索和实践

2019杭州云栖大会上,高德地图技术团队向与会者分享了包括视觉与机器智能.路线规划.场景化/精细化定位时空数据应用.亿级流量架构演进等多个出行技术领域的热门话题.现场火爆,听众反响强烈.我们把其中的优秀演讲内容整理成文并陆续发布出来,本文为其中一篇. 阿里巴巴高级地图技术专家方兴在高德技术专场做了题为<向场景化.精细化演进的定位技术>的演讲,主要分享了高德在提升定位精度方面的探索和实践,本文根据现场内容整理而成(在不影响原意的情况下对文字略作编辑),更多定位技术的实现细节请关注后续系列文章.

UCMap移动GIS &amp; 时空地图GIS

UCMapViewer是基于UCMap(OpenGL版)的通用地图开发框架,涵盖了各类GIS数据的展示.查询.编辑.分析等各项功能 (http://www.creable.cn/kuibu/xiazai.asp ) ,开发者可根据自己的应用需求来定制修改 时空地图 TimeGIS 6.1 时空地图 TimeGIS 6.1 是一个地理信息系统软件,它可以显示网络地图,编辑ArcGIS的SHP矢量文件格式,导入DXF/DWG文件,显示NETCDF等栅格文件,管理图层等. 在它的基础上,可以二次开发各

从培训机构出来

这样能找到工作吗?我感觉悬.(第一次)靠着一份愣头青的冲动,还是顺利找到了.想起来都有些后怕,那是个什么情况,居然有人要. 先说培训出来,全部在雾里,哪有几个懂的,趁着手热就上的感觉吧.我倒是没有培训完全过,培训到听不下去就闪人了,一些框架太繁琐,不如编程思想来的有意思. 有时候看看周围学习的同学,想想他们.有的是逻辑不行硬上的,有的是宅型认真听老师的,有的是来混时间娱乐大众的.偶尔有那么一些大学专业对口,也敢兴趣,看起来比较靠谱的.只是当谈到工作,都是心里没什么底吧.或许可以抱着混一混过去,进

车辆驾驶行为实时分析与历史查询

项目需求:①实时分析:②历史查询 实时分析:要求按趟计算超速情况,夜间驾驶情况,疲劳驾驶情况,驾驶里程情况,分别计算各项得分,然后计算综合得分. 历史查询:要求岸田查看各趟情况,每趟中可选择查看每一次违规驾驶行为的详细情况. 项目分析与实施方案,首选大数据方案,在平台选择方面,必然选择流计算平台,主要可选方案是spark和storm,spark1中的spark stream是使用小批量处理来模拟流计算,并不是完全的实时计算. spark2.0中提供了基于dataset\datefram接口的流计

提取行政区边界经纬度坐标(高德+百度)

前言 近来由于工作需要,需要提取某些城市的经纬度坐标,稍微搜索了一下,发现百度地图和高德地图都提供了相关的函数和例子.那么剩余的工作也就比较简单了,保存坐标,然后转换为WGS坐标,这样才能和现有的GPS数据以及地图匹配. 主要问题和解决方法 本地保存文件跨浏览器支持 由于安全的原因,JavaScript本地保存文件的方式通常都只有IE支持的ActiveXObject/Open方法,每次都要提示不安全和允许运行,非常麻烦.好在其他浏览器目前都支持<a>标签实现文件下载的方法.经测试最新的Goog