地理围栏管理

目录

简介

围栏管理类接口包括圆形、多边形、线型、行政区划4类围栏的增、删、改、查接口:

模块 接口名称 功能说明
fence createcirclefence 创建圆形围栏
createpolygonfence 创建多边形围栏
createpolylinefence 创建线型围栏
createdistrictfence 创建行政区划围栏
updatecirclefence 更新圆形围栏
updatepolygonfence 更新多边形围栏
updatepolylinefence 更新线型围栏
updatedistrictfence 更新行政区划围栏
delete 删除围栏
list 查询围栏信息

注:鹰眼 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"(以各服务参数介绍为准)控制输入输出的坐标类型,鹰眼将自动完成转换。

围栏创建小贴士

1、使用鹰眼地理围栏管理接口创建或修改围栏时,请注意正确填写参数中的经度和纬度,如圆形围栏创建的参数longitude、latitude;多边形围栏创建的参数vertexes等(以各服务参数介绍为准)。

2、如创建时坐标中经度和纬度的顺序不正确,则不能成功创建和修改围栏。

createcirclefence——创建圆形围栏

接口说明

以中心点和半径创建一个圆形围栏。

支持两种创建方法:

1、针对确定的某个entity创建围栏,该围栏仅监控1个entity

2、针对某个service下的所有entity创建围栏,该围栏同时监控这个service的所有entity

请求URI

http://yingyan.baidu.com/api/v3/fence/createcirclefence

HTTP请求方式

POST

请求参数

参数名 参数含义 类型 是否必填 备注
ak 用户的ak,授权使用 string
service_id service的唯一标识 int
fence_name 围栏名称 string(128)
monitored_person 监控对象 string 被监控者的entity_name。

支持指定一个entity或针对所有entity设置围栏

1、对指定一个entity_name创建围栏。

规则:monitored_person=entity_name

示例:monitored_person=张三

2、如设置为#allentity(monitored_person=#allentity),则对整个service下的所有entity创建围栏

longitude 围栏圆心经度 double
latitude 围栏圆心纬度 double
radius 围栏半径 double 单位:米,取值范围(0,5000]
coord_type 坐标类型 string 坐标类型定义如下:

wgs84:GPS经纬度 gcj02:国测局经纬度 bd09ll:百度经纬度

denoise 围栏去噪参数 int 单位:米。每个轨迹点都有一个定位误差半径radius,这个值越大,代表定位越不准确,可能是噪点。围栏计算时,如果噪点也参与计算,会造成误报的情况。设置denoise可控制,当轨迹点的定位误差半径大于设置值时,就会把该轨迹点当做噪点,不参与围栏计算。denoise默认值为0,不去噪。

返回值

参数名 参数含义 类型 备注
status 状态码 int 返回状态,0为成功
message 响应信息 string 对status的中文描述
fence_id 围栏的唯一标识 int fence_id由系统自动生成,按正整数递增

请求示例

createcirclefence.png

返回格式

JSON
{
   "status": 0,
   "message": "成功",
   "fence_id":1

}

createpolygonfence——创建多边形围栏

接口说明

以多边形形状点创建多边形围栏

支持两种创建方法:

1、针对确定的某个entity创建围栏,该围栏仅监控1个entity

2、针对某个service下的所有entity创建围栏,该围栏同时监控这个service的所有entity

请求URI

http://yingyan.baidu.com/api/v3/fence/createpolygonfence

HTTP请求方式

POST

请求参数

参数名 参数含义 类型 是否必填 备注
ak 用户的ak,授权使用 string
service_id service的唯一标识 int
fence_name 围栏名称 string(128)
monitored_person 监控对象 string 被监控者的entity_name。

支持指定一个entity或针对所有entity设置围栏

1、对指定一个entity_name创建围栏。

规则:monitored_person=entity_name

示例:monitored_person=张三

2、如设置为#allentity(monitored_person=#allentity),则对整个service下的所有entity创建围栏

vertexes 多边形围栏形状点 “double,double; double,double; ...;double,double” 经纬度顺序为:纬度,经度;

顶点顺序可按顺时针或逆时针排列;

顶点个数在3-100个之间

coord_type 坐标类型 string 坐标类型定义如下:

wgs84:GPS经纬度 gcj02:国测局经纬度 bd09ll:百度经纬度

denoise 围栏去噪参数 int 单位:米。每个轨迹点都有一个定位误差半径radius,这个值越大,代表定位越不准确,可能是噪点。围栏计算时,如果噪点也参与计算,会造成误报的情况。设置denoise可控制,当轨迹点的定位误差半径大于设置值时,就会把该轨迹点当做噪点,不参与围栏计算。denoise默认值为0,不去噪。

返回值

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

请求示例

createpolygonfence.png

返回格式

JSON
{
   "status": 0,
   "message": "成功",
   "fence_id":2

}

createpolylinefence——创建线型围栏

接口说明

以路线形状点创建线型围栏

支持两种创建方法:

1、针对确定的某个entity创建围栏,该围栏仅监控1个entity

2、针对某个service下的所有entity创建围栏,该围栏同时监控这个service的所有entity

请求URI

http://yingyan.baidu.com/api/v3/fence/createpolylinefence

HTTP请求方式

POST

请求参数

参数名 参数含义 类型 是否必填 备注
ak 用户的ak,授权使用 string
service_id service的唯一标识 int
fence_name 围栏名称 string(128)
monitored_person 监控对象 string 被监控者的entity_name。

支持指定一个entity或针对所有entity设置围栏

1、对指定一个entity_name创建围栏。

规则:monitored_person=entity_name

示例:monitored_person=张三

2、如设置为#allentity(monitored_person=#allentity),则对整个service下的所有entity创建围栏

vertexes 线型围栏坐标点 “double,double; double,double; ...;double,double” 经纬度顺序为:纬度,经度;

坐标点个数在2-100个之间

offset 偏离距离 int 偏移距离(若偏离折线距离超过该距离即报警),单位:米

示例:200

coord_type 坐标类型 string 坐标类型定义如下:

wgs84:GPS经纬度

gcj02:国测局经纬度

bd09ll:百度经纬度

denoise 围栏去噪参数 int 单位:米。每个轨迹点都有一个定位误差半径radius,这个值越大,代表定位越不准确,可能是噪点。围栏计算时,如果噪点也参与计算,会造成误报的情况。设置denoise可控制,当轨迹点的定位误差半径大于设置值时,就会把该轨迹点当做噪点,不参与围栏计算。denoise默认值为0,不去噪。

返回值

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

请求示例

createpolylinefence.png

返回格式

JSON
{
   "status": 0,
   "message": "成功",
   "fence_id":3

}

createdistrictfence——创建行政区划围栏

接口说明

以行政区划边界创建围栏

支持两种创建方法:

1、针对确定的某个entity创建围栏,该围栏仅监控1个entity

2、针对某个service下的所有entity创建围栏,该围栏同时监控这个service的所有entity

请求URI

http://yingyan.baidu.com/api/v3/fence/createdistrictfence

HTTP请求方式

POST

请求参数

参数名 参数含义 类型 备注
ak 用户的ak,授权使用 string 必选
service_id 该围栏实体所属的轨迹服务ID int 必选
fence_name 围栏名称 string 可选,最长128个字节
monitored_person 监控对象 string 必选,轨迹服务中的entity_name

支持指定一个entity或针对所有entity设置围栏

1、对指定一个entity_name创建围栏。

规则:monitored_person=entity_name

示例:monitored_person=张三

2、如设置为#allentity(monitored_person=#allentity),则对整个service下的所有entity创建围栏

keyword 行政区划关键字 string 必选

支持中国国家、省、市、区/县名称。请尽量输入完整的行政区层级和名称,保证名称的唯一性。若输入的行政区名称匹配多个行政区,围栏将创建失败。 示例: 中国 北京市 湖南省长沙市 湖南省长沙市雨花区

denoise 围栏去噪参数 int 可选

单位:米。每个轨迹点都有一个定位误差半径radius,这个值越大,代表定位越不准确,可能是噪点。围栏计算时,如果噪点也参与计算,会造成误报的情况。设置denoise可控制,当轨迹点的定位误差半径大于设置的denoise值时,就会把该轨迹点当做噪点,不参与围栏计算。denoise默认值为0,不去噪

返回值-匹配至唯一行政区划

参数名 参数含义 类型 备注
status 状态码 int 返回状态,0为成功
message 响应信息 string 对status的中文描述
fence_id fence的id int status=0,围栏创建成功时返回
district 结构化的行政区划描述 string status=0,围栏创建成功时返回该字段
district_list 关键字匹配的行政区划列表 array status=5108:围栏创建失败,关键字匹配至多个行政区时,返回该字段

请求示例

createdistrictfence.png

返回格式

JSON
{
   "status": 0,
   "message": "成功",
   "fence_id": 1,
   "district":"北京市海淀区"

}

JSON
{
   "status": 5108,
   "message": "围栏创建失败,该关键字匹配了多个行政区,请输入明确的行政区关键字",
   "district_list":[
   "北京市朝阳区",
   "辽宁省朝阳市"
]

}

updatecirclefence——更新圆形围栏

接口说明

更新一个圆形围栏

请求URI

http://yingyan.baidu.com/api/v3/fence/updatecirclefence

HTTP请求方式

POST

请求参数

参数名 参数含义 类型 是否必填 备注
ak 用户的ak,授权使用 string
service_id service的唯一标识 int
fence_id 围栏的唯一标识 int 用于指定所更新的围栏
fence_name 围栏名称 string(128) 用于描述围栏
monitored_person 监控对象 string 被监控者的entity_name。

1、若不填该字段,仅按fence_id定位围栏

2、若填写该字段,按fence_id+monitored_person定位围栏


可选的关键字:

entity_name

  1. allentity

示例:monitored_person=张三; monitored_person=#allentity

longitude 围栏圆心经度 double
latitude 围栏圆心纬度 double
radius 围栏半径 double 单位:米,取值范围(0,5000]
coord_type 坐标类型 string 若更新圆心坐标则必填 坐标类型定义如下:

wgs84:GPS经纬度 gcj02:国测局经纬度 bd09ll:百度经纬度

denoise 围栏去噪参数 int 单位:米。每个轨迹点都有一个定位误差半径radius,这个值越大,代表定位越不准确,可能是噪点。围栏计算时,如果噪点也参与计算,会造成误报的情况。设置denoise可控制,当轨迹点的定位误差半径大于设置值时,就会把该轨迹点当做噪点,不参与围栏计算。denoise默认值为0,不去噪。

返回值

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

请求示例

updatecirclefence.png

返回格式

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

}

updatepolygonfence——更新多边形围栏

接口说明

更新多边形围栏

请求URI

http://yingyan.baidu.com/api/v3/fence/updatepolygonfence

HTTP请求方式

POST

请求参数

参数名 参数含义 类型 是否必填 备注
ak 用户的ak,授权使用 string
service_id service的唯一标识 int
fence_id 围栏的唯一标识 int 用于指定所更新的围栏
fence_name 围栏名称 string(128) 用于描述围栏
monitored_person 监控对象 string 被监控者的entity_name。

1、若不填该字段,仅按fence_id定位围栏

2、若填写该字段,按fence_id+monitored_person定位围栏


可选的关键字:

entity_name

  1. allentity

示例:monitored_person=张三; monitored_person=#allentity

vertexes 多边形围栏形状点 “double,double; double,double; ...;double,double” 顶点为多边形顺时针或逆时针顺序,顶点个数在3-100个之间
coord_type 坐标类型 string 若更新多边形顶点则必填 坐标类型定义如下:

wgs84:GPS经纬度 gcj02:国测局经纬度 bd09ll:百度经纬度

denoise 围栏去噪参数 int 单位:米。每个轨迹点都有一个定位误差半径radius,这个值越大,代表定位越不准确,可能是噪点。围栏计算时,如果噪点也参与计算,会造成误报的情况。设置denoise可控制,当轨迹点的定位误差半径大于设置值时,就会把该轨迹点当做噪点,不参与围栏计算。denoise默认值为0,不去噪。

返回值

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

请求示例

updatepolygonfence.png

返回格式

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

}

updatepolylinefence—— 更新线型围栏

接口说明

更新线型围栏

请求URI

http://yingyan.baidu.com/api/v3/fence/updatepolylinefence

HTTP请求方式

POST

请求参数

参数名 参数含义 类型 是否必填 备注
ak 用户的ak,授权使用 string
service_id service的唯一标识 int
fence_id 围栏的唯一标识 int 用于指定所更新的围栏
fence_name 围栏名称 string(128)
monitored_person 监控对象 string 被监控者的entity_name。

1、若不填该字段,仅按fence_id定位围栏

2、若填写该字段,按fence_id+monitored_person定位围栏


可选的关键字:

entity_name

  1. allentity

示例:monitored_person=张三; monitored_person=#allentity

vertexes 线型围栏坐标点 “double,double; double,double; ...;double,double” 顶点为多边形顺时针或逆时针顺序,顶点个数在3-100个之间
offset 偏离距离 int 偏移距离(若偏离折线距离超过该距离即报警),单位:米

示例:200

coord_type 坐标类型 string 若更新线型围栏坐标点,则必填 坐标类型定义如下:

wgs84:GPS经纬度

gcj02:国测局经纬度

bd09ll:百度经纬度

denoise 围栏去噪参数 int 单位:米。每个轨迹点都有一个定位误差半径radius,这个值越大,代表定位越不准确,可能是噪点。围栏计算时,如果噪点也参与计算,会造成误报的情况。设置denoise可控制,当轨迹点的定位误差半径大于设置值时,就会把该轨迹点当做噪点,不参与围栏计算。denoise默认值为0,不去噪。

返回值

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

请求示例

updatepolylinefence.png

返回格式

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

}

updatedistrictfence—— 更新行政区划围栏

接口说明

更新行政区划围栏

请求URI

http://yingyan.baidu.com/api/v3/fence/updatedistrictfence

HTTP请求方式

POST

请求参数

参数名 参数含义 类型 备注
ak 用户的ak,授权使用 string 必选
service_id 该围栏实体所属的轨迹服务ID int 必选
fence_id 围栏ID int 必选
fence_name 围栏名称 string(128) 可选 ,最长128个字节
monitored_person 监控对象 string 可选,轨迹服务中的entity_name

1、若不填该字段,仅按fence_id定位围栏

2、若填写该字段,按fence_id+monitored_person定位围栏


可选的关键字:

entity_name

  1. allentity

示例:monitored_person=张三; monitored_person=#allentity

keyword 行政区划关键字 string 可选
denoise 围栏去噪参数 int 可选。

单位:米。每个轨迹点都有一个定位误差半径radius,这个值越大,代表定位越不准确,可能是噪点。围栏计算时,如果噪点也参与计算,会造成误报的情况。设置denoise可控制,当轨迹点的定位误差半径大于设置的denoise值时,就会把该轨迹点当做噪点,不参与围栏计算。denoise默认值为0,不去噪

返回值

参数名 参数含义 类型 备注
status 状态码 int 返回状态,0为成功
message 响应信息 string 对status的中文描述
district 结构化的行政区划描述 string status=0,围栏更新成功时返回该字段
district_list 关键字匹配的行政区划列表 array status=5108:围栏更新失败,关键字匹配至多个行政区时,返回该字段

请求示例

updatedistrictfence.png

返回格式

JSON
{
   "status": 0,
   "message": "成功",
   "district":"北京市海淀区"

}

delete—— 删除围栏

接口说明

删除围栏

请求URI

http://yingyan.baidu.com/api/v3/fence/delete

HTTP请求方式

POST

请求参数

参数名 参数含义 类型 是否必填 备注
ak 用户的ak,授权使用 string
service_id service的唯一标识 int
monitored_person 监控对象 string 二个字段至少填写一个

1、仅填写monitored_person字段:根据监控对象删除围栏,仅适用于删除“指定entity创建的围栏”,并删除该entity上的所有围栏(兼容旧版本)。

2、仅填写fence_ids字段:根据围栏id删除(针对该service下所有entity创建的围栏,使用此方法删除)

3、二字段均填写:根据该监控对象上的指定围栏删除

fence_ids 围栏id列表 “int,int…”

返回值

参数名 参数含义 类型 备注
status 状态码 int 返回状态,0为成功
message 响应信息 string 对status的中文描述
fence_ids 围栏id列表 array 返回删除成功的围栏 id 列表

请求示例

fencedelete.png

返回格式

JSON
{
  "status": 0,
  "message": "成功",
  "fence_ids": [
     11,
     12,
     13,
     15
    ]

}

list—— 查询围栏

接口说明

查询围栏

请求URI

http://yingyan.baidu.com/api/v3/fence/list

HTTP请求方式

GET

请求参数

参数名 参数含义 类型 是否必填 备注
ak 用户的ak,授权使用 string
service_id service的唯一标识 int
monitored_person 监控对象 string 二个字段至少填写一个

1、仅填写monitored_person字段:根据监控对象查询围栏,查询该监控对象上的所有围栏。

2、仅填写fence_ids字段:根据围栏id查询

3、二字段均填写:根据该监控对象上的指定围栏查询

fence_ids 围栏id列表 “int,int…”
coord_type_output 输出坐标类型 string 默认为 bd09ll。

用于控制返回信息的坐标类型,可选值如下:

bd09ll:百度经纬度

gcj02:国测局经纬度

注:在国内(包括港、澳、台)以外区域,无论设置何种坐标系,均返回 wgs84坐标

返回值

参数名 参数含义 类型 备注
status 状态码 int 返回状态,0为成功
message 响应信息 string 对status的中文描述
size 满足条件并返回的围栏个数 int
fences 围栏列表 array
fence_id 围栏唯一标识 int
fence_name 围栏名称 string
monitored_person 围栏的监控对象 string

1、该围栏仅监控一个entity时,返回entity_name

2 该围栏监控service下的所有entity时,返回#allentity

shape 围栏的形状 string 围栏的三种形状:

circle:圆形

polygon:多边形

polyline:线型

district:行政区划

longitude 经度 double shape=circle时返回
latitude 纬度 double shape=circle时返回
radius 半径 double shape=circle时返回,单位米
vertexes 多边形和线型围栏的顶点列表 array shape=polygon或shape=polyline时返回
offset 偏移距离 double 仅在shape=polyline时返回偏移距离(若偏离折线距离超过该距离即报警),单位:米

如:200

coord_type 返回的坐标类型 string 仅在国外区域返回该字段,

wgs84:GPS经纬度 gcj02:国测局经纬度 bd09ll:百度经纬度

denoise 围栏去噪参数 int 单位:米
district 行政区划描述 string shape=district时返回
create_time 围栏创建时间 string 格式化时间。

示例: 2015-08-19 10:23:20

modify_time 围栏修改时间 string 格式化时间。

示例: 2015-08-19 10:23:20

请求示例

fencelist.png

返回格式

JSON
{
   "status": 0,
   "message": "成功",
   "size": 2,
   "fences": [
       {
         "fence_id": 2,
         "fence_name": "站点1",
         "monitored_person": "小明",
         "shape": "circle",
         "longitude": 116.236253,
         "latitude": 39.746539,
         "radius": 500,
         "denoise": 100,
         "create_time": "2017-03-15 15:56:24",
         "modify_time": "2017-03-15 15:56:24"
       },
        {
           "fence_id": 52,
           "fence_name": "站点2",
           "monitored_person": “小明”,
           "shape": "polyline",
           "vertexes":"40.020664,116.351592;40.02083,116.358779;40.018178,116.35885;40.01757,116.350586",
           "denoise":100,
           "create_time": "2017-03-15 15:59:09",
           "modify_time": "2017-03-15 15:59:09"
        }
   ]  

}