Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Запрос параметров события Fact

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

Code Block
GET /api/v1/post/<post-guid>/channel/<channel-no>/\
fact/<fact-guid>

где <post-guid>  guid поста; <channel-no>  номер канала поста (возможны значения в интервале [0; 2147483647]); <fact-guid>  guid события.


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


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

где <fact-guid> — guid события фотовидеофиксации.

Сервер, после успешной обработки запроса get-fact-args или get-fact-args2, возвращает ответ с http-кодом 200. Тело ответа содержит application/json-документ с параметрами:

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

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

    1. "Id". Локальный идентификатор события (в пределах устройства-источника).

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

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

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

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

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

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

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

      3. "Validity" <int8_t>. Достоверность распознавания номера.

      4. "Exact_rect" <(double, double, double, double)>. Содержит координаты rect-региона номерной пластины на изображении зоны контроля с временем регистрации Fact/BestTs. Каждый rect-регион задается парой точек с координатами (X1, Y1) и (X2, Y2), где X1 < X2 и Y1 < Y2.  Возможные значения координат в интервале [0.0; 1.0] c разрешением не менее 1E-6.

        1. [0]. Задает X1 относительно left-края изображения;

        2. [1]. Задает Y1 относительно top-края изображения;

        3. [2]. Задает X2 относительно left-края изображения;

        4. [3]. Задает Y2 относительно top-края изображения.

    7. "Speed" <uint8_t>. Опциональный параметр. Скорость движения транспортного средства, км/ч.

    8. "SpeedLimit" <uint8_t | 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>. Опциональный параметр. Собственная скорость устройства в момент фиксации события (для мобильных устройств), м/с.

Пример тела ответа:

Code Block
{
 "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]
 },
 "Speed": 67,
 "SpeedLimit": 60,
 "Direction": "unknown",
 "AlarmTypes": ["speedviolation"],
 "Geodata":
 {
 "latitude": 50.43756, 
 "longitude": 30.45221,
 "altitude": null,
 "speed": null
 }
 }
}

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

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


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

где <post-guid>  guid поста; <channel-no>  номер канала поста (возможны значения в интервале [0; 2147483647]); <media-id>  идентификатор изображения; <image-class>  тип изображения.

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

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

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

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

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

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



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


Code Block
GET /api/v1/fact/<fact-guid>/media/<image-class>

где <fact-guid>  guid события фотовидеофиксации.


Если структура url не соответствует требованиям или изображение недоступно, сервер возвращает ответ с http-кодом 404.

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

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

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

Anchor
media-id
media-id

где <post-guid>  guid поста; <channel-no>  номер канала поста (возможные значения в интервале [0; 2147483647]); <media-id>  идентификатор изображения; <image-class>  тип изображения.

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

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

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

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

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

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

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

Code Block
GET /api/v1/fact/<fact-guid>/media/<image-class>/meta
где <fact-guid> — guid события фотовидеофиксации.


Если структура url-запроса get-fact-image-meta и get-fact-image-meta2 соответствует требованиям, сервер, после успешной обработки, возвращает ответ с http-кодом 200. Тело ответа содержит application/json-документ с параметрами:
  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)>. Размер изображения (ширина и высота), пикселей.

Пример  тела ответа:


Code Block
{
 "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>-изображения.

Info
iconfalse
|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].