浏览器版本低!无法浏览完整内容,建议升级或更换浏览器。

WEB 服务API

百度地图Web服务API为开发者提供http/https接口,即开发者通过http/https形式发起检索请求,获取返回json或xml格式的检索数据。用户可以基于此开发JavaScript、C#、C++、Java等语言的地图应用。

服务介绍
服务文档
使用指南
更新日志
服务介绍
轨迹纠偏服务(又名Trackrectify API)是一类Web API接口服务,用于纠正一段或多段轨迹的漂移,通过去除噪点、绑路、补充道路形状点、抽稀等方式,还原真实轨迹。

通常各种定位方式都存在着一定的误差,GPS信号不好的时候(例如,楼宇密集处、高架桥下、隧道等),可能就会使用WIFI或基站定位,特别是当周边WIFI热点比较少的时候会使用基站定位,定位误差会有所加大,产生轨迹漂移的现象。

为了纠正轨迹漂移,提升轨迹和里程的准确性,轨迹纠偏API提供了高性能的轨迹纠偏和绑路服务,其特性如下:

1. 高性能:一次请求支持对5000个轨迹点进行批量纠偏处理,响应时间不超过3秒

2. 可配置:开放多种纠偏因子供开发者自行调节

3. 适用性:针对驾车、骑行和步行不同出行模式执行对应的轨迹纠偏策略,并针对停留点漂移进行了单独识别与处理,故对于移动和停留期间的轨迹均有优异的纠偏效果

4.道路信息:支持返回轨迹点对应的道路等级、道路限速信息,开发者可利用此信息进行报警提醒和驾驶监控分析。
功能介绍
轨迹纠偏API
用于对一段连续长轨迹进行纠偏绑路、计算里程、返回道路等级和道路限速信息,如:对一辆车一个行程或一天的轨迹进行纠偏并计算里程。
trackrectify%2Fguide.png
接口功能介绍
轨迹纠偏
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 (系统默认去噪)

denoise_grade:2(系统默认去噪,同时去除定位精度低于500的轨迹点,相当于保留GPS定位点、大部分Wi-Fi定位点和精度较高的基站定位点)

denoise_grade:3(系统默认去噪,同时去除定位精度低于100的轨迹点,相当于保留GPS定位点和大部分Wi-Fi定位点)

denoise_grade:4(系统默认去噪,同时去除定位精度低于50的轨迹点,相当于保留GPS定位点和精度较高的Wi-Fi定位点)

denoise_grade:5(系统默认去噪,同时去除定位精度低于20的轨迹点,相当于仅保留GPS定位点)

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坐标系

extensions 返回结果控制 string 可选,默认:extensions=base

多个值用逗号分隔,目前支持以下值:

base:返回基础信息

road_info:在base的基础上增加返回道路等级(road_grade)、道路限速(car_limit_speed)信息(注:目前road_info仅在开发者申请开通了道路等级和道路限速字段权限后才生效)

示例:extensions=road_info,则返回base信息和road_grade、car_limit_speed

sn 用户的权限签名 string 若用户所用ak的校验方式为sn校验时该参数必须。 sn校验说明
point_list 格式参考:
[{"loc_time":1526861692,"latitude":22.733438641365,"longitude":114.07100001253,"radius":58.720428,"speed":0,"direction":0,"coord_type_input":"bd09ll"},{"loc_time":1526861702,"latitude":22.733120470113,"longitude":114.07131277927,"direction":0,"height":105,"radius":12,"speed":0,"coord_type_input":"bd09ll"},{"loc_time":1526861708,"latitude":22.73317518682,"longitude":114.07123440645,"direction":0,"height":108,"radius":12,"speed":0,"coord_type_input":"bd09ll"},{"loc_time":1526861713,"latitude":22.733186754672,"longitude":114.07121244322,"direction":0,"height":105,"radius":10,"speed":0,"coord_type_input":"bd09ll"},{"loc_time":1526861718,"latitude":22.733189988356,"longitude":114.07120756194,"direction":0,"height":104,"radius":7,"speed":0,"coord_type_input":"bd09ll"},{"loc_time":1526861723,"latitude":22.733196461607,"longitude":114.07119915457,"direction":0,"height":104,"radius":6,"speed":0,"coord_type_input":"bd09ll"}]
返回参数
参数名 参数含义 类型 备注
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
road_grade 轨迹对应的道路等级 string 仅当请求参数process_option中need_mapmatch=1时,返回该字段。
可能的返回值:高速路;都市高速路;国道;省道;县道;乡镇道路;其他道路;九级路;轮渡;行人道路
注:该功能需通过反馈平台联系我们开通
car_limit_speed 道路限速 string 单位:km/h
注:该功能需通过反馈平台联系我们开通
coord_type 坐标类型 string 该字段仅在海外区域时返回,返回值为:wgs84。当坐标位于国内(含港、澳、台)时,返回坐标类型与请求参数 coord_type_output 所设一致,因此不再返回该字段


请求示例

trackrectify%2Ftrackrectify_request1.png

返回示例
 {
    "status": 0,
    "message": "成功",
    "total": 3,
    "distance": 32.172129047817,
    "toll_distance": 0,
    "points": [
        {
            "loc_time": 1526861692,
            "latitude": 22.733547054536,
            "longitude": 114.0709706346,
            "road_grade": "其它道路",
            "car_limit_speed": 15,
            "speed": 8.5501914136716,
            "direction": 73.687141400957,
            "radius": 58.720428
        },
        {
            "loc_time": 1526861702,
            "latitude": 22.733607032902,
            "longitude": 114.07119283628,
            "road_grade": "其它道路",
            "car_limit_speed": 15,
            "speed": 2.7561591304932,
            "direction": 253.68318185279,
            "height": 105,
            "radius": 12
        },
        {
            "loc_time": 1526861713,
            "latitude": 22.733585760413,
            "longitude": 114.07111404831,
            "road_grade": "其它道路",
            "car_limit_speed": 15,
            "speed": 2.7561591304932,
            "direction": 253.68318185279,
            "height": 105,
            "radius": 10
        }
    ]
}
使用方法
编码说明

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

注意:不同类型坐标如需转换,请使用百度地图开放平台提供的标准坐标转换接口。请勿使用其他渠道提供的坐标转换方法,以免影响坐标转换精度。

服务使用限制

服务相关配额及并发请求限制请访问开发者权益页面查看。


2018年7月23日

V1.0

产品发布
发布轨迹纠偏接口v1.0,支持对一串连续的轨迹点进行纠偏、绑路、抽稀、里程计算、返回道路信息等处理,并返回纠偏后的轨迹点和里程