鹰眼android sdk | 百度地图api sdk-凯发k8官方旗舰厅

浏览器版本低!无法浏览完整内容,建议升级或更换浏览器。
轨迹纠偏
下载开发文档
简介

各种定位方式或多或少都存在着一定的误差。如果是在室外,如果gps信号比较好,定位结果会比较准确。当gps信号不好的时候(例如高架桥下、隧道、高层建筑遮挡等),可能就会使用wifi或基站定位,特别是当周边wifi热点比较少的时候会使用基站定位,定位误差会有所加大,产生轨迹漂移的现象。

为了纠正轨迹漂移,提升轨迹和里程的准确性,鹰眼提供了高性能的轨迹纠偏服务,且具有以下特性:

高性能:一次请求支持对2万个轨迹点进行批量纠偏处理,响应时间不超过3秒
可配置:开放多种纠偏因子供开发者自行调节
适用性:针对驾车、骑行和步行不同出行模式执行相应轨迹纠偏策略,满足不同应用场景需求

鹰眼轨迹纠偏包括以下步骤:

1. 去噪

对于明显的噪点进行识别并去除

关于去噪的使用教程请见:

2. 抽稀

对于冗余的数据点进行去除,如一条直线上的多个轨迹点,减少数据量,提升展示效率

关于抽稀的使用教程请见:

3. 绑路

将轨迹点绑定至道路,达到纠正偏移轨迹、补充中断轨迹点(如:轨迹不连续、进入隧道导致的丢点)、补充道路拐点等效果。

关于绑路的使用教程请见:

4. 中断区间补偿

对于轨迹中前后轨迹点定位时间相差>5分钟,且距离大于300米地区间,鹰眼认定其为中断区间。对于中断区间,鹰眼支持根据对应地交通方式(驾车、骑行、步行)使用路线规划进行轨迹点和里程的补偿,实现轨迹的完整性。

关于中断区间补偿的使用教程请见:

如何使用轨迹纠偏

在查询轨迹时设置是否纠偏(isprocessed)并设置纠偏选项(processoption)。鹰眼在 processoption 中开放了多种纠偏选项供开发者设置,包括:

1. 去噪:可设置是否需要去除角度、速度和方向异常的轨迹点

2. 绑路:设置是否将轨迹点绑定至路网道路

3. 抽稀:设置是否进行抽稀处理,对冗余的轨迹点进行抽稀去除处理,如一条直线上除起终点外的多个轨迹点

4. 定位精度过滤:设置定位精度过滤阈值,用于过滤掉定位精度较差的轨迹点。

5. 交通方式:可指明轨迹对应交通方式,鹰眼纠偏模块将根据不同的交通方式采用不同的轨迹纠偏处理。

同时,鹰眼支持对中断5分钟以上的轨迹区间进行里程补偿,支持使用直线/驾车/骑行/步行这几种方式补偿中断区间的里程。轨迹纠偏服务将根据开发者的以上设置来进行轨迹纠偏。

示例代码
// 请求标识
int tag =1;
// 轨迹服务id
long serviceid =0;
// 设备标识
string entityname ="mytrace";
// 创建历史轨迹请求实例
historytrackrequest historytrackrequest =newhistorytrackrequest(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 =newprocessoption();
// 设置需要去噪
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 =newontracklistener(){
// 历史轨迹回调
@override
publicvoidonhistorytrackcallback(historytrackresponse response){}
};
// 查询轨迹
mtraceclient.queryhistorytrack(historytrackrequest, mtracklistener);
轨迹纠正效果示意图

上一篇

轨迹查询

下一篇

里程计算

本篇文章对您是否有帮助?

网站地图