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

Пример запроса объектов вошедших в зону:

{
    "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 задает направление пересечения линии.

 {
    "queryType": "line",
    "figures": [
        {
            "shape": [
                [0.5, 0.8],
                [0.5, 0.2]
            ]
        }
    ],
    "queryProperties": {
        "direction": "left"
    }
}