各种定位方式或多或少都存在着一定的误差。如果是在室外,如果GPS信号比较好,定位结果会比较准确。当GPS信号不好的时候(例如高架桥下、隧道、高层建筑遮挡等),可能就会使用WIFI或基站定位,特别是当周边WIFI热点比较少的时候会使用基站定位,定位误差会有所加大,产生轨迹漂移的现象。
为了纠正轨迹漂移,提升轨迹和里程的准确性,鹰眼提供了高性能的轨迹纠偏服务,且具有以下特性:
鹰眼轨迹纠偏包括以下步骤:
对于明显的噪点进行识别并去除
关于去噪的使用教程请见:《轨迹去噪功能应用》
对于冗余的数据点进行去除,如一条直线上的多个轨迹点,减少数据量,提升展示效率
关于抽稀的使用教程请见:《轨迹抽稀功能应用》
将轨迹点绑定至道路,达到纠正偏移轨迹、补充中断轨迹点(如:轨迹不连续、进入隧道导致的丢点)、补充道路拐点等效果。
关于绑路的使用教程请见:《轨迹绑路功能应用》
对于轨迹中前后轨迹点定位时间相差>5分钟,且距离大于300米地区间,鹰眼认定其为中断区间。对于中断区间,鹰眼支持根据对应地交通方式(驾车、骑行、步行)使用路线规划进行轨迹点和里程的补偿,实现轨迹的完整性。
关于中断区间补偿的使用教程请见:《轨迹补偿功能应用》
在查询轨迹时设置是否纠偏(isProcessed)并设置纠偏选项(processOption)。鹰眼在 processOption 中开放了多种纠偏选项供开发者设置,包括:
1. 去噪:可设置是否需要去除角度、速度和方向异常的轨迹点
2. 绑路:设置是否将轨迹点绑定至路网道路
3. 抽稀:设置是否进行抽稀处理,对冗余的轨迹点进行抽稀去除处理,如一条直线上除起终点外的多个轨迹点
4. 定位精度过滤:设置定位精度过滤阈值,用于过滤掉定位精度较差的轨迹点。
5. 交通方式:可指明轨迹对应交通方式,鹰眼纠偏模块将根据不同的交通方式采用不同的轨迹纠偏处理。
同时,鹰眼支持对中断5分钟以上的轨迹区间进行里程补偿,支持使用直线/驾车/骑行/步行这几种方式补偿中断区间的里程。轨迹纠偏服务将根据开发者的以上设置来进行轨迹纠偏。
// 请求标识int tag = 1;// 轨迹服务IDlong serviceId = 0;// 设备标识String entityName = "myTrace";// 创建历史轨迹请求实例HistoryTrackRequest historyTrackRequest = new HistoryTrackRequest(tag, serviceId, entityName);// 开始时间2017-4-17 0:0:0的UNIX 时间戳long startTime = 1492358400;// 结束时间2017-4-17 23:59:59的UNIX 时间戳long endTime = 1492444799;// 设置开始时间historyTrackRequest.setStartTime(startTime);// 设置结束时间historyTrackRequest.setEndTime(endTime);// 设置需要纠偏historyTrackRequest.setProcessed(true);// 创建纠偏选项实例ProcessOption processOption = new ProcessOption();// 设置需要去噪processOption.setNeedDenoise(true);// 设置需要抽稀processOption.setNeedVacuate(true);// 设置需要绑路processOption.setNeedMapMatch(true);// 设置精度过滤值(定位精度大于100米的过滤掉)processOption.setRadiusThreshold(100);// 设置交通方式为驾车processOption.setTransportMode(TransportMode.driving);// 设置纠偏选项historyTrackRequest.setProcessOption(processOption);// 设置里程填充方式为驾车historyTrackRequest.setSupplementMode(SupplementMode.driving);// 初始化轨迹监听器OnTrackListener mTrackListener = new OnTrackListener() {// 历史轨迹回调@Overridepublic void onHistoryTrackCallback(HistoryTrackResponse response) {}};// 查询轨迹mTraceClient.queryHistoryTrack(historyTrackRequest, mTrackListener);
上一篇
下一篇
本篇文章对您是否有帮助?