轨迹分析

简介

鹰眼iOS SDK鹰眼轨迹分析类接口提供停留点分析和驾驶行为分析功能:

1. 停留点分析接口:一段轨迹中有多少个停留点、停留在何处、停留了多久

2. 驾驶行为分析:一段轨迹中有多少个超速点、急加/减速点、急转弯点,其中超速点功能支持依据百度地图路

使用方法为通过 BTKAnalysisAction 类中相应的接口发起请求,响应通过 BTKTrackDelegate 协议中对应的方法回调给开发者。

停留点分析

查询entity在指定时间段内的停留点。停留点判断规则为:在stay_radius半径范围内,滞留start_time以上,被认为是一次停留,将取一个代表性坐标作为停留点,其中 stay_radius 默认为20米,start_time 默认为 600秒。


通过 -(void)analyzeStayPointWith:(BTKStayPointAnalysisRequest *)request delegate:(id<BTKAnalysisDelegate>)delegate; 方法,查询指定终端实体在指定时间段内的停留点。


以下代码片段表示,使用默认的纠偏规则(不绑路、交通工具为驾车)情况下,如果认为在某个半径为20米的圆形区域内停留了超过100秒为一次停留的话,查询名称为 “entityA” 的终端实体,在过去12小时内,所有的停留点。

NSUInteger endTime = [[NSDate date] timeIntervalSince1970];
// 构造请求对象
BTKStayPointAnalysisRequest *request = [[BTKStayPointAnalysisRequest alloc] initWithEntityName:@"entityA" startTime:endTime - 12 * 60 * 60 endTime:endTime stayTime:100 stayRadius:20 processOption:nil outputCoordType:BTK_COORDTYPE_BD09LL serviceID:100000 tag:222];
// 发起请求
[[BTKAnalysisAction sharedInstance] analyzeStayPointWith:request delegate:self];

驾驶行为分析

查询entity在指定时间段内的驾驶行为,返回以下分析结果:

1. 总体信息:起终点信息、里程、耗时、平均速度、最高速度

2. 异常信息:超速、急加速、急刹车、急转弯

通过 -(void)analyzeDrivingBehaviourWith:(BTKDrivingBehaviourAnalysisRequest *)request delegate:(id<BTKAnalysisDelegate>)delegate; 方法,查询指定终端实体在指定时间段内的驾驶行为。驾驶行为包括:起终点信息、里程、耗时、平均速度、最高速度等总体信息,以及超速、急加速、急刹车、急转弯等异常信息。


以下代码片段表示,使用默认的纠偏规则(不绑路、交通工具为驾车)情况下,如果认为 50km/h 为超速的话,查询名称为 “entityA” 的终端实体,在过去12小时内的驾驶行为。

该方法返回的驾驶行为包括起终点信息、里程、耗时、平均速度、最高速度等总体信息;以及超速、急加速、急刹车、急转弯等异常信息。返回各字段的具体含义请参考Web API文档中 drivingbehavior接口 对应的介绍。

NSUInteger endTime = [[NSDate date] timeIntervalSince1970];
// 构造请求对象
BTKDrivingBehaviourAnalysisRequest *request = [[BTKDrivingBehaviourAnalysisRequest alloc] initWithEntityName:@"zhubei" startTime:endTime - 12 * 60 * 60 endTime:endTime speedingThreshold:50 processOption:nil outputCoordType:BTK_COORDTYPE_BD09LL serviceID:103044 tag:223];
// 发起请求
[[BTKAnalysisAction sharedInstance] analyzeDrivingBehaviourWith:request delegate:self];