根据关键字或地理范围搜索 entity 实时位置,即上传至鹰眼服务端的最新位置。例如:根据名称搜索车辆,或搜索周边的车辆、矩形或多边形范围内的车辆等。
entity 管理类接口实现 entity 的创建、更新、删除、查询。包括四个接口:
模块 | 接口名称 | 功能说明 |
---|---|---|
entity | search | 根据关键字搜索entity |
boundsearch | 根据矩形范围搜索entity | |
aroundsearch | 周边搜索,根据圆心和半径搜索 entity | |
polygonsearch | 多边形搜索,搜索多边形范围内的entity | |
districtsearch | 行政区搜索,搜索行政区范围内的entity |
目前中国主要有以下三种坐标系:
wgs84:为一种大地坐标系,也是目前广泛使用的gps全球卫星定位系统使用的坐标系
gcj02:是由中国国家测绘局制订的地理信息系统的坐标系统。由wgs84坐标系经加密后的坐标系
bd09:为百度坐标系,在gcj02坐标系基础上再次加密。其中bd09ll表示百度经纬度坐标,bd09mc表示百度墨卡托米制坐标
非中国地区地图,统一使用wgs84坐标
鹰眼 web服务api v3.0的默认输入输出参数为百度坐标(bd09),同时可通过"coord_type","coord_type_input","coord_type_output"(以各服务参数介绍为准)控制输入输出的坐标类型,鹰眼将自动完成转换。
根据关键字搜索entity,并返回实时位置。
https://yingyan.baidu.com/api/v3/entity/search
//get请求
参数名称 | 字段含义 | 数据类型 | 是否必填 | 备注 |
---|---|---|---|---|
ak | 用户的ak | string | 是 | |
service_id | service的id,service 的唯一标识 | int | 是 | 在轨迹管理台创建鹰眼服务时,系统返回的 service_id |
query | 搜索关键字 | string | 否 | 默认为空,检索全部数据支持 entity_name entity_desc 的联合模糊检索 |
filter | 过滤条件 | string | 否 | 支持根据多个条件筛选,多个条件用竖线分隔(active_time 和 inactive_time 不可同时输入) |
sortby | 排序方法 | string | 否 | 默认值:entity_name:asc(按 entity_name 升序排序) |
coord_type_output | 返回结果的坐标类型 | string | 否 | 默认值:bd09ll |
page_index | 分页索引 | int(1到2^32-1) | 否 | 默认值为1。page_index与page_size一起计算从第几条结果返回,代表返回第几页。 |
page_size | 分页大小 | int(1-1000) | 否 | 默认值为100。page_size与page_index一起计算从第几条结果返回,代表返回结果中每页有几条记录。 |
sn | 用户的权限签名,若用户所用ak的校验方式为sn校验时该参数必须。sn计算方法 | string | 否 |
返回值见 通用返回结果
输入ak可生成包含ip/sn校验方式的代码
<?php// 此处填写你在控制台-应用管理-创建应用后获取的ak$ak ='您的ak';// 此处填写您在鹰眼轨迹管理平台创建的service_id// 发起一个http get请求,并返回请求的结果// $url字段为请求的地址// $param字段为请求的参数functionrequest_get($url ='', $param =array()){if(empty($url)||empty($param)){returnfalse;}$geturl = $url ."?".http_build_query($param);$curl =curl_init();// 初始化curlcurl_setopt($curl,curlopt_url, $geturl);// 抓取指定网页curl_setopt($curl,curlopt_timeout,1000);// 设置超时时间1秒curl_setopt($curl,curlopt_returntransfer,1);// curl不直接输出到屏幕curl_setopt($curl,curlopt_header,0);// 设置header$data =curl_exec($curl);// 运行curlif(!$data){print("an error occured in function request_get(): ".curl_error($curl)."\n");}curl_close($curl);return $data;}// 请求地址$url ='https://yingyan.baidu.com/api/v3/entity/search';// 此处设置过滤条件$param['ak']= $ak;$param['service_id']='您的service';$param['query']='zhang';$res =request_get($url, $param);// 将原始返回的结果打印出来print("请求的原始返回结果为:\n");print($res ."\n");?>
根据矩形地理范围搜索entity,并返回实时位置
https://yingyan.baidu.com/api/v3/entity/boundsearch
//get 请求
参数名称 | 字段含义 | 数据类型 | 是否必填 | 备注 |
---|---|---|---|---|
ak | 用户的ak,授权使用 | string | 是 | |
service_id | service的id,service 的唯一标识 | int | 是 | service 的唯一标识。在轨迹管理台创建鹰眼服务时,系统返回的 service_id |
bounds | 矩形区域, 左下角和右上角的经纬度坐标点 | string(25) | 是 | 坐标点顺序为"左下;右上",坐标对间使用;号分隔,格式为:纬度,经度;纬度,经度 示例: 36.20,116.30;37.20,117.30 |
filter | 过滤条件 | string | 否 | 支持根据多个条件筛选,多个条件用竖线分隔(active_time 和 inactive_time 不可同时输入) |
sortby | 排序方法 | string | 否 | `默认值:entity_name:asc(按 entity_name 升序排序) |
coord_type_input | 请求参数 bounds 的坐标类型 | string | 否 | 默认值:bd09ll |
coord_type_output | 返回结果的坐标类型 | string | 否 | 默认值:bd09ll |
page_index | 分页索引 | int(1到2^32-1) | 否 | 默认值为1。page_index与page_size一起计算从第几条结果返回,代表返回第几页。 |
page_size | 分页大小 | int(1-1000) | 否 | 默认值为100。page_size与page_index一起计算从第几条结果返回,代表返回结果中每页有几条记录。 |
sn | 用户的权限签名,若用户所用ak的校验方式为sn校验时该参数必须。sn计算方法 | string | 否 |
返回值见 通用返回结果
根据圆心半径搜索entity,并返回实时位置
https://yingyan.baidu.com/api/v3/entity/aroundsearch
//get 请求
参数名称 | 字段含义 | 数据类型 | 是否必填 | 备注 |
---|---|---|---|---|
ak | 用户的ak,授权使用 | string | 是 | |
service_id | service的id,service 的唯一标识 | int | 是 | service 的唯一标识。在轨迹管理台创建鹰眼服务时,系统返回的 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 |
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一起计算从第几条结果返回,代表返回结果中每页有几条记录。 |
sn | 用户的权限签名,若用户所用ak的校验方式为sn校验时该参数必须。sn计算方法 | string | 否 |
返回值见 通用返回结果
搜索多边形范围内的entity
https://yingyan.baidu.com/api/v3/entity/polygonsearch
//get请求
参数名称 | 字段含义 | 数据类型 | 是否必填 | 备注 |
---|---|---|---|---|
ak | 用户的ak,授权使用 | string | 是 | |
service_id | service的id,service 的唯一标识 | int | 是 | service 的唯一标识。在轨迹管理台创建鹰眼服务时,系统返回的 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 |
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一起计算从第几条结果返回,代表返回结果中每页有几条记录。 |
sn | 用户的权限签名,若用户所用ak的校验方式为sn校验时该参数必须。sn计算方法 | string | 否 |
返回值见 通用返回结果
https://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>
搜索中国范围内,国家、省、市、区/县中的entity
https://yingyan.baidu.com/api/v3/entity/districtsearch
//get请求
参数名称 | 字段含义 | 数据类型 | 是否必填 | 备注 |
---|---|---|---|---|
ak | 用户的ak,授权使用 | string | 是 | |
service_id | service的id,service 的唯一标识 | int | 是 | service 的唯一标识。在轨迹管理台创建鹰眼服务时,系统返回的 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 |
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 |
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一起计算从第几条结果返回,代表返回结果中每页有几条记录。 |
sn | 用户的权限签名,若用户所用ak的校验方式为sn校验时该参数必须。sn计算方法 | string | 否 |
https://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 |
{"status":0,"message":"成功","total":1078}
2. 关键字匹配至唯一行政区,且return_type=all 见通用返回结果
3. 关键字匹配至多个行政区
参数名称 | 字段含义 | 数据类型 | 备注 |
---|---|---|---|
status | 状态码 | int | 返回状态,0为成功 |
message | 响应信息 | string | 对status的中文描述 |
district_list | 关键字匹配的行政区划列表 | array |
{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创建时间 | 格式化时间 | 该时间为服务端时间 | ||
开发者自定义的entity属性信息 | string | 只有当开发者为entity创建了自定义属性字段,且赋过值,才会返回。 | |||
latest_location | 最新的轨迹点信息 | ||||
latitude | 纬度 | double | |||
longitude | 经度 | double | |||
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 | 单位:米,仅在周边搜索(entity/aroundsearch)时返回该字段 | ||
object_name | 对象数据名称 | string | 若无值则不返回该字段 | ||
column-key | 开发者自定义track的属性 | unix时间戳 | 只有当开发者为track创建了自定义属性字段,且赋过值,才会返回。 |
{"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"}]}
上一篇
下一篇
本篇文章对您是否有帮助?