Пребывание объекта в зоне (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" } }