Пребывание объекта в зоне (queryType="zone")
Обязательным параметром является figures/shape, который задает зону, в которой должен находится объект в виде списка вершин полигона. Координаты задаются в долях от ширины/высоты кадра (значения от 0 до 1). Начало координат в левом верхнем углу кадра. Первая координата в каждой паре отсчитывается по горизонтальной оси, а вторая – по вертикальной. Это позволяет не привязываться к конкретному разрешению видеокамеры.
Самый простой запрос выглядит следующим образом:
{
"queryType": "zone",
"figures": [
{
"shape": [
[0.3, 0.3],
[0.7, 0.3],
[0.7, 0.7],
[0.3, 0.7]
]
}
]
}
Здесь зона описывает прямоугольник в центре поля зрения камеры.
Необязательным параметром запроса является queryProperties/action:
- Если этот параметр не задан, ищутся объекты находящиеся в зоне.
- При
queryProperties/action="enter"ищутся объекты вошедшие в зону. - При
queryProperties/action="exit"ищутся объекты покинувшие в зону.
Пример запроса объектов вошедших в зону:
{
"queryType": "zone",
"figures": [
{
"shape": [
[0.3, 0.3],
[0.7, 0.3],
[0.7, 0.7],
[0.3, 0.7]
]
}
],
"queryProperties": {
"action": "enter"
}
}
Перемещение объекта из одной зоны в другую (queryType="transition")
Обязательный параметр один — figures. Он должен содержать две зоны описывающие начальную и конечную зоны.
Необязательных параметров нет.
Поиск объектов переместившихся из левой половины кадра в правую:
{
"queryType": "transition",
"figures": [
{
"shape": [
[0, 0],
[0.45, 0],
[0.45, 1],
[0, 1]
]
},
{
"shape": [
[0.55, 0],
[1, 0],
[1, 1],
[0.55, 1]
]
}
]
}
Пересечение линии (queryType="line")
Обязательный параметр figures определяет отрезок пересечение которого приводит к срабатыванию условия. Отрезок должен быть задан ровно двумя точками.
{
"queryType": "line",
"figures": [
{
"shape": [
[0.5, 0.8],
[0.5, 0.2]
]
}
]
}
Необязательный параметр queryProperties/direction задает направление пересечения линии.
- Если параметр не задан, в результаты попадут объекты пересекшие линию в любом направлении.
queryProperties/direction="left"означает, что объект должен пересечь линию справа налево, если смотреть из первой точки отрезка.queryProperties/direction="right"означает, что объект должен пересечь линию слева направо, если смотреть из первой точки отрезка.
{
"queryType": "line",
"figures": [
{
"shape": [
[0.5, 0.8],
[0.5, 0.2]
]
}
],
"queryProperties": {
"direction": "left"
}
}