根据关键字或地理范围搜索 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字段为请求的参数function request_get($url = '', $param = array()) {if (empty($url) || empty($param)) {return false;}$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<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一起计算从第几条结果返回,代表返回结果中每页有几条记录。 |
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<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一起计算从第几条结果返回,代表返回结果中每页有几条记录。 |
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<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 |
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创建时间 | 格式化时间 | 该时间为服务端时间 | ||
<column-key> | 开发者自定义的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"}]}
上一篇
下一篇
本篇文章对您是否有帮助?