第24行: | 第24行: | ||
第二步:使用 getjob接口使用与createjob同样的请求参数定期查询任务状态,一旦返回值中message字段值为“ok”时,则返回计算得出的经验路线。 | 第二步:使用 getjob接口使用与createjob同样的请求参数定期查询任务状态,一旦返回值中message字段值为“ok”时,则返回计算得出的经验路线。 | ||
− | </div><div class="bluetitle"><div class="services-title-text service-page-anchor">经验路线挖掘</div></div><div class="separate-title">请求URI</div><div class="code-template"><pre class="get-url-pre"> | + | </div><div class="bluetitle"><div class="services-title-text service-page-anchor">经验路线挖掘</div></div><div class="separate-title">请求URI</div><div class="code-template"><pre class="get-url-pre">https://yingyan.baidu.com/api/v3/frequentroute/createjob //GET请求 |
− | + | https://yingyan.baidu.com/api/v3/frequentroute/getjob //GET请求 | |
</pre> | </pre> | ||
</div><div class="separate-title">请求参数</div> | </div><div class="separate-title">请求参数</div> | ||
第160行: | 第160行: | ||
| style="width: 383px;" | 该经验路线用户出发的最早和最晚时间,格式:hh:mm:ss, hh:mm:ss | | style="width: 383px;" | 该经验路线用户出发的最早和最晚时间,格式:hh:mm:ss, hh:mm:ss | ||
示例:"start_time_range":"7:8:51,13:32:52" | 示例:"start_time_range":"7:8:51,13:32:52" | ||
+ | |||
|- | |- | ||
| rowspan="1" colspan="2" style="width: 262px;" | end_time_range<br/> | | rowspan="1" colspan="2" style="width: 262px;" | end_time_range<br/> | ||
第166行: | 第167行: | ||
| style="width: 383px;" | 该经验路线用户到达的最早和最晚时间,格式:hh:mm:ss, hh:mm:ss | | style="width: 383px;" | 该经验路线用户到达的最早和最晚时间,格式:hh:mm:ss, hh:mm:ss | ||
示例:"end_time_range":"17:26:29,19:11:54" | 示例:"end_time_range":"17:26:29,19:11:54" | ||
+ | |||
|- | |- | ||
| rowspan="2" colspan="1" style="width: 123px;" | start_point<br/> | | rowspan="2" colspan="1" style="width: 123px;" | start_point<br/> | ||
第227行: | 第229行: | ||
| style="width: 383px;" | 单位:千米/小时<br/> | | style="width: 383px;" | 单位:千米/小时<br/> | ||
|} | |} | ||
− | <div class="separate-title">请求示例</div><div class="code-template"><pre class="get-url-pre"> | + | <div class="separate-title">请求示例</div><div class="code-template"><pre class="get-url-pre">https://yingyan.baidu.com/api/v3/frequentroute/createjob?process_option=need_denoise=1,need_vacuate=1,need_mapmatch=1,radius_threshold=100,transport_mode=driving&supplement_mode=driving&coord_type_output=bd09ll&page_size=5000&page_index=1&entity_name=<你的entity_name>&is_processed=1&service_id=<你的service_id>&ak=<你的AK>&start_time=1585670400&end_time=1588176000&time_range=240 |
− | + | https://yingyan.baidu.com/api/v3/frequentroute/getjob?process_option=need_denoise=1,need_vacuate=1,need_mapmatch=1,radius_threshold=100,transport_mode=driving&supplement_mode=driving&coord_type_output=bd09ll&page_size=5000&page_index=1&entity_name=<你的entity_name>&is_processed=1&service_id=<你的service_id>&ak=<你的AK>&start_time=1585670400&end_time=1588176000&time_range=240 | |
</pre> | </pre> | ||
</div><div class="separate-title">返回示例</div><pre class="prettyprint codestyle">{ | </div><div class="separate-title">返回示例</div><pre class="prettyprint codestyle">{ |
2022年7月22日 (五) 20:41的最后版本
模块 | 接口名称 | 功能说明 |
---|---|---|
frequentroute | createjob | 创建一个任务,该任务完成后可通过getjob接口查询计算出的经验路线 |
getjob | 查询任务,将返回计算出的经验路线,可能为多条经验路线 |
经验路线分析服务(Beta版)可用于分析某一终端的常走路线,并给出路线的出行频率。经验路线分析时主要考虑的因素包括:出行时间是否接近、路线(包括方向)是否相似。若两个行程的路线虽高度相似,但出发时间相差大于所设置的时间容忍阈值time_range,则仍将被聚类至2条备选的经验路线中。分析得到的经验路线信息包括:
1. 经验路线起终点坐标
2. 出发时间区间、到达时间区间
3. 路线里程、耗时、平均时速
4. 路线形状点
该服务支持通过请求参数的设置对原始轨迹进行纠偏等预处理(包括轨迹去噪、抽稀、纠偏、绑路、中断区间补偿等),使得后续经验路线分析更准确。
关于权限和配额的说明:经验路线分析服务是鹰眼的高级服务,目前处于Beta版试运行阶段,开发者可通过反馈平台申请开通权限体验试用,默认配额为:并发(5次/秒),日请求量(100次/日)。
该类接口使用方法为:
第一步:使用 createjob接口创建任务
第二步:使用 getjob接口使用与createjob同样的请求参数定期查询任务状态,一旦返回值中message字段值为“ok”时,则返回计算得出的经验路线。
https://yingyan.baidu.com/api/v3/frequentroute/createjob //GET请求 https://yingyan.baidu.com/api/v3/frequentroute/getjob //GET请求
参数名 | 参数含义 | 类型 | 是否必填 | 备注 | |
---|---|---|---|---|---|
ak | 用户的AK | string | 是 | ||
service_id | service的ID,service 的唯一标识。 | int | 是 | 在轨迹管理台创建鹰眼服务时,系统返回的 service_id | |
entity_name | entity唯一标识 | string | 是 | ||
start_time | 起始时间(起始的loc_time) | UNIX时间戳 | 是 | ||
end_time | 结束时间(结束的loc_time) | UNIX时间戳 | 是 | 结束时间不超过当前时间,不能早于起始时间,且与起始时间差在24*31小时(即一个月)之内。 | |
time_range | 时间容忍度阈值 | int | 是 | 取值范围[1,1440],单位:分钟。 出发时间是判断两个原始行程是否会被聚类为一条经验路线的时间纬度特征。若两个原始行程路线一致,但出发时间差值大于该阈值,则将被聚类至2条备选的经验路线中。例如,当time_range=180时,两个路线相同的行程出发时间分别为早晨8点和中午12点,则将被聚类至2条备选经验路线中;若出发时间分别为早晨8点和早晨9点,则将被聚类至1条备选经验路线中。 若开发者不希望用出发时间来区分不同的经验路线,即不论何时出发,只要路线一致都被认为是一条经验路线,则设置time_range=1440,24小时即可。 | |
is_processed | 是否采用纠偏后轨迹来进行经验路线分析 | int | 否 | 默认值:0
取值规则: | |
process_option | 纠偏选项 | string(0-128) | 否 | 仅在is_processed=1时生效。默认值为:
denoise_grade=1,need_mapmatch=0,transport_mode=auto,vacuate_grade=1 取值规则为: |
|
supplement_mode | 轨迹补偿交通方式选择 | string(0-128) | 否 | 默认值:no_supplement 在轨迹纠偏时,两个轨迹点定位时间间隔5分钟以上,被认为是中断。中断轨迹和里程提供以下5种估算方式。 | |
coord_type_output | 返回的坐标类型 | string | 否 | 默认值:bd09ll 该字段用于控制返回结果中的坐标类型。可选值为: | |
sn | 用户的权限签名,若用户所用AK的校验方式为SN校验时该参数必须。 SN计算规则 | string | 否 |
参数名 |
参数含义 | 类型 | 备注 | ||
---|---|---|---|---|---|
status |
状态码 | ||||
message |
响应信息 | string | 对status的中文描述 | ||
total | 经验路线条数 | int | 代表一共有分析出多少条经验路线, | ||
routes | 经验路线列表 | array | 每条经验路线取一条实际轨迹作为代表。 返回的路线将按出行频率从高至低排序,并剔除了里程过短、轨迹点数过少的经验路线。 | ||
frequency |
路线出行频率 | double | 出行频率为该经验路线的原始行程个数/总行程个数,保留小数点后2位。 | ||
distance |
路线距离 | double | 保留小数点后2位,单位:米 | ||
duration |
路线耗时 |
int | 单位:秒 | ||
start_time_range |
出发时间区间 | string | 该经验路线用户出发的最早和最晚时间,格式:hh:mm:ss, hh:mm:ss
示例:"start_time_range":"7:8:51,13:32:52" | ||
end_time_range |
到达时间区间 | string | 该经验路线用户到达的最早和最晚时间,格式:hh:mm:ss, hh:mm:ss
示例:"end_time_range":"17:26:29,19:11:54" | ||
start_point |
longitude |
起点经度 |
double | 保留小数点后6位 | |
latitude |
起点纬度 |
double |
保留小数点后6位 | ||
end_point |
longitude | 终点经度 | double | 保留小数点后6位 | |
latitude |
终点纬度 | double |
保留小数点后6位 | ||
points |
经验路线轨迹点 |
array | |||
|
longitude |
经度 |
double | 保留小数点后6位 | |
latitude |
纬度 | double |
保留小数点后6位 | ||
loc_time |
定位时的设备时间 | UNIX时间戳 | 若是原始轨迹点位置纠正后的点,则loc_time为原始轨迹点的定位时间
若是鹰眼通过绑路补充的道路形状点(标识为_supplement=1),则loc_time使用了前序原始轨迹点的定位时间 | ||
direction |
方向 |
int |
范围为[0,359],0度为正北方向,顺时针 | ||
height |
高度 |
double |
只在GPS定位结果时才返回,单位米 | ||
speed |
速度 |
double |
单位:千米/小时 |
https://yingyan.baidu.com/api/v3/frequentroute/createjob?process_option=need_denoise=1,need_vacuate=1,need_mapmatch=1,radius_threshold=100,transport_mode=driving&supplement_mode=driving&coord_type_output=bd09ll&page_size=5000&page_index=1&entity_name=<你的entity_name>&is_processed=1&service_id=<你的service_id>&ak=<你的AK>&start_time=1585670400&end_time=1588176000&time_range=240 https://yingyan.baidu.com/api/v3/frequentroute/getjob?process_option=need_denoise=1,need_vacuate=1,need_mapmatch=1,radius_threshold=100,transport_mode=driving&supplement_mode=driving&coord_type_output=bd09ll&page_size=5000&page_index=1&entity_name=<你的entity_name>&is_processed=1&service_id=<你的service_id>&ak=<你的AK>&start_time=1585670400&end_time=1588176000&time_range=240
{ "status": 0, "message": "OK", "data": { "total": 2, "routes": [ { "points": [ { "longitude": 113.815534, "latitude": 22.729928, "loc_time": 1585699998, "direction": 247, "speed": 1.73 }, { "longitude": 113.815469, "latitude": 22.729904, "loc_time": 1585700013, "direction": 67, "height": 28.0, "speed": 6.84 }, … { "longitude": 113.913771, "latitude": 22.794525, "loc_time": 1585701885, "direction": 123, "height": 1.0, "speed": 5.63 }, { "longitude": 113.91447, "latitude": 22.794097, "loc_time": 1585701940, "direction": 123, "height": 2.0, "speed": 5.63 } ], "distance": 18082.59, "average_speed": 50.89, "frequency": 0.25, "duration": 1942, "start_time_range": "7:8:51,13:32:52", "end_time_range": "7:37:14,14:15:50", "start_point": { "longitude": 113.815534, "latitude": 22.729928 }, "end_point": { "longitude": 113.91447, "latitude": 22.794097 } }, { "points": [ { "longitude": 113.914526, "latitude": 22.794701, "loc_time": 1585736279, "direction": 308, "speed": 5.44 }, { "longitude": 113.914178, "latitude": 22.794957, "loc_time": 1585736299, "direction": 220, "height": 9.0, "speed": 16.55 }, … { "longitude": 113.815974, "latitude": 22.730096, "loc_time": 1585738602, "direction": 247, "height": 12.0, "speed": 2.97 }, { "longitude": 113.815601, "latitude": 22.729954, "loc_time": 1585738683, "direction": 247, "speed": 2.97 } ], "distance": 20430.13, "average_speed": 49.84, "frequency": 0.23, "duration": 2404, "start_time_range": "17:50:22,19:9:12", "end_time_range": "18:40:21,19:41:33", "start_point": { "longitude": 113.914526, "latitude": 22.794701 }, "end_point": { "longitude": 113.815601, "latitude": 22.729954 } } ] } }