Журнал навигации - это простой текстовый файл, разделенный на строки. Каждая строка журнала представляет собой отдельное сообщение в формате JSON. Сообщения могут иметь различные типы и могут описывать как измерения сенсоров, так и вспомогательную информацию.
Синтаксис
log_message_1
log_message_2
...
log_message_N
Давайте более подробно рассмотрим возможные типы сообщений.
Измерение мгновенного ускорения устройства.
Синтаксис
{"timestamp": <timestamp>, "type": "ACCELEROMETER", "values": [<x>, <y>, <z>]}
Параметры
Измерение вектора магнитного поля.
Синтаксис
{"timestamp": <timestamp>, "type": "MAGNETOMETER", "values": [<x>, <y>, <z>]}
Параметры
x - X-компонента вектора магнитного поля (μТл).
y - Y-компонента вектора магнитного поля (μТл).
z - Z-компонента вектора магнитного поля (μТл).
timestamp - время, когда было сделано измерение, в миллисекундах, начиная с определенного фиксированного (в пределах всего журнала) момента времени.
Тип GYROSCOPE
Измерение угловой скорости вращения устройства.
Синтаксис
{"timestamp": <timestamp>, "type": "GYROSCOPE", "values": [<x>, <y>, <z>]}
Параметры
Измерение атмосферного давления.
Синтаксис
{"timestamp": <timestamp>, "type": "BAROMETER", "values": [<x>, 0, 0]}
Параметры
-x - атмосферное давление (гПа).
Измерение уровня сигнала до точки доступа Wi-Fi.
Синтаксис
{"timestamp": <timestamp>, "type": "WIFI", "bssid": "<адрес>", "rssi": <rssi>}
Параметры
address - MAC-адрес точки доступа Wi-Fi.
rssi - измеренная сила сигнала до точки доступа (допустимый диапазон значений [-127, -1]).
timestamp - время регистрации измерения в миллисекундах, начиная с определенного фиксированного (в пределах всего журнала) момента времени.
Измерение уровня сигнала до беспроводного Bluetooth Low Energy (BLE) маяка.
Синтаксис
{"timestamp": <timestamp>, "type": "BLUETOOTH", "bssid": "<адрес>", "rssi": <rssi>}
Параметры
address - MAC-адрес Bluetooth маяка.
rssi - измеренная сила сигнала до маяка (допустимый диапазон значений [-127, -1]).
timestamp - время регистрации измерения в миллисекундах, начиная с определенного фиксированного (в пределах всего журнала) момента времени.
Измерение уровня сигнала до маяка iBeacon (тип BLE маяка).
Синтаксис
{"timestamp": <timestamp>, "type": "BEACON", "bssid": "(<major>,<minor>,<uuid>)", "rssi": <rssi>}
Параметры
major - параметр из пакета iBeacon (допустимый диапазон значений [0, 65535]).
minor - параметр из пакета iBeacon (допустимый диапазон значений [0, 65535]).
uuid - параметр из пакета iBeacon (должен соответствовать регулярному выражению [0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}).
rssi - измеренная сила сигнала до маяка (допустимый диапазон значений [-127, -1]).
timestamp - время регистрации измерения в миллисекундах, начиная с определенного фиксированного (в пределах всего журнала) момента времени.
Измерение уровня сигнала до маяка Eddystone (тип BLE маяка).
Синтаксис
{"timestamp": <timestamp>, "type": "EDDYSTONE", "bssid": "(<namespace_id>,<instance_id>)", "rssi": <rssi>}
Параметры
namespace_id - параметр из пакета Eddystone (???).
instance_id - параметр из пакета Eddystone (???).
rssi - измеренная сила сигнала до маяка (допустимый диапазон значений [-127, -1]).
timestamp - время регистрации измерения в миллисекундах, начиная с определенного фиксированного (в пределах всего журнала) момента времени.
Измерение расстояния до точки доступа Wi-Fi.
Синтаксис
{"timestamp": <timestamp>, "type": "WIFI_RTT", "bssid": "<адрес>", "distance": <distance>, "stddev": <stddev>}
Параметры
address - MAC-адрес точки доступа Wi-Fi.
distance - среднее измеренное расстояние до точки доступа (м).
stddev - стандартное отклонение расстояния до точки доступа.
Измерение географического местоположения от провайдера, который может быть модулем GPS/GLONASS или сторонним провайдером (например, на основе радиосигналов от базовых станций сотовой связи).
Синтаксис
Copy code
{"timestamp": <timestamp>, "type": "LOCATION", "latitude": <latitude>, "longitude": <longitude>, "accuracy": <accuracy>, "altitude": <altitude>, "provider": "<provider>"}
Параметры
latitude - широта местоположения в системе координат WGS84 в градусах (допустимый диапазон [-90, 90]).
longitude - долгота местоположения в системе координат WGS84 в градусах (допустимый диапазон [-180, 180]).
accuracy - точность определения местоположения в метрах.
altitude (необязательный параметр) - высота местоположения над уровнем моря в метрах.
provider (необязательный параметр) - идентификатор провайдера местоположения (gps, network, ...).
timestamp - время регистрации измерения в миллисекундах, начиная с определенного фиксированного (в пределах всего журнала) момента времени.
Сообщение о прохождении устройством контрольной точки. Эти сообщения позволяют определить истинное положение устройства, что необходимо для оценки точности позиционирования устройства при движении по определенной траектории.
NB Предполагается, что устройство движется с постоянной скоростью по прямой между смежными контрольными точками в журнале.
Синтаксис
{"timestamp": <timestamp>, "type": "CHECK_POINT", "latitude": <latitude>, "longitude": <longitude>, "altitude": <altitude>, "level": "<level_id>"}
Параметры
latitude - широта контрольной точки в системе координат WGS84 в градусах (допустимый диапазон [-90, 90]).
longitude - долгота контрольной точки в системе координат WGS84 в градусах (допустимый диапазон [-180, 180]).
altitude (необязательный параметр) - высота контрольной точки над уровнем моря в метрах.
level_id (необязательный параметр) - идентификатор этажа (подразделения), где находится контрольная точка.
timestamp - время прохождения контрольной точки в миллисекундах, начиная с определенного фиксированного (в пределах всего журнала) момента времени.
Сообщение комментария может содержать произвольную вспомогательную информацию, такую как:
Copy code
{"type": "COMMENT", ...}