各种定位方式或多或少都存在着一定的误差,卫星信号不好的时候(例如,楼宇密集处、高架桥下、隧道等),可能就会使用wi-fi或基站定位,特别是当周边wi-fi热点比较少的时候会使用基站定位,定位误差会有所加大,产生轨迹漂移的现象。
为了纠正轨迹漂移,提升轨迹和里程的准确性,鹰眼在轨迹查询服务中提供了高性能的轨迹纠偏功能,其特性如下:
1. 高性能:一次请求支持对2万个轨迹点进行批量纠偏处理,响应时间不超过3秒
2. 可配置:开放多种纠偏因子供开发者自行调节
3. 适用性:针对驾车、骑行和步行不同出行模式执行对应的轨迹纠偏策略,并针对停留点漂移进行了单独识别与处理,故对于移动和停留期间的轨迹均有优异的纠偏效果
鹰眼的纠偏步骤如下:
关于去噪的使用教程请见:
关于抽稀的使用教程请见:
关于绑路的使用教程请见:
关于中断区间补偿的使用教程请见:
以 web 服务 api 为例,介绍轨迹纠偏的使用方法,android 和 ios sdk 实现原理一致,但参数名称稍有差异。
为实现轨迹纠偏,开发者可在查询轨迹时设置两个参数:是否纠偏(is_rocessed)和 纠偏选项(process_option)来实现。
当is_processed=0时,表示关闭纠偏,此时 process_option不生效,返回原始轨迹
denoise_grade=1,need_mapmatch=0,transport_mode=auto
取值规则为:
1.去噪,示例:
denoise_grade:0 (不去噪) denoise_grade:1 (系统默认去噪) denoise_grade:2(系统默认去噪,同时去除定位精度低于500的轨迹点,相当于保留gps定位点、大部分wi-fi定位点和精度较高的基站定位点) denoise_grade:3(系统默认去噪,同时去除定位精度低于100的轨迹点,相当于保留gps定位点和大部分wi-fi定位点) denoise_grade:4(系统默认去噪,同时去除定位精度低于50的轨迹点,相当于保留gps定位点和精度较高的wi-fi定位点) denoise_grade:5(系统默认去噪,同时去除定位精度低于20的轨迹点,相当于仅保留gps定位点)
2.绑路,示例:
need_mapmatch=0 (不绑路)
need_mapmatch=1 (绑路)
3.选择交通方式。鹰眼将根据不同交通工具选择不同的纠偏策略,目前支持:自动(即鹰眼自动识别的交通方式)、驾车、骑行和步行,示例:
transport_mode=auto(根据轨迹鹰眼自动识别交通方式)
transport_mode=driving(驾车)
transport_mode=riding(骑行)
transport_mode=walking(步行)
绑路时会依据道路形状进行补点,例如:原始轨迹在道路拐弯处缺点,绑路将进行补充,补点的定位时间目前取的是前一个原始点的定位时间。
1. 通过supplement_mode参数设置补偿的方式,目前支持以下补偿方式:
no_supplement:不补充,中断两点间距离不记入里程。
straight:使用直线补充
driving:使用最短驾车路线规划补充
riding:使用最短骑行路线规划补充
walking:使用最短步行路线规划补充
2. 通过supplement_content参数设置是仅补偿里程,还是同时补偿轨迹点和里程,支持以下方式:
only_distance:对于中断区间,只补偿中断的里程,不补偿轨迹点
distance_and_points:对于中断区间,既补偿里程,又补偿轨迹点