轨迹纠偏服务(又名trackrectify api)是一类web api接口服务,用于纠正一段或多段轨迹的漂移,通过去除噪点、绑路、补充道路形状点、抽稀等方式,还原真实轨迹。
用于对一段连续长轨迹进行纠偏绑路、计算里程、返回道路等级和道路限速信息,如:对一辆车一个行程或一天的轨迹进行纠偏并计算里程。
https://api.map.baidu.com/rectify/v1/track?
//post请求
参数名称 | 参数含义 | 类型 | 必选 | 备注 |
---|---|---|---|---|
ak | 用户的ak,授权使用 | string | 是 | |
point_list | 轨迹点序列 | string(1-1m) | 是 | 最多不能超过2000个轨迹点,且轨迹里程不超过500公里(注:若轨迹里程超长,可能会出现响应时间过长或超时)。point_list格式为json, 其中每个point必须包含:latitude,longitude,coord_type_input,loc_time这4个字段,可选speed,direction,height,radius这4个字段,其他字段会被舍弃。 取值规则: |
rectify_option | 纠偏设置 | string(0-128) | 否 | 支持以下配置项,多个项之间用”|”竖线相隔。默认值为:need_mapmatch:1|transport_mode:auto|denoise_grade:1|vacuate_grade:1 取值规则为: |
supplement_mode | 里程补偿设置 | string(0-128) | 否 | 默认值:no_supplement |
coord_type_output | 返回的坐标类型 | string | 否 | 默认值:bd09ll |
sn | 用户的权限签名 | string | 否 | 若用户所用ak的校验方式为sn校验时该参数必须。 sn校验说明 |
参数名 | 含义 | 类型 | 备注 | |
---|---|---|---|---|
status | 状态码 | int | 详见状态码定义 | |
message | 响应信息 | string | 对status的中文描述 | |
total | 忽略掉page_index,page_size后的轨迹点数量 | 代表一共有多少条符合条件的track | ||
distance | 此段轨迹的里程数,单位:米 | double | 符合条件的所有轨迹点的总里程。 | |
toll_distance | 此段轨迹的收费里程数,单位:米 | double | 收费道路包括高速等收费路段。 | |
points | 历史轨迹点列表 | |||
longitude | 经度 | double | ||
latitude | 纬度 | double | ||
loc_time | 定位时的设备时间 | unix时间戳 | 该时间为用户上传的时间 | |
direction | 方向 | int | 范围为[0,359],0度为正北方向,顺时针 | |
height | 高度 | double | 只在gps定位结果时才返回,单位米 | |
speed | 速度 | double | 单位:km/h | |
radius | 定位精度 | double | 单位:m | |
coord_type | 坐标类型 | string | 该字段仅在海外区域时返回,返回值为:wgs84。当坐标位于国内(含港、澳、台)时,返回坐标类型与请求参数 coord_type_output 所设一致,因此不再返回该字段 |
输入ak可生成包含ip/sn校验方式的代码
<?php// 此处填写你在控制台-应用管理-创建应用后获取的ak$ak ='您的ak';// 发起一个http post请求,并返回请求的结果// $url字段为请求的地址// $param字段为请求的参数functionrequest_post($url ='', $param =array()){if(empty($url)||empty($param)){returnfalse;}$curl =curl_init();// 初始化curlcurl_setopt($curl,curlopt_url, $url);// 设置指定urlcurl_setopt($curl,curlopt_timeout,1000);// 设置超时时间1秒curl_setopt($curl,curlopt_returntransfer,1);// curl不直接输出到屏幕curl_setopt($curl,curlopt_header,0);// 设置header// 以下两行不对https做证书及服务器校验,真实项目中请根据实际情况调整。curl_setopt($curl,curlopt_ssl_verifypeer,0);curl_setopt($curl,curlopt_ssl_verifyhost,0);curl_setopt($curl,curlopt_post,1);// 设置postcurl_setopt($curl,curlopt_postfields, $param);$data =curl_exec($curl);// 运行curlif(!$data){print("an error occured in function request_post(): ".curl_error($curl)."\n");}curl_close($curl);return $data;}// 请求地址$url ='https://api.map.baidu.com/rectify/v1/track';// 构造请求// 设置您的ak$param['ak']= $ak;// 设置要纠偏的轨迹$param['point_list']= '[{"loc_time":1624295452,"latitude":36.2715924153,"longitude":120.401133898,"coord_type_input":"bd09ll"},{"loc_time":1624295615,"latitude":36.2710674153,"longitude":120.401122046,"coord_type_input":"bd09ll"},{"loc_time":1624295715,"latitude":36.2710674153,"longitude":120.401122046,"coord_type_input":"bd09ll"},{"loc_time":1624295815,"latitude":36.26970681,"longitude":120.406126,"coord_type_input":"bd09ll"},{"loc_time":1624295915,"latitude":36.2626899159,"longitude":120.406257629,"coord_type_input":"bd09ll"},{"loc_time":1624296015,"latitude":36.2554959254,"longitude":120.401709345,"coord_type_input":"bd09ll"},{"loc_time":1624296115,"latitude":36.2482072286,"longitude":120.398668032,"coord_type_input":"bd09ll"},{"loc_time":1624296215,"latitude":36.2453202208,"longitude":120.390573255,"coord_type_input":"bd09ll"},{"loc_time":1624296315,"latitude":36.2462943954,"longitude":120.378697631,"coord_type_input":"bd09ll"},{"loc_time":1624296415,"latitude":36.2464401658,"longitude":120.368128971,"coord_type_input":"bd09ll"},{"loc_time":1624296515,"latitude":36.2411743783,"longitude":120.360663512,"coord_type_input":"bd09ll"}]';// 设置纠偏参数$param['rectify_option']='need_mapmatch:1|transport_mode:driving|denoise_grade:1|vacuate_grade:1';// 发送请求$res =request_post($url, $param);// 将原始返回的结果打印出来print("请求的原始返回结果为:\n");print($res ."\n");?>
{"status":0,"message":"成功","total":38,"distance":7004.2268595795,"toll_distance":0,"low_speed_distance":0,"points":[{"loc_time":1624295452,"latitude":36.271593819832,"longitude":120.40114354244,"speed":1.2875764132772,"direction":178.38227415059},{"loc_time":1624295615,"latitude":36.270452489393,"longitude":120.40113828855,"speed":8.4496861276931,"direction":93.59750062432},...{"loc_time":1624296515,"latitude":36.241216624104,"longitude":120.36069744837,"speed":31.788581427876,"direction":130.91381579391}]}
参数 | 值 | 备注 | 必选 |
---|---|---|---|
point_list | 轨迹点序列 | 是 | |
rectify_option | 纠偏设置 | 否 |
ak:<您的ak>point_list:[{"loc_time":1624295452,"latitude":36.2715924153,"longitude":120.401133898,"coord_type_input":"bd09ll"},{"loc_time":1624295615,"latitude":36.2710674153,"longitude":120.401122046,"coord_type_input":"bd09ll"},{"loc_time":1624295715,"latitude":36.2710674153,"longitude":120.401122046,"coord_type_input":"bd09ll"},{"loc_time":1624295815,"latitude":36.26970681,"longitude":120.406126,"coord_type_input":"bd09ll"},{"loc_time":1624295915,"latitude":36.2626899159,"longitude":120.406257629,"coord_type_input":"bd09ll"},{"loc_time":1624296015,"latitude":36.2554959254,"longitude":120.401709345,"coord_type_input":"bd09ll"},{"loc_time":1624296115,"latitude":36.2482072286,"longitude":120.398668032,"coord_type_input":"bd09ll"},{"loc_time":1624296215,"latitude":36.2453202208,"longitude":120.390573255,"coord_type_input":"bd09ll"},{"loc_time":1624296315,"latitude":36.2462943954,"longitude":120.378697631,"coord_type_input":"bd09ll"},{"loc_time":1624296415,"latitude":36.2464401658,"longitude":120.368128971,"coord_type_input":"bd09ll"},{"loc_time":1624296515,"latitude":36.2411743783,"longitude":120.360663512,"coord_type_input":"bd09ll"}]rectify_option: need_mapmatch:1|transport_mode:driving|denoise_grade:1|vacuate_grade:1
上一篇
下一篇
本篇文章对您是否有帮助?