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=>{ })
查询entity在指定时间段内的驾驶行为,返回以下分析结果:通过 -queryDrivingBehavior(request: DrivingBehaviorRequest): Promise<DrivingBehaviorResponse>; 方法,查询指定终端实体在指定时间段内的驾驶行为。驾驶行为包括:起终点信息、里程、耗时、平均速度、最高速度等总体信息,以及超速、急加速、急刹车、急转弯等异常信息。
以下代码片段表示,使用默认的纠偏规则(不绑路、交通工具为驾车)情况下,如果认为 50km/h 为超速的话,查询名称为 “entityA” 的终端实体,在过去一段时间内的驾驶行为。
该方法返回的驾驶行为包括起终点信息、里程、耗时、平均速度、最高速度等总体信息;以及超速、急加速、急刹车、急转弯等异常信息。返回各字段的具体含义请参考Web API文档中 drivingbehavior 接口对应的介绍。
// 纠偏选项,用于控制返回坐标的纠偏处理方式,不填则按默认纠偏方式处理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=>{ })
上一篇
下一篇
本篇文章对您是否有帮助?