您当前的位置: 鹰眼Web API v2.0 > 接口说明 > track
track

简介

track类接口主要包括轨迹点的上传、查询,以及轨迹点自定义字段的管理

坐标系的说明

目前中国主要有以下三种坐标系:


WGS84:为一种大地坐标系,也是目前广泛使用的GPS全球卫星定位系统使用的坐标系。


GCJ02:是由中国国家测绘局制订的地理信息系统的坐标系统。由WGS84坐标系经加密后的坐标系。


BD09:为百度坐标系,在GCJ02坐标系基础上再次加密。其中bd09ll表示百度经纬度坐标,bd09mc表示百度墨卡托米制坐标


注:非中国地区地图,统一使用WGS84坐标


鹰眼 Web服务API v2.0的输入参数支持以上三种坐标系,可通过"coord_type"标明输入坐标类型。输出坐标仅支持百度经纬度坐标(bd09ll)。

addpoint——添加轨迹点

接口说明

为一个track添加最新轨迹点。

请求URI

URI:http://api.map.baidu.com/trace/v2/track/addpoint

HTTP请求方式

POST

请求参数

参数名 参数含义 类型 备注
ak 用户的ak,授权使用 string 必须
service_id servicede ID,作为其唯一标识 int 必选
latitude 纬度 double(-90.0 , +90.0) 必选
longitude 经度 double(-180.0 , +180.0) 必选
coord_type 坐标类型 int(1-3) 必选,1:GPS经纬度坐标2:国测局加密经纬度坐标 3:百度加密经纬度坐标。
speed 速度 double 可选,单位:km/h
direction 方向 int 可选,范围为[0,359],0度为正北方向,顺时针
height 高度 double 可选,单位米
radius 定位精度,GPS或定位SDK返回的值。 double 可选,单位米
loc_time 定位时设备的时间 Unix时间戳 必选。输入的loc_time不能大于当前服务端时间10分钟以上,即不支持存未来的轨迹点。
entity_name entity唯一标识 string(0-128) 必选
<column-key> 用户自定义列的column_key 此处值的类型须与用户自定义的column值的类型一致。 在track/create接口中可以为用户自定义的column赋值,当loc_time字段的值大于上一次时,如果输入了自定义的column的值,则这些值也会被更新。

返回值

参数名 参数含义 类型 备注
status 状态码 int 返回状态,0为成功
message 响应信息 string 对status的中文描述

请求示例

trackaddpoint.png

返回格式

JSON

响应示例
{

"status": 0,

"message": "成功"

}

addpoints——批量添加轨迹点

接口说明

对于一个track批量上传轨迹点。按照时间顺序保留最后一个点作为实时点,过程耗时等信息。

请求URI

http://api.map.baidu.com/trace/v2/track/addpoints

HTTP请求方式

POST

请求参数

参数名 参数含义 类型 备注
ak 用户的ak,授权使用 string 必选
service_id service唯一标识 int 必选
entity_name entity唯一标识 string(128) 必选
point_list 上传的轨迹点文件 file 必选。文件类型为.csv,编码格式支持UTF8。上传文件最大不能超过300KB,最多不能超过200条。

返回值

参数名 参数含义 类型 备注
status 状态码 int 返回状态,0为成功
message 响应信息 string 对status的中文描述
time 提交任务过程耗时 int 单位:秒
error_tracks 上传失败的轨迹点列表 array() 所有轨迹点都上传成功,则没有该字段。若有轨迹点没有上传成功,则该字段中会列出每个上传失败的轨迹点的详细信息。

请求示例

addpoints.png

point_list文件示例:

pointlist.png

点击下载示例文件

返回格式

上传全部成功的示例

JSON

响应示例
{
   "status": 0,
   "time": 30,
   "total":3,
   "message":"成功" 

有上传失败点的示例

JSON

响应示例
{
   "status": 0,
   "message": "失败1条, 请检查自定义字段的类型是否正确,且loc_time不能超过当前时间10分钟",
   "time": 0,
   "total": 2,
   "error_points": [
       {
           "longitude": "22.22",
           "latitude": "33.33",
           "loc_time": "12",
           "coord_type": "3",
           "dispatch_state": "not",
       }
   ]

gethistory——查询历史轨迹

接口说明

通过service _id和entity_name查找本entity历史轨迹点的具体信息,包括经纬度,时间,其他用户自定义信息等。

请求URI

http://api.map.baidu.com/trace/v2/track/gethistory

HTTP请求方式

GET

请求参数

参数名 参数含义 类型 备注
ak 用户的ak,授权使用 string 必须
service_id service唯一标识 int 必选
start_time 起始时间(起始的loc_time) UNIX时间戳 必选
end_time 结束时间(结束的loc_time) UNIX时间戳 必选。结束时间不超过当前时间,不能早于起始时间,且与起始时间差在24小时之内。
entity_name entity唯一标识 string 必选
sort_type 返回结果的排序规则 int 可选,默认值是0:返回轨迹点按loc_time从大到小排序;当设为1时,则反之。
simple_return 返回精简的结果 int 可选,默认值是0:返回完整结果;simple_return=1时,仅返回轨迹经纬度和速度;simple_return=2时,仅返回里程。
is_processed 是否返回纠偏后轨迹 int 可选,默认值是0。

0:关闭轨迹纠偏,返回原始轨迹

1:打开轨迹纠偏,返回纠偏后轨迹。打开纠偏时,请求时间段内轨迹点数量不能超过2万,否则将返回错误。轨迹纠偏包括去噪、抽稀、绑路三个选项,可根据业务需求在process_option参数中自由组合。

process_option 纠偏选项 string(0-128) 可选,仅在is_processed=1时生效。可选,默认值为:

need_denoise=1,radius_threshold=0,need_vacuate=1, need_mapmatch=0,radius_threhold=0,transport_mode=driving

取值规则为:

去噪,示例:

need_denoise =0:不去噪

need_denoise =1:去噪


抽稀,示例:

need_vacuate =0:不抽稀

need_vacuate=1:抽稀


绑路,示例:

need_mapmatch=0:不绑路

need_mapmatch=1:绑路


定位精度过滤,用于过滤掉定位精度较差的轨迹点,示例:

radius_threshold=0:不过滤

radius_threshold=100:过滤掉定位精度 Radius 大于100的点

说明:当取值=0时,则不过滤;当取值大于0的整数时,则过滤掉radius大于设定值的轨迹点。例如:若只需保留 GPS 定位点,则建议设为:20;若需保留 GPS 和 Wi-Fi 定位点,去除基站定位点,则建议设为:100


交通方式,鹰眼将根据不同交通工具选择不同的纠偏策略,目前支持驾车、骑行和步行,示例: transport_mode=driving

transport_mode=riding

transport_mode=walking

supplement_mode 里程补偿方式 string(0-128) 在里程计算时,两个轨迹点定位时间间隔5分钟以上,被认为是中断。中断轨迹提供以下5种里程估算方式。

no_supplement:不补充,中断两点间距离不记入里程。

straight:使用直线距离补充

driving:使用最短驾车路线距离补充

riding:使用最短骑行路线距离补充

walking:使用最短步行路线距离补充

默认值为:no_supplement,不补充

page_index 分页索引 int(1到2^21-1)默认值为1 可选,与page_size一起计算从第几条结果返回,代表返回第几页。
page_size 分页大小 int(1-5000)默认值为100 可选字段,返回结果最大个数与page_index一起计算从第几条结果返回,代表返回结果中每页有几个轨迹点。

返回值

参数名 参数含义 类型 备注
status 状态码
message 响应信息 string 对status的中文描述
total 忽略掉page_index,page_size后的轨迹点数量 代表一共有多少条符合条件的track
size 返回的结果条数 int 代表本页返回了多少条符合条件的轨迹点数量
distance 此段轨迹的里程数,单位:米 double 符合条件的所有轨迹点的总里程。注意:是total个轨迹点的里程,和分页及本页显示的size无关。
toll_distance 此段轨迹的收费里程数,单位:米 double 收费道路包括高速等收费路段。
start_point 起点信息
longitude 经度 double
latitude 纬度 double
coord_type 坐标类型 int(1-3) 坐标类型取值:

1:GPS经纬度坐标

2:国测局加密经纬度坐标

3:百度加密经纬度坐标。

注:国内的轨迹coord_type均为3:百度加密经纬度坐标

loc_time 定位时间 UNIX时间戳
end_point 终点信息
longitude 经度 double
latitude 纬度 double
coord_type 坐标类型 int(1-3) 坐标类型取值:

1:GPS经纬度坐标

2:国测局加密经纬度坐标

3:百度加密经纬度坐标。

注:国内的轨迹coord_type均为3:百度加密经纬度坐标

loc_time 定位时设备的时间 UNIX时间戳
points 历史轨迹点列表 当simple_return=0时,返回point全部字段信息;

当simple_return=1时,返回point信息将只包含 [longitude, latitude, loc_time,speed]字段;

location 经纬度 Array 百度加密坐标
loc_time 定位时的设备时间 UNIX时间戳 该时间为用户上传的时间
create_time 创建时间 格式化时间 该时间为服务端时间
direction 方向 int 范围为[0,359],0度为正北方向,顺时针
height 高度 double 只在GPS定位结果时才返回,单位米
speed 速度 double 单位:km/h
radius 定位精度 double 单位:m
<column-key> 自定义字段 当用户创建了track的自定义属性,且在创该属性赋有值,才会返回此字段。

请求示例

trackgethistory.png

返回结果示例

当simple_return=0时 JSON

响应实例
{
   "status": 0,
   "size": 2,
   "total": 2,
   "entity_name":"小明",
   "distance":4190.69,
   "toll_distance":0,
   "points": [
       {
           
           "location": [
               116.1556024,
               40.0820658,
           ],
           "create_time": "2014-09-13 18:23:45",
           "loc_time": "1442139825",
           "direction": 240,
           "speed": 0.9,
           "radius": 5,
           "dispatch_state": “not”
       },
       {
           "location": [
               116.3579834,
               40.0280849,
           ],
           "create_time": "2014-09-13 18:24:45",
           "loc_time": 1442139885,
           "direction":240,
           "speed": 0.9,
           "radius": 5,
           "dispatch_state": “not”
       }
   ],
   "message": "成功"

}

返回结果示例

当simple_return=1,且point的speed字段有值时 JSON

响应实例
{
   "status": 0,
   "size": 2,
   "total": 2,
   "entity_name":"小明",
   "distance":4190.69,
   "toll_distance":0,
   "points": [
       [
               116.1556024,
               40.0820658,
               1376877958,
               18.8
          ],
          [   116.3579834,
               40.0280849,
               1376877955,
               19.6
           ],
       ]
   ],
   "message": "成功"

}

addcolumn——添加track的属性字段

接口说明

为track添加一个属性字段。

请求URI

http://api.map.baidu.com/trace/v2/track/addcolumn

HTTP请求方式

POST

请求参数

参数名 参数含义 类型 备注
ak 用户的ak,授权使用 string 必选
service_id service的唯一标识 Int 必选
column_key 字段名称 string(45) 必选。
命名规则:仅允许英文大小字母、英文下划线"_"、英文横线"-"和数字,不允许使用下划线"_"开头。
最多创建10个属性字段,同一service下track的column_key不能重复,且不可与以下系统字段重名:entity_name,create_time,modify_time,latest_location,direction,speed,height,floor,radius
column_desc 字段描述 string(45) 可选
column_type 字段类型 int(1-3) 必选,枚举值1:Int64, 2:double, 3:string(字符串最大支持2048字符)

返回值

参数名 参数含义 类型 备注
status 状态码 int 返回状态,0为成功
message 响应信息 string 对status的中文描述

请求示例

trackaddcolumn.png

返回格式

JSON

响应实例
{
   "status": 0,
   "message": "成功"

}

deletecolumn——删除track属性字段

接口说明

删除track某个属性字段。

请求URI

http://api.map.baidu.com/trace/v2/track/deletecolumn

HTTP请求方式

POST

请求参数

参数名 参数含义 类型 备注
ak 用户的ak,授权使用 string 必选
service_id 该track所属的service服务的唯一标识 Int 必选
column_key 字段唯一标识 string 必选

返回值

参数名 参数含义 类型 备注
status 状态码 int 返回状态,0为成功
message 响应信息 string 对status的中文描述

请求示例

trackdeletecolumn.png

返回格式

JSON

响应实例
{

"status": 0,

"message": "成功"

}

listcolumn——列出track属性字段

接口说明

列出track所有自定义属性字段。

请求URI

http://api.map.baidu.com/trace/v2/track/listcolumn

HTTP请求方式

GET

请求参数

参数名 参数含义 类型 备注
ak 用户的ak,授权使用 string 必选
service_id 该track所属的service服务的唯一标识 int 必选

返回值

参数名 参数含义 类型 备注
status 状态码 int 返回状态,0为成功
message 响应信息 string 对status的中文描述
columns 字段列表 array
column_key 字段名称 string
column_desc 字段描述 string
column_type 字段类型 int
create_time 字段创建时间 格式化日期

请求示例

tracklistcolumn.png

返回格式

JSON

响应示例
{
   "status": 0,
    "columns": [
           {
               "column_key": "oil",
               "column_desc": "油量",
               "column_type": 1,
               "create_time": "2015-05-18 09:02:25",
                "modify_time": "2015-05-18 09:02:25"
           },
           {
               "column_key": "gas",
               "column_desc": "排放",
               "column_type": 1,
               "create_time": "2015-05-18 09:05:31",
               "modify_time": "2015-05-18 09:05:31"
           }
       ]
   "message": "成功"

}