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