浏览器版本低!无法浏览完整内容,建议升级或更换浏览器。
简介
 
(未显示1个用户的37个中间版本)
第1行: 第1行:
{{android-yingyan-sidebar}}
+
{{android-yingyan-sidebar}}<div class="bluetitle"><div class="services-title-text">简介</div></div><div class="serve-explain-text">
==简介==
+
 
+
 
各种定位方式或多或少都存在着一定的误差。如果是在室外,如果GPS信号比较好,定位结果会比较准确。当GPS信号不好的时候(例如高架桥下、隧道、高层建筑遮挡等),可能就会使用WIFI或基站定位,特别是当周边WIFI热点比较少的时候会使用基站定位,定位误差会有所加大,产生轨迹漂移的现象。
 
各种定位方式或多或少都存在着一定的误差。如果是在室外,如果GPS信号比较好,定位结果会比较准确。当GPS信号不好的时候(例如高架桥下、隧道、高层建筑遮挡等),可能就会使用WIFI或基站定位,特别是当周边WIFI热点比较少的时候会使用基站定位,定位误差会有所加大,产生轨迹漂移的现象。
  
 +
为了纠正轨迹漂移,提升轨迹和里程的准确性,鹰眼提供了高性能的轨迹纠偏服务,且具有以下特性:<br/><br/>1. 高性能:一次请求支持对2万个轨迹点进行批量纠偏处理,响应时间不超过3秒<br/><br/>2. 可配置:开放多种纠偏因子供开发者自行调节<br/><br/>3. 适用性:针对驾车、骑行和步行不同出行模式执行相应轨迹纠偏策略,满足不同应用场景需求<br/><br/><br/>鹰眼的纠偏步骤如下:
 +
<div class="devguide"><div class="leftborderbg" style="height:120px;"></div><div class="devguideorder"><span>1</span>去噪</div><div class="devguidecenter">对于明显的噪点进行识别并去除<br/>关于去噪的使用教程请见:[https://developer.baidu.com/article/detail.html?id=290951 《轨迹去噪功能应用》]</div><div class="devguideorder"><span>2</span>抽稀</div><div class="devguidecenter">对于冗余的数据点进行去除,如一条直线上的多个轨迹点,减少数据量,提升展示效率<br/>关于抽稀的使用教程请见:[https://developer.baidu.com/article/detail.html?id=290950 《轨迹抽稀功能应用》]</div><div class="devguideorder"><span>3</span>绑路</div><div class="devguidecenter">将轨迹点绑定至道路,达到纠正偏移轨迹、补充中断轨迹点(如:轨迹不连续、进入隧道导致的丢点)、补充道路拐点等效果。<br/>关于绑路的使用教程请见:[https://developer.baidu.com/article/detail.html?id=290953 《轨迹绑路功能应用》]</div><div class="devguideorder"><span>4</span>中断区间补偿</div><div class="devguidecenter">对于轨迹中前后轨迹点定位时间相差>5分钟,且距离大于300米地区间,鹰眼认定其为中断区间。对于中断区间,鹰眼支持根据对应地交通方式(驾车、骑行、步行)使用路线规划进行轨迹点和里程的补偿,实现轨迹的完整性。<br/>关于中断区间补偿的使用教程请见:[https://developer.baidu.com/article/detail.html?id=291023 《轨迹补偿功能应用》]</div></div></div><div class="bluetitle"><div class="services-title-text">如何使用轨迹纠偏</div></div><div class="serve-explain-text">
 +
在查询轨迹时设置是否纠偏(isProcessed)并设置纠偏选项(processOption)。鹰眼在 processOption 中开放了多种纠偏选项供开发者设置,包括:
  
为了更好地帮助开发者管理轨迹和展现轨迹,鹰眼提供了轨迹纠偏功能,达到优化轨迹、校正里程等效果。(注:纠偏轨迹与原始轨迹数据相互独立,原始轨迹数据仍被保留并可查询。)
+
1. 去噪:可设置是否需要去除角度、速度和方向异常的轨迹点
  
==如何使用轨迹纠偏==
+
2. 绑路:设置是否将轨迹点绑定至路网道路
  
在查询轨迹时设置是否纠偏(isProcessed)以及相应的纠偏选项(processOption)。
+
3. 抽稀:设置是否进行抽稀处理,对冗余的轨迹点进行抽稀去除处理,如一条直线上除起终点外的多个轨迹点
  
 +
4. 定位精度过滤:设置定位精度过滤阈值,用于过滤掉定位精度较差的轨迹点。
  
1. isProcessed=1设置需要纠偏,为0则返回原始轨迹
+
5. 交通方式:可指名轨迹对应交通方式,鹰眼纠偏模块将根据不同的交通方式采用不同的轨迹纠偏处理。
 +
同时,鹰眼支持对中断5分钟以上的轨迹区间进行里程补偿,支持使用直线/驾车/骑行/步行这几种方式补偿中断区间的里程。轨迹纠偏服务将根据开发者的以上设置来进行轨迹纠偏。</div><div class="bluetitle"><div class="services-title-text">示例代码</div></div><div class="serve-explain-text"><pre class="prettyprint codestyle">// 请求标识
 +
int tag = 1;
 +
// 轨迹服务ID
 +
long 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);
  
2. 设置processOption纠偏选项,纠偏选项有以下4种:
 
  
①need_denoise:去噪,默认为1
+
// 设置需要纠偏
 +
historyTrackRequest.setProcessed(true);
  
  
②need_vacuate:抽稀,默认为1
+
// 创建纠偏选项实例
 +
ProcessOption processOption = new ProcessOption();
 +
// 设置需要去噪
 +
processOption.setNeedDenoise(true);
 +
// 设置需要抽稀
 +
processOption.setNeedVacuate(true);
 +
// 设置需要绑路
 +
processOption.setNeedMapMatch(true);
 +
// 设置精度过滤值(定位精度大于100米的过滤掉)
 +
processOption.setRadiusThreshold(100);
 +
// 设置交通方式为驾车
 +
processOption.setTransportMode(TransportMode.driving);
 +
// 设置纠偏选项
 +
historyTrackRequest.setProcessOption(processOption);
  
  
③need_mapmatch:绑路,之前未开通绑路的service,默认值为0;之前已开通绑路的service,默认值为1。(目前仅对驾车轨迹有效,会判断正逆行。绑路时会依据道路形状进行补点(例如:原始轨迹在道路拐弯处缺点,绑路将进行补充,补点的定位时间目前取的是前一个原始点的定位时间。)
+
// 设置里程填充方式为驾车
 +
historyTrackRequest.setSupplementMode(SupplementMode.driving);
  
  
④radius:精度过滤,默认为0:不过滤。(每个轨迹点鹰眼都会记录它的定位精度,如设置该值,则会将定位精度radius大于该值的轨迹点过滤掉。目前各种定位方式的平均精度为:GPS:10米,WIFI定位:24米,基站定位:210米。)
+
// 初始化轨迹监听器
 
+
OnTrackListener mTrackListener = new OnTrackListener() {
 
+
    // 历史轨迹回调
以上选项支持多选,设置时用英文逗号","分割,若不设置某选项则按默认值处理。
+
    @Override
 
+
    public void onHistoryTrackCallback(HistoryTrackResponse response) {}
 
+
};
例如:
+
 
+
- 若当前业务需求只要求去除噪点,尽量保留原始轨迹点,则可以将纠偏选项设置为:
+
 
+
need_denoise=1,need_vacuate=0,need_mapmatch=0;
+
 
+
 
+
- 若当前业务需求要求在保证轨迹正确性的前提下,尽量去掉重复或者不必要的轨迹点,减少点量,则可以将纠偏选项设置为:
+
 
+
need_denoise=1,need_vacuate=1,need_mapmatch=0;
+
 
+
 
+
-若当前业务需求绑路,可以将纠偏选项设置为:
+
 
+
need_denoise=1,need_vacuate=1,need_mapmatch=1;
+
 
+
注:绑路时建议同时选择去噪,否则噪点容易绑路失败
+
 
+
 
+
-若当前业务只关注定位精度较高的GPS数据,可以将纠偏选项设置为:
+
 
+
need_denoise=0,need_vacuate=0,need_mapmatch=0,radius=15;
+
 
+
 
+
使用示例:
+
 
+
<source lang="java" > 
+
// 轨迹服务ID
+
  long serviceId = 10000;
+
  // entity标识
+
  String entityName = "要查询的entity";
+
  // 是否返回精简结果
+
  int simpleReturn = 0;
+
  // 是否纠偏
+
  int isProcessed = 0;
+
        // 纠偏选项
+
  String processOption = null;
+
  // 开始时间
+
  int startTime = (int)(System.currentTimeMillis()/1000);
+
  // 分页大小
+
  int pageSize = 5000;
+
  // 分页索引
+
  int pageIndex = 1;
+
  
    // 间隔打包周期,轮询调用queryHistoryTrack()
 
private void queryHistoryTrack() {
 
  // 结束时间
 
  int endTime = (int)(System.currentTimeMillis()/1000);
 
  client.queryHistoryTrack(serviceId , entityName, simpleReturn, isProcessed, 
 
  processOption, startTime, endTime, pageSize, pageIndex, trackListener);
 
  
//在OnTrackListener的onQueryHistoryTrackCallback()回调接口中,判断是否已查询完毕。
+
// 查询轨迹
OnTrackListener trackListener = new OnTrackListener() {
+
mTraceClient.queryHistoryTrack(historyTrackRequest, mTrackListener);
        public void onQueryHistoryTrackCallback(String message) {
+
              JSONObject dataJson = new JSONObject(message);
+
              int  total = dataJson.getInt("total");
+
              if (total > (pageSize * pageIndex)) {
+
              queryHistoryTrack(++pageIndex);
+
              }
+
            // 解析并保存轨迹信息
+
        }
+
}
+
  
</source>
+
</pre>
 +
</div><div class="bluetitle"><div class="services-title-text">轨迹纠正效果示意图</div></div><div class="serve-explain-text">https://lbs.baidu.com/cms/yingyan/trackprocess.png</div>

2022年7月19日 (二) 15:00的最后版本

简介

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

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

1. 高性能:一次请求支持对2万个轨迹点进行批量纠偏处理,响应时间不超过3秒

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 = 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() {
    // 历史轨迹回调
    @Override
    public void onHistoryTrackCallback(HistoryTrackResponse response) {}
};


// 查询轨迹
mTraceClient.queryHistoryTrack(historyTrackRequest, mTrackListener);

轨迹纠正效果示意图
trackprocess.png
  • 文档根本没法用

  • 文档水平很差

  • 文档水平一般

  • 文档不错

  • 文档写的很好

如发现文档错误,或对此文档有更好的建议,请在下方反馈。问题咨询请前往反馈平台提交工单咨询。

提交反馈

拖动标注工具

添加矩形标注

添加箭头标注

完成

取消