实时位置搜索

简介

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

模块 接口名称 功能说明
entity search 根据关键字搜索entity
boundsearch 根据矩形范围搜索entity
aroundsearch 周边搜索,根据圆心和半径搜索 entity
polygonsearch 多边形搜索,搜索多边形范围内的entity
districtsearch 行政区搜索,搜索中国范围内,国家、省、市、区/县中的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

返回结果

通用返回结果

polygonsearch—— 多边形搜索

接口说明

搜索多边形范围内的entity

请求URI

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

HTTP请求方式

GET

请求参数

参数名 参数含义 类型 是否必选 备注
ak 用户的ak,授权使用 string 必选
service_id service的ID,service 的唯一标识。 int 必选 在轨迹管理台创建鹰眼服务时,系统返回的 service_id
vertexes 多边形边界点 string 必选 “double,double;double,double; ...;double,double”

规则: 经纬度顺序为:纬度,经度; 顶点顺序可按顺时针或逆时针排列。 多边形外接矩形面积不超过3000平方公里

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 请求参数 vertexes 的坐标类型 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一起计算从第几条结果返回,代表返回结果中每页有几条记录。


请求示例

http://yingyan.baidu.com/api/v3/entity/polygonsearch?service_id=127980&vertexes=40.023759,116.20621;40.027737,116.532762;39.794407,116.570132;39.79485,116.201036;40.023759,116.20621&coord_type_input=wgs84&coord_type_output=bd09ll&ak=< 用户的ak>

返回结果

通用返回结果

districtsearch—— 行政区搜索

接口说明

搜索中国范围内,国家、省、市、区/县中的entity

请求URI

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

HTTP请求方式

GET

请求参数

参数名 参数含义 类型 是否必选 备注
ak 用户的ak,授权使用 string 必选
service_id service的ID,service 的唯一标识。 int 必选 在轨迹管理台创建鹰眼服务时,系统返回的 service_id
keyword 行政区划关键字 string 必选 支持中国范围内的国家、省、市、区/县名称。请尽量输入完整的行政区层级和名称,保证名称的唯一性。若输入的行政区名称匹配多个行政区,搜索会失败,将会返回匹配的行政区列表。

关键字示例: 中国 北京市 湖南省长沙市 湖南省长沙市雨花区

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 默认值:按系统内部默认规则排序。支持开发者设置以下排序字段,但搜索性能将低于默认排序

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

return_type 设置返回值的内容 string 默认值为:all

可选值:

simple:仅返回 total,即符合本次检索条件的所有entity 数量(若仅需行政区内entity数量,建议选择 simple,将提升检索性能)

all:返回全部结果

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一起计算从第几条结果返回,代表返回结果中每页有几条记录。


请求示例

http://yingyan.baidu.com/api/v3/entity/districtsearch&service_id=12789&keyword=北京&return_type=simple&filter=inactive_time:1496194480&ak=<用户的ak>

返回结果

1. 关键字匹配至唯一行政区,且return_type=simple

参数名 参数含义 类型 备注
status 状态码 int 返回状态,0为成功
message 响应信息 string 对status的中文描述
total 符合本次检索的结果总数量 int

返回示例

JSON
{
   "status": 0,
   "message": "成功",
   "total": 1078

}


2. 关键字匹配至唯一行政区,且return_type=all

通用返回结果


3. 关键字匹配至多个行政区

参数名 参数含义 类型 备注
status 状态码 int 返回状态为:2
message 响应信息 string 对status的中文描述
district_list 关键字匹配的行政区划列表 array

返回示例

JSON
{
  status: 2,
  message: "检查到多个行政区划",
  district_list: [
  "北京市朝阳区",
  "辽宁省朝阳市",
  "辽宁省朝阳市朝阳县",
  "吉林省长春市朝阳区"]

}

通用返回结果

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_key 对象数据名称 string 若无值则不返回该字段
<column-key> 开发者自定义track的属性 UNIX时间戳 只有当开发者为track创建了自定义属性字段,且赋过值,才会返回。

返回示例

JSON
{
 "status": 0,
 "message": "成功",
 "size": 2,
 "total": 2,
 "entities": [
 {
     "entity_name": "小王",
     "create_time": "2016-11-01 11:56:32",
     "modify_time": "2016-11-01 13:27:59",
     "latest_location": {
       "loc_time": 1477978078,
       "longitude": 116.3189288575,
       "latitude": 40.04780579193,
       "direction": 64,
       "height": 53,
       "radius": 4,
       "speed": 37.73
     },
     "city": "北京",
     "district": "海淀",
     "entity_desc": "小王_01"
   },
   {
     "entity_name": "小明",
     "create_time": "2017-03-15 15:56:04",
     "modify_time": "2017-06-01 14:01:31",
     "latest_location": {
       "loc_time": 1488785466,
       "longitude": 116.45644006808,
       "latitude": 39.929082990815,
       "direction": 12,
       "height": 113.76,
       "radius": 3,
       "speed": 15.23
     },
     "city": "北京",
     "district": "海淀",
     "entity_desc": "小明_01"
   }
 ]

}