第59行: | 第59行: | ||
|string(0-128) | |string(0-128) | ||
|否 | |否 | ||
− | |支持以下配置项,多个项之间用”| | + | |支持以下配置项,多个项之间用”|”竖线相隔。默认值为:need_mapmatch:1|transport_mode:auto|denoise_grade:1|vacuate_grade:1<br/>取值规则为:<br/> |
1. need_mapmatch(绑路) | 1. need_mapmatch(绑路) | ||
是否需要将轨迹点绑路并补充道路形状点 ,示例: | 是否需要将轨迹点绑路并补充道路形状点 ,示例: |
2018年7月18日 (三) 11:31的版本
通常各种定位方式都存在着一定的误差,GPS信号不好的时候(例如,楼宇密集处、高架桥下、隧道等),可能就会使用WIFI或基站定位,特别是当周边WIFI热点比较少的时候会使用基站定位,定位误差会有所加大,产生轨迹漂移的现象。
为了纠正轨迹漂移,提升轨迹和里程的准确性,轨迹纠偏API提供了高性能的轨迹纠偏服务,其特性如下:
1. 高性能:一次请求支持对5000个轨迹点进行批量纠偏处理,响应时间不超过3秒
2. 可配置:开放多种纠偏因子供开发者自行调节
3. 适用性:针对驾车、骑行和步行不同出行模式执行对应的轨迹纠偏策略,并针对停留点漂移进行了单独识别与处理,故对于移动和停留期间的轨迹均有优异的纠偏效果
URI:http://api.map.baidu.com/rectify/v1/track? //POST请求
参数名 | 参数含义 | 类型 | 是否必填 | 备注 |
---|---|---|---|---|
ak | 用户的ak,授权使用 | string | 是 | |
point_list | 轨迹点序列 | string(1-1M) | 是 | 最多不能超过5000个轨迹点。格式为json。 其中每个point必须包含:latitude,longitude,coord_type_input,loc_time这4个字段,可选speed,direction,height,radius这4个字段,其他字段会被舍弃。 取值规则: latitude:纬度,支持小数点后6位 longitude:经度,支持小数点后6位 coord_type_input:轨迹点的坐标系,支持以下值:bd09ll(百度经纬度坐标)、gcj02(国测局加密坐标)、wgs84(GPS所采用的坐标系) loc_time:轨迹点的定位时间,使用UNIX时间戳 speed:轨迹点的速度,单位:公里/小时 direction:轨迹点的方向,单位:范围为[0,359],0度为正北方向,顺时针方向递增 height:轨迹点的高度,单位:米 radius:定位时返回的定位精度,单位:米 |
rectify_option | 纠偏设置 | string(0-128) | 否 | 支持以下配置项,多个项之间用”|”竖线相隔。默认值为:need_mapmatch:1|transport_mode:auto|denoise_grade:1|vacuate_grade:1 取值规则为: 1. need_mapmatch(绑路) 是否需要将轨迹点绑路并补充道路形状点 ,示例: need_mapmatch:0 不绑路 need_mapmatch:1 绑路 2. transport_mode(交通方式) 根据不同交通工具选择不同的纠偏策略和参数,目前支持:自动(即鹰眼自动识别的交通方式)、驾车、骑行和步行。示例: transport_mode:auto transport_mode:driving transport_mode:riding transport_mode:walking 3. denoise_grade(去噪力度) 取值范围[0,5],数值越大去噪力度越大,代表越多的点会被当做噪点去除。若取值0,则代表不去噪。示例: denoise_grade:0 (不去噪) denoise_grade:1 (仅保留GPS定位点) denoise_grade:2(保留GPS定位点和精度较高的Wi-Fi定位点) denoise_grade:3(保留GPS定位点和大部分Wi-Fi定位点) denoise_grade:4(保留GPS定位点、大部分Wi-Fi定位点和精度较高的基站定位点) denoise_grade:5(保留GPS定位点、大部分Wi-Fi定位点和大部分基站定位点) 4. vacuate_grade(抽稀力度) 取值范围[0,5],数值越大去抽稀度越大,代表轨迹会越稀疏。若取值0,则代表不抽稀。示例: vacuate_grade:0(不抽稀) vacuate_grade:2(抽稀力度为2) |
supplement_mode | 里程补偿设置 | string(0-128) | 否 | 默认值:no_supplement
在里程计算时,两个轨迹点定位时间间隔5分钟以上,被认为是中断。中断轨迹提供以下5种里程估算方式。 no_supplement:不补充,中断两点间距离不记入里程。 straight:使用直线距离补充 driving:使用最短驾车路线距离补充 riding:使用最短骑行路线距离补充 walking:使用最短步行路线距离补充 |
coord_type_output | 返回的坐标类型 | string | 否 | 默认值:bd09ll
该字段用于控制返回结果中的坐标类型。可选值为: gcj02:国测局加密坐标 bd09ll:百度经纬度坐标 该参数仅对国内(包含港、澳、台)轨迹有效,海外区域轨迹均返回 wgs84坐标系 |
[ { "latitude": 39.671819, "longitude": 106.677927, "loc_time": 1525231818, "coord_type_input": “wgs84”, "speed":27.23, "direction":178, "height":173.3, "radius":32 }, { "latitude": 39.671898, "longitude": 106.677876, "loc_time": 1525231832, "coord_type_input": "wgs84", "speed":28.82, "direction":174, "height":173.6, "radius":32 } ]
参数名 | 参数含义 | 类型 | 备注 | |
---|---|---|---|---|
status | 状态码 | |||
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 | |
road_grade | 轨迹对应的道路等级 | string | 仅当请求参数is_processed=1且process_option中need_mapmatch=1时,返回该字段。 可能的返回值:高速路;都市高速路;国道;省道;县道;乡镇道路;其他道路;九级路;轮渡;行人道路 注:该功能需通过反馈平台联系我们开通 | |
car_limit_speed | 道路限速 | string | 单位:km/h 注:该功能需通过反馈平台联系我们开通 | |
coord_type | 坐标类型 | string | 该字段仅在海外区域时返回,返回值为:wgs84。当坐标位于国内(含港、澳、台)时,返回坐标类型与请求参数 coord_type_output 所设一致,因此不再返回该字段 |
{ "status": 0, "message": "成功", "total": 16, "distance": 41.217441275308, "toll_distance": 0, "points": [ { "loc_time": 1526861692, "latitude": 22.733547054536, "longitude": 114.0709706346, "speed": 8.5501914136716, "direction": 73.687141400957, "radius": 58.720428 }, { "loc_time": 1526861702, "latitude": 22.733607032902, "longitude": 114.07119283628, "speed": 3.906809509924, "direction": 253.68268960223, "height": 105, "radius": 12 }, { "loc_time": 1526861708, "latitude": 22.733590585111, "longitude": 114.07113191973, "speed": 1.3753788291603, "direction": 253.68486161602, "height": 108, "radius": 12 }, { "loc_time": 1526861713, "latitude": 22.733585760413, "longitude": 114.07111404831, "speed": 0.29483977360343, "direction": 253.68546013756, "height": 105, "radius": 10 }, { "loc_time": 1526861718, "latitude": 22.73358472618, "longitude": 114.07111021721, "speed": 0.49304088936573, "direction": 253.68574224662, "height": 104, "radius": 7 }, { "loc_time": 1526861723, "latitude": 22.73358299673, "longitude": 114.0711038107, "speed": 0.29483901828072, "direction": 253.68602475782, "height": 104, "radius": 6 } ] }
API请求中需要用到中文或一些特殊字符的参数,如query、region等,为了避免提交到后台乱码,需要对这几个参数值进行编码处理,转换成UTF-8字符的二字符十六进制值,凡是不在下表中的字符都需要进行编码。
字符集合 | 字符 |
URL非保留字 |
a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 - _ . ~ |
URL保留字 |
! * ' ( ) ; : @ & = + $ , / ? % # [ ] |
如果中文参数中使用URL保留字字符的字面意思,例如:region关键字取值为"?北京",检索关键字包含一个问号,此问号也必须进行编码。
附注:
javascript中一般采用encodeURIComponent函数对特殊字符进行编码。
Java中可以使用函数URLEncoder.encode对特殊字符进行编码。
C#中可以使用函数HttpUtility.UrlEncode对特殊字符进行编码。
php中可以使用函数urlencode对特殊字符进行编码。
WGS84:为一种大地坐标系,也是目前广泛使用的GPS全球卫星定位系统使用的坐标系。
GCJ02:是由中国国家测绘局制订的地理信息系统的坐标系统。由WGS84坐标系经加密后的坐标系。
BD09:为百度坐标系,在GCJ02坐标系基础上再次加密。其中bd09ll表示百度经纬度坐标,bd09mc表示百度墨卡托米制坐标
轨迹纠偏服务输入输出坐标类型默认为百度坐标(bd09ll),同时可通过参数("coord_type","coord_type_output")控制输入输出坐标类型。输入坐标支持以上三种坐标系,输出坐标在国内支持-国测局坐标(GCJ02)和百度坐标(BD09),在海外支持WGS84
注意:不同类型坐标如需转换,请使用百度地图开放平台提供的标准坐标转换接口。请勿使用其他渠道提供的坐标转换方法,以免影响坐标转换精度。
每个开发者账号每天调用“轨迹纠偏”API 服务的总次数(即配额)是有限的。
每个开发者账号每天调用“轨迹纠偏”API 服务的总次数(即并发量)是有限的。
若需要更高配额和并发量,请申请开发者认证以获取更高配额和更及时的技术支持。
同一个账号下的HTTP/HTTPS请求,配额,并发共享。
配额及默认并发量说明如下
分类 | 未认证 | 个人认证 | 企业认证 |
---|---|---|---|
日配额(次) | 1,000 | 1,000 | 1,000 |
分钟并发数(次/分钟) | 60 | 60 | 60 |
2018年7月12日
V1.0