JUST团队-周思晗
随着城市规模的不断扩大和便民业务的发展,行车导航、共享汽车和物流派送等应用已经深入人们日常生活之中。这些应用都不可避免地需要使用GPS、北斗等定位系统,进而产生了大量的轨迹数据。然而,普通民用GPS定位系统上传的位置数据会由于许多缘故发生与物体的实际地理位置不同的现象,产生了米级别的误差,一般在10米以内。此外,在数据传输、存储和耗电的条件限制下,导致轨迹点采样频率不宜过高。因此,以上因素导致采集到的移动对象位置与其实际所在道路之间有一定距离偏差。为了使接收到的位置数据可以真实反映移动对象的运行轨迹,需要进行轨迹的各种预处理工作,其中地图匹配是一项十分重要的工作。
一、地图匹配
地图匹配是将存在误差或漂移的GPS观测点匹配至路网上的算法,它常用于还原观测点的真实位置和移动物体的运动轨迹。如图1,地图匹配算法将采集到点1、2、3映射到路段上。地图匹配可分为离线和实时两种处理方式:离线方式接收过去一段时间观测到的批量轨迹数据,并计算输出全量轨迹的最优匹配结果。其优势在于准确度高。然而,它的处理过程十分耗时,因此,面对监测和追踪等需要实时返回计算结果的场景难免力有不逮;实时地图匹配则可以很好地弥补离线处理时延大的缺陷。目前,基于HMM的实时地图匹配算法[2]被广泛使用于很多业务场景中,如公交车实时位置播报、快递员配送位置跟踪。以危化品运输车辆的监管为例,危化品运输车若偏离原报备路线,通过实时的地图匹配可以在第一时间获取其异常行为及最新位置,实现了对危化品车辆行驶路线的实时监测。barefoot [1]是一个开源项目,它基于实时地图匹配算法提供了实时地图匹配服务。本文接下来主要从算法思想和实现思路两方面介绍开源项目barefoot中的实时地图匹配服务。