全部服务产品
开发者频道
服务升级
登录

文档全面上新

更科技的视觉体验,更高效的页面结构,快前往体验吧!

体验新版
服务介绍
服务文档
使用指南
更新日志
服务介绍
轨迹纠偏服务(又名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 (仅保留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坐标系

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校验说明
timestamp 时间戳 string sn存在时必填
point_list 格式参考:
 
[
  {
    "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 仅当请求参数process_option中need_mapmatch=1时,返回该字段。
可能的返回值:高速路;都市高速路;国道;省道;县道;乡镇道路;其他道路;九级路;轮渡;行人道路
注:该功能需通过反馈平台联系我们开通
car_limit_speed 道路限速 string 单位:km/h
注:该功能需通过反馈平台联系我们开通
coord_type 坐标类型 string 该字段仅在海外区域时返回,返回值为:wgs84。当坐标位于国内(含港、澳、台)时,返回坐标类型与请求参数 coord_type_output 所设一致,因此不再返回该字段


请求示例

trackrectify%2Ftrackrectify_request.png

返回示例
 
{
    "status": 0,
    "message": "成功",
    "total": 6,
    "distance": 17.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月18日

V1.0

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


  • 文档根本没法用

  • 文档水平很差

  • 文档水平一般

  • 文档不错

  • 文档写的很好

如发现文档错误,或对此文档有更好的建议,请在下方反馈。问题咨询请前往反馈平台提交工单咨询。

提交反馈

拖动标注工具

添加矩形标注

添加箭头标注

完成

取消