Harmony鹰眼SDK轨迹分析类接口提供停留点分析和驾驶行为分析功能:
停留点分析接口:一段轨迹中有多少个停留点、停留在何处、停留了多久
驾驶行为分析:一段轨迹中有多少个超速点、急加/减速点、急转弯点,其中超速点功能支持依据百度地图路
使用方法为通过 TrackAnalysisManager 类中相应的接口发起请求,接口返回值即分析结果。查询entity在指定时间段内的停留点。停留点判断规则为:在stay_radius半径范围内,滞留start_time以上,被认为是一次停留,将取一个代表性坐标作为停留点,其中 stay_radius 默认为20米,start_time 默认为 600秒。
通过 -queryStayPoint(request: StayPointRequest): Promise<StayPointResponse>; 方法,查询指定终端实体在指定时间段内的停留点。
以下代码片段表示,如果认为在某个半径为20米的圆形区域内停留了超过100秒为一次停留的话,查询名称为 “entityA” 的终端实体,在过去一段时间内,所有的停留点。
// 构造停留点分析请求let drivingRequest: TrackAnalysis.StayPointRequest = {entity_name: "entityA", // 实体start_time: 1760544000, // 开始时间,单位秒end_time: 1760630399, // 结束时间,单位秒stay_time: 100, // 停留时间,单位秒stay_radius: 20, // 停留半径设置为20米coord_type_output: CoordType.BD09LL // 坐标类型}// 获取分析管理实例,traceClient 为TraceClient实例let analysisManager: TrackAnalysis.TrackAnalysisManager = traceClient.createTrackAnalysisService();// 执行停留点分析查询请求analysisManager.queryStayPoint(drivingRequest).then(res=>{ })
总体信息:起终点信息、里程、耗时、平均速度、最高速度
异常信息:超速、急加速、急刹车、急转弯
通过 -queryDrivingBehavior(request: DrivingBehaviorRequest): Promise<DrivingBehaviorResponse>; 方法,查询指定终端实体在指定时间段内的驾驶行为。驾驶行为包括:起终点信息、里程、耗时、平均速度、最高速度等总体信息,以及超速、急加速、急刹车、急转弯等异常信息。// 纠偏选项,用于控制返回坐标的纠偏处理方式,不填则按默认纠偏方式处理let option: CoreProcessOption = {transport_mode: TransportMode.DRIVING, // 交通方式,鹰眼将根据不同交通工具选择不同的纠偏策略,目前支持驾车、骑行和步行need_mapmatch: MapMatch.BIND, // 绑路,可选值0和1,0表示不绑路,1表示绑路}// 构造驾驶行为分析请求let drivingRequest: TrackAnalysis.DrivingBehaviorRequest = {entity_name: "entityA", // 实体start_time: 1760544000, // 开始时间,单位秒end_time: 1760630399, // 结束时间,单位秒speeding_threshold: 50, // 超速值设定为50km/hprocess_option: option, // 纠偏选项harsh_acceleration_threshold: 2, // 急加速的加速度阈值,默认值:1.67,单位:m/s^2,仅支持正数harsh_breaking_threshold: 2, // 急减速的加速度阈值,默认值:1.67,单位:m/s^2,仅支持正数harsh_steering_threshold: 5, // 急转弯的向心加速度阈值,默认值:5,单位:m/s^2,仅支持正数coord_type_output: CoordType.BD09LL // 坐标类型}// 获取分析管理实例,traceClient 为TraceClient实例let analysisManager: TrackAnalysis.TrackAnalysisManager = traceClient.createTrackAnalysisService();// 执行驾驶行为分析查询请求analysisManager.queryStayPoint(drivingRequest).then(res=>{ })
上一篇
下一篇
本篇文章对您是否有帮助?