实时位置搜索

简介

根据关键字或地理范围搜索 entity 实时位置,即上传至鹰眼服务端的最新位置。目前包含以下接口:

模块 接口名称 功能说明
entity search 根据关键字搜索entity
boundsearch 根据矩形范围搜索entity
aroundsearch 周边搜索,根据圆心和半径搜索 entity

注:鹰眼 v3.0使用全新域名http://yingyan.baidu.com/api/v3,请开发者注意。

坐标系说明

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


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


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


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


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


鹰眼 Web服务API v3.0的默认输入输出参数为百度坐标(BD09),同时可通过"coord_type","coord_type_input","coord_type_output"(以各服务参数介绍为准)控制输入输出的坐标类型,鹰眼将自动完成转换。

search——关键字搜索

接口说明

根据关键字搜索entity,并返回实时位置。

请求URI

http://yingyan.baidu.com/api/v3/entity/search

HTTP请求方式

GET

请求参数

参数名 参数含义 类型 是否必填 备注
ak 用户的ak,授权使用 string
service_id service的ID,service 的唯一标识。 int 在轨迹管理台创建鹰眼服务时,系统返回的 service_id
query 搜索关键字 string 默认为空,检索全部数据支持 entity_name + entity_desc 的联合模糊检索
filter 过滤条件 string
支持根据多个条件筛选,多个条件用竖线分隔(active_time 和 inactive_time 不可同时输入)
规则:filter=key1:value1|key2:value2。
示例:"filter=entity_names:张三,李四|active_time:1471708800|team:北京"

目前,支持的筛选字段为:

1)entity_names: entity_name列表,多个entity用逗号分隔,精确筛选。示例:"entity_names:张三,李四"

2)active_time:unix时间戳,查询在此时间之后有定位信息上传的entity(loc_time>=active_time)。如查询2016-8-21 00:00:00之后仍活跃的entity,示例:"active_time:1471708800"

3)inactive_time:unix时间戳,查询在此时间之后无定位信息上传的entity(loc_time<inactive_time)。如查询2016-8-21 00:00:00之后不活跃的entity示例:"inactive_time:1471708800"

4)开发者自定义的可筛选的entity属性字段,示例:"team:北京"

sortby 排序方法 string 默认值:entity_name:asc(按 entity_name 升序排序)

只支持按一个字段排序,支持的排序字段如下:

loc_time:entity 最新定位时间

entity_name:entity 唯一标识

entity_desc:entity描述信息

<custom-key>:开发者自定义的 entity 属性字段


【使用规则】

sortby=字段名:asc (升序)

sortby=字段名:desc (降序)


【示例】

按定位时间loc_time字段降序排序:sortby=loc_time:desc

按自定义的手机号字段phone_number 升序排序:sortby=phone_number:asc

coord_type_output 返回结果的坐标类型 string
默认值:bd09ll
该字段用于控制返回结果中坐标的类型。可选值为:
bd09ll:百度经纬度坐标
gcj02:国测局加密坐标

注:该字段在国外无效,国外均返回 wgs84坐标
page_index 分页索引 int(1到2^32-1)
默认值为1。page_index与page_size一起计算从第几条结果返回,代表返回第几页。


page_size 分页大小 int(1-1000)
默认值为100。page_size与page_index一起计算从第几条结果返回,代表返回结果中每页有几条记录。


请求示例

entitysearch.png

返回值

通用返回结果

boundsearch——矩形范围搜索

接口说明

根据矩形地理范围搜索entity,并返回实时位置

请求URI

http://yingyan.baidu.com/api/v3/entity/boundsearch

HTTP请求方式

GET

请求参数

参数名 参数含义 类型 是否必选 备注
ak 用户的ak,授权使用 string 必选
service_id service的ID,service 的唯一标识。 int 必选 在轨迹管理台创建鹰眼服务时,系统返回的 service_id
bounds 矩形区域, 左下角和右上角的经纬度坐标点。 string(25) 必选 坐标点顺序为"左下;右上",坐标对间使用;号分隔,格式为:纬度,经度;纬度,经度
示例:
36.20,116.30;37.20,117.30
filter 过滤条件 string 可选
支持根据多个条件筛选,多个条件用竖线分隔(active_time 和 inactive_time 不可同时输入)
规则:filter=key1:value1|key2:value2。
示例:"filter=entity_names:张三,李四|active_time:1471708800|team:北京"

目前,支持的筛选字段为:

1)entity_names: entity_name列表,多个entity用逗号分隔,精确筛选。示例:"entity_names:张三,李四"

2)active_time:unix时间戳,查询在此时间之后有定位信息上传的entity(loc_time>=active_time)。如查询2016-8-21 00:00:00之后仍活跃的entity,示例:"active_time:1471708800"

3)inactive_time:unix时间戳,查询在此时间之后无定位信息上传的entity(loc_time<inactive_time)。如查询2016-8-21 00:00:00之后不活跃的entity示例:"inactive_time:1471708800"

4)开发者自定义的可筛选的entity属性字段,示例:"team:北京"

sortby 排序方法 string 默认值:entity_name:asc(按 entity_name 升序排序)

只支持按一个字段排序,支持的排序字段如下:

loc_time:entity 最新定位时间

entity_name:entity 唯一标识

entity_desc:entity描述信息

<custom-key>:开发者自定义的 entity 属性字段


【使用规则】

sortby=字段名:asc (升序)

sortby=字段名:desc (降序)


【示例】

按定位时间loc_time字段降序排序:sortby=loc_time:desc

按自定义的手机号字段phone_number 升序排序:sortby=phone_number:asc

coord_type_input 请求参数 bounds 的坐标类型 string 可选
默认值:bd09ll
可选值为:
bd09ll:百度经纬度坐标
gcj02:国测局加密坐标
wgs84:gps 坐标
coord_type_output 返回结果的坐标类型 string 可选
默认值:bd09ll
该字段用于控制返回结果中坐标的类型。可选值为:
bd09ll:百度经纬度坐标
gcj02:国测局加密坐标

注:该字段在国外无效,国外均返回 wgs84
page_index 分页索引 int(1到2^32-1) 可选
默认值为1。page_index与page_size一起计算从第几条结果返回,代表返回第几页。


page_size 分页大小 int(1-1000) 可选
默认值为100。page_size与page_index一起计算从第几条结果返回,代表返回结果中每页有几条记录。


请求示例

boundsearch.png

返回结果

通用返回结果

aroundsearch—— 周边搜索

接口说明

根据圆心半径搜索entity,并返回实时位置

请求URI

http://yingyan.baidu.com/api/v3/entity/aroundsearch

HTTP请求方式

GET

请求参数

参数名 参数含义 类型 是否必选 备注
ak 用户的ak,授权使用 string 必选
service_id service的ID,service 的唯一标识。 int 必选 在轨迹管理台创建鹰眼服务时,系统返回的 service_id
center 中心点经纬度 string 必选 格式为:纬度,经度
示例:
36.20,116.30
,
radius 搜索半径 int 必选 单位:米,取值范围[1,5000]
示例:
1000
filter 过滤条件 string 可选
支持根据多个条件筛选,多个条件用竖线分隔(active_time 和 inactive_time 不可同时输入)
规则:filter=key1:value1|key2:value2。
示例:"filter=entity_names:张三,李四|active_time:1471708800|team:北京"

目前,支持的筛选字段为:

1)entity_names: entity_name列表,多个entity用逗号分隔,精确筛选。示例:"entity_names:张三,李四"

2)active_time:unix时间戳,查询在此时间之后有定位信息上传的entity(loc_time>=active_time)。如查询2016-8-21 00:00:00之后仍活跃的entity,示例:"active_time:1471708800"

3)inactive_time:unix时间戳,查询在此时间之后无定位信息上传的entity(loc_time<inactive_time)。如查询2016-8-21 00:00:00之后不活跃的entity示例:"inactive_time:1471708800"

4)开发者自定义的可筛选的entity属性字段,示例:"team:北京"

sortby 排序方法 string 默认值:entity_name:asc(按 entity_name 升序排序)

只支持按一个字段排序,支持的排序字段如下:

loc_time:entity 最新定位时间

entity_name:entity 唯一标识

entity_desc:entity描述信息

<custom-key>:开发者自定义的 entity 属性字段


【使用规则】

sortby=字段名:asc (升序)

sortby=字段名:desc (降序)


【示例】

按定位时间loc_time字段降序排序:sortby=loc_time:desc

按自定义的手机号字段phone_number 升序排序:sortby=phone_number:asc

coord_type_input 请求参数 center 的坐标类型 string 可选
默认值:bd09ll
可选值为:
bd09ll:百度经纬度坐标
gcj02:国测局加密坐标
wgs84:gps 坐标
coord_type_output 返回结果的坐标类型 string 可选
默认值:bd09ll
该字段用于控制返回结果中坐标的类型。可选值为:
bd09ll:百度经纬度坐标
gcj02:国测局加密坐标

注:该字段在国外无效,国外均返回 wgs84
page_index 分页索引 int(1到2^32-1) 可选
默认值为1。page_index与page_size一起计算从第几条结果返回,代表返回第几页。


page_size 分页大小 int(1-1000) 可选
默认值为100。page_size与page_index一起计算从第几条结果返回,代表返回结果中每页有几条记录。


请求示例

aroundsearch.png

返回结果

通用返回结果

通用返回结果

entity 搜索类接口通用返回结果

返回参数

参数名 参数含义 类型 备注
status 状态码 int 返回状态,0为成功
message 响应信息 string 对status的中文描述
total 本次检索总结果条数 int 代表符合本次检索条件的结果总数
size 本页返回的结果条数 int 代表本页返回了多少条符合条件的entity
entities entity详细信息列表
entity_name entity名称,其唯一标识 string
entity_desc entity 可读性描述 string
modify_time entity属性修改时间 格式化时间 该时间为服务端时间
create_time entity创建时间 格式化时间 该时间为服务端时间
<column-key> 开发者自定义的entity属性信息 string 只有当开发者为entity创建了自定义属性字段,且赋过值,才会返回。
latest_location 最新的轨迹点信息
latitude 纬度 double 坐标类型:bd09ll(百度经纬度坐标)
longitude 经度 double 坐标类型:bd09ll(百度经纬度坐标)
radius 定位精度 double 单位:m
loc_time 该entity最新定位时间 UNIX时间戳 该entity最新定位时间(定位时设备的时间)
direction 方向 int 范围为[0,359],0度为正北方向,顺时针
speed 速度 double 单位:km/h
height 高度 double 单位: m
floor 楼层 string 若处于百度支持室内定位的区域,则将返回楼层信息,默认 null
distance 距中心点距离 double 单位:m,仅在周边搜索(entity/aroundsearch)时返回该字段
object_name 对象数据名称 string 若无值则不返回该字段
<column-key> 开发者自定义track的属性 UNIX时间戳 只有当开发者为track创建了自定义属性字段,且赋过值,才会返回。

返回示例

JSON
{
 "status": 0,
 "message": "成功",
 "size": 2,
 "total": 2,
 "entities": [
  "entity_name": "张三",
     "create_time": "2016-10-31 20:19:47",
     "modify_time": "2016-10-31 20:19:53",
     "latest_location": {
       "loc_time": 1477916393,
       "longitude": 116.31313215818,
       "latitude": 40.047861788466,
       "floor": null,
       "radius": 30,
       "speed": 0,
       "direction": 0,
       "district": "海淀",
       "city": "北京"
     }
   },
   {
     "entity_name": "张海明",
     "create_time": "2016-11-01 10:42:08",
     "modify_time": "2016-11-08 19:13:36",
     "latest_location": {
       "loc_time": 1478603615,
       "longitude": 113.69034667067,
       "latitude": 34.789561135424,
       "floor":null,
       "direction": 90,
       "height": 89,
       "radius": 3,
       "speed": 3.49,
       "district": "海淀",
       "city": "北京"
     }
   }
 ]

}