轻量行驶里程分析服务是一类web api接口服务,用于分析行程轨迹相关的时空信息,目前支持分析行程的道路等级,反映车辆在各等级道路上的行驶里程。
开发者通过车辆的行驶轨迹,自动分析其途经道路的等级,返回在不同等级道路上的行驶里程。
https://api.map.baidu.com/api_trackanalysis/v1/roadgrade?
//post请求
参数名称 | 参数含义 | 类型 | 必选 | 备注 |
---|---|---|---|---|
ak | 用户的ak,授权使用 | string | 是 | |
point_list | 轨迹点序列 | string | 是 | 最多不能超过2000个轨迹点,且轨迹里程不超过500公里,point_list格式为json, 其中每个point必须包含: |
double | 是 | 纬度,支持小数点后6位 | ||
double | 是 | 经度,支持小数点后6位 | ||
string | 是 | 轨迹点的坐标系,支持以下值:bd09ll(百度经纬度坐标)、gcj02(国测局加密坐标)、wgs84(gps所采用的坐标系) | ||
int | 是 | 轨迹点的定位时间,使用unix时间戳 | ||
double | 否 | 轨迹点的速度,单位:公里/小时 | ||
int | 否 | 轨迹点的方向,单位:范围为[0,359],0度为正北方向,顺时针方向递增 | ||
int | 否 | 轨迹点的高度,单位:米 | ||
int | 否 | 定位时返回的定位精度,单位:米 | ||
纠偏设置 | string(0-128) | 否 | ”竖线相隔。默认值为: | |
supplement_mode | 里程补偿设置 | string(0-128) | 否 | 默认值:no_supplement |
sn | 用户的权限签名 | string | 否 | 若用户所用ak的校验方式为sn校验时该参数必须。 sn校验说明 |
参数名 | 含义 | 类型 | 备注 | ||
---|---|---|---|---|---|
status | 状态码 | int | 详见状态码定义 | ||
message | 响应信息 | string | 对status的中文描述 | ||
total | 忽略掉page_index,page_size后的轨迹点数量 | 代表一共有多少条符合条件的track | |||
distance | 此段轨迹的里程数 | double | t符合条件的所有轨迹点总里程,单位:米 | ||
road_grade_info | 道路等级信息 | ||||
road_grade | string | 道路等级,包括: road_grade_village 乡镇村道 road_grade_sidewalk 步行道路 road_grade_provincial 省道 road_grade_other 其它道路 road_grade_nine 特服道路 road_grade_national 国道 road_grade_highway 高速道路 road_grade_ferry 轮渡 road_grade_county 县道 road_grade_cityhighway 城市高速 | |||
distance | double | 该道路等级对应的轨迹里程,单位:米 |
输入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/api_trackanalysis/v1/roadgrade';// 构造请求$param['ak']= $ak;$param['point_list']='['.'{"latitude":39.22682,"coord_type_input":"gcj02","longitude":117.283027,"loc_time":1632817534},'.'{"latitude":39.223979,"coord_type_input":"gcj02","longitude":117.285641,"loc_time":1632817592},'.'{"latitude":39.220022,"coord_type_input":"gcj02","longitude":117.285826,"loc_time":1632817652},'.'{"latitude":39.213075,"coord_type_input":"gcj02","longitude":117.281162,"loc_time":1632817712},'.'{"latitude":39.207602,"coord_type_input":"gcj02","longitude":117.270462,"loc_time":1632817773}'.']';$param['rectify_option']='transport_mode:auto|denoise_grade:1|vacuate_grade:1';// 只支持x-www-form-urlencoded格式的请求$param =http_build_query($param);// 发送请求$res =request_post($url, $param);// 将原始返回的结果打印出来print("请求的原始返回结果为:\n");print($res ."\n");?>
{"status":0,"message":"成功","total":19,"distance":2982.47,"road_grade_info":[{"road_grade":"其它道路","distance":243.99},{"road_grade":"县道","distance":455.08},{"road_grade":"高速道路","distance":2283.39}]}
参数 | 值 | 备注 | 必选 |
---|---|---|---|
point_list | 轨迹点序列 | 否 |
ak:<您的ak>point_list:[{"latitude":39.22682,"coord_type_input":"gcj02","longitude":117.283027,"loc_time":1632817534},{"latitude":39.223979,"coord_type_input":"gcj02","longitude":117.285641,"loc_time":1632817592},{"latitude":39.220022,"coord_type_input":"gcj02","longitude":117.285826,"loc_time":1632817652},{"latitude":39.213075,"coord_type_input":"gcj02","longitude":117.281162,"loc_time":1632817712},{"latitude":39.207602,"coord_type_input":"gcj02","longitude":117.270462,"loc_time":1632817773}]
上一篇
下一篇
本篇文章对您是否有帮助?