Запрос параметров событий Fact, связанных изображений и метаданных

Запрос параметров события Fact (get_fact-args)

Структура URL-запроса get_fact-args определяется форматом:

GET /api/v1/fact/<fact-guid>

где <fact-guid> :: char[37] — глобальный идентификатор события.

Сервер, после успешной обработки запроса get_fact-args, возвращает ответ с HTTP-кодом 200. Тело ответа содержит application/JSON-документ get_fact-args_rbody-200 с параметрами:

  1. "status" :: uint16_t. Содержит 200.

  2. "result" :: struct. Параметры события Fact:

    1. "Id" :: int64_t. Локальный идентификатор события (уникален в пределах архива событий). Значение отражает хронологический порядок фиксации изображений и записи события в архив.

    2. "Guid" :: char[37]. Глобальный идентификатор события.

    3. "Bestts" :: uint64_t. Время фиксации изображений события, мкс (от 01.01.1970 00:00 UTC).

    4. "Image" :: uint64_t. Идентификатор изображений событий. Содержит media-id

    5. "Lane" :: uint8_t. Полоса движения транспортного средства. Возможные значения в интервале [0; 8]. Значение 0 указывает, что полоса не определена.

    6. "Plate" :: struct. Параметры номерной пластины транспортного средства:

      1. "Text" :: char[]. Текст номера.

      2. "Country" :: uint16_t. Код страны регистрации номера. Типичные значения согласно ISO 1366.

      3. "Validity" :: int8_t. Мера достоверности фиксации номера. Большим значениям соответствует большая достоверность.

    7. "Speed" :: uint8_t | null. Скорость движения транспортного средства, км/ч. Значение null (по умолчанию) означает отсутствие фиксации.

    8. "SpeedLimit" :: uint8_t | null. Установленное ограничение скоростного режима, км/ч. Значение null (по умолчанию) означает отсутствие ограничения.

    9. "Direction" :: char[16]. Направление движения транспортного средства в зоне контроля:

      1. "unknown". Неизвестно

      2. "approaching". Приближается

      3. "receding". Удаляется

    10. "AlarmTypes" :: char[][32]. Массив. Каждый элемент содержит тип тревоги, зафиксированный при проезде транспортным средством зоны контроля. Возможные значения типов тревог определяются запросом AlarmSet. По умолчанию пустой массив.

    11. "Geodata" :: struct. Параметры геолокации устройства в момент фиксации события:

      1. "latitude" :: double. Координата широты, градусов. Направление координаты определяется знаком значения:

        1. Плюс. На север от экватора

        2. Минус. На юг от экватора

      2. "longitude" :: double. Координата долготы, градусов. Направление координаты определяется знаком значения:

        1. Плюс. На восток от Гринвича

        2. Минус. На запад от Гринвича

      3. "altitude" :: double | null. Высота над уровнем моря, метров.

      4. "speed" :: double | null. Опциональный параметр. Собственная скорость устройства в момент фиксации события (для мобильных комплексов), м/с.

Пример get_fact-args_rbody-200:

{
  "status": 200,
  "result":
  {
    "Id": 1437984917029087,
    "Guid": "3cb36c1b-5ccc-4d9c-9004-424e82530fbb",
    "Bestts": 1437984917029087,
    "Image": "1437984917029087",
    "Lane": 0,
    "Plate":
    {
      "Text": "АА0514ТР",
      "Country": 804,
      "Validity": 76,
      "Exact_rect": [9.87973e-3, 0.583429, 4.2955299999999e-2, 0.590857],
      "Type": 1
    },
    "Speed": 67,
    "SpeedLimit": 60,
    "Direction": "unknown",
    "AlarmTypes": ["speedviolation"],
    "Geodata":
    {
      "latitude": 50.43756, 
      "longitude": 30.45221,
      "altitude": null,
      "speed": null
    }
  }
}

Запрос изображений, связанных с событием Fact

get_fact-image

Структура URL-запроса get-fact-image определяется форматом:

GET /api/v1/post/<post-guid>/channel/<channel-no>/\
media/<media-id>/<image-class>

где

Возможные значения параметра <image-class>:

  1. "full". Изображение зоны контроля. Содержит полный кадр (полученный от камеры), на котором зафиксированы лучшие результаты фотовидеофиксации за время проезда транспортным средством зоны контроля.

  2. "body". Изображение транспортного средства. Содержит фрагмент full-изображения минимального размера, который позволяет определить модель и цвет автомобиля.

  3. "plate". Изображение номера транспортного средства. Содержит фрагмент full-изображения, который позволяет определить номер автомобиля.

  4. "fulltitled". Титрованное full-изображение.

  5. "bodytitled". Титрованное body-изображение.


get_fact-image2


Структура URL-запроса get-fact-image2 определяется форматом:
GET /api/v1/fact/<fact-guid>/media/<image-class>

где <fact-guid> :: char[37]  глобальный идентификатор события фотовидеофиксации.


Сервер, после успешной обработки запросов get_fact-image, get_fact-image2, возвращает ответ с HTTP-кодом 200. Тело ответа содержит image/JPEG-изображение. Если изображение недоступно, сервер возвращает ответ с HTTP-кодом 404.

Запрос метаданных изображений, связанных с событием Fact 

get_fact-image-meta

Структура URL-запроса get_fact-image-meta определяется форматом:

GET /api/v1/post/<post-guid>/channel/<channel-no>/\
media/<media-id>/<image-class>/meta


где

Возможные значения параметра <image-class>:

  1. "full". Изображение зоны контроля. Содержит полный кадр (полученный от камеры), на котором зафиксированы лучшие результаты фотовидеофиксации за время проезда транспортным средством зоны контроля.

  2. "body". Изображение транспортного средства. Содержит фрагмент full-изображения минимального размера, который позволяет определить модель и цвет автомобиля.

  3. "plate". Изображение номера транспортного средства. Содержит фрагмент full-изображения, который позволяет определить номер автомобиля.

  4. "fulltitled". Титрованное full-изображение.

  5. "bodytitled". Титрованное body-изображение.


get_fact-image-meta2

Структура URL-запроса get_fact-image-meta2 определяется форматом:

GET /api/v1/fact/<fact-guid>/media/<image-class>/meta
где <fact-guid> :: char[37] — глобальный идентификатор события фотовидеофиксации.


Если структура URL-запроса get_fact-image-meta и get_fact-image-meta2 соответствует требованиям, сервер, после успешной обработки, возвращает ответ с HTTP-кодом 200. Тело ответа содержит application/JSON-документ get_fact-image-meta_rbody-200 с параметрами:
  1. "status" :: uint16_t. Содержит 200.

  2. "result" :: struct. Метаданные изображения события Fact.

    1. "transform" :: struct. Матрица трансформации. Характеризует соответствие точек на full- и <image-class>-изображении. Содержит коэффициенты a, b, c, d, x, y. В случае использования full-изображения в качестве <image-class>-изображения параметр transform содержит матрицу единичного оператора (a=d=1, b=c=x=y=0).

    2. "size" :: (uint16_t, uint16_t). Размер изображения (ширина и высота), пикселей.

Пример get_fact-image-meta_rbody-200:
{
 "status": 200,
 "result":
 {
   "transform":
   {
     "a": 22.17142857142857,
     "b": 0.0,
     "c": 0.0,
     "d": 83.33333333333333,
     "x": -7.731958762886598e-3,
     "y": -0.7291428571428571
   },
   "size":[134, 30]
 }
}

Для определения положения точки full-изображения (с координатами x’, y’) на <image-class>-изображении (с координатами x’’, y’’) необходимо в приведенную ниже систему подставить целевые значения x’, y’ и коэффициенты матрицы трансформации <image-class>-изображения.

|x”|   | a b x |   |x’|
|y”| = | c d y | * |y’|
|1 |   | 0 0 1 |   |1 |

где

  • x’’, y’’  относительные координаты точки на <image-class>-изображении; на видимой части изображения координаты принимают значения в интервале [0.0; 1.0];
  • a, b, c, d, x, y  коэффициенты матрицы трансформации <image-class>-изображения;
  • x’, y’  относительные координаты точки на full-изображении; на видимой части изображения координаты принимают значения в интервале [0.0; 1.0].