Формат GPS-треков видео-регистратора HDC HD-415

Видео-регистратор в автомобильном путешествии – вещь очень полезная, а регистратор с записью треков полезен вдвойне. Я использую недорогой и достаточно качественный регистратор HDC HD415, однако он сохраняет треки в своем нестандартном формате, с которым пришлось разбираться самостоятельно для получения возможности использования собранной и записанной устройством информации.

Фрагмент трек-файла показан на рисунке ниже и подробно описан далее.

V,230114,061506.999,6002.8408,N,03020.7792,E,000.0;
V,230114,061507.999,6002.8408,N,03020.7792,E,000.0;

V,230114,061532.000,6002.8408,N,03020.7792,E,000.0;
V,230114,061533.000,6002.8408,N,03020.7792,E,000.0;
A,230114,061532.725,6002.8794,N,03020.7231,E,000.0;
A,230114,061533.725,6002.8794,N,03020.7231,E,000.0;

Трек GPS записывается в текстовый файл, формат которого показан на рисунке и подробно описан ниже. Расчет координат и скорости выполняется с интервалом в 1 секунду, и полученные результаты записываются в отдельную строку файла. Число записей в каждом трек-файле зависит от продолжительности записи видео-файла. При завершении каждого видео-файла (продолжительность записи определяется настройками — 5, 10, 15 минут или Авто). Размер файла при 10-минутной записи составляет 31200 байт (600 записей по 51 байту + символ перевода строки в конце каждой записи).

Каждая запись имеет размер 51 байт и состоит из 8 полей, разделенных запятыми. В конце строки помещается точка с запятой (;) и символ перевода строки (0A или LF).

Формат записи

Первое поле включает один символ — V или A. Буква V указывается в тех случаях, когда приемник не смог получить требуемых для определения координат и времени сигналов от спутников (не менее 3), буква A говорит о синхронизации устройства со спутниками и определении координат.

Если строка начинается с символа V, остальные поля этой строки содержат приблизительные значения (дата и время от внутренних часов, координаты от последнего измерения).

Второе поле представляет собой целое число, две первых (старших) цифры которого указывают число месяца, следующие две — порядковый номер месяца (1 — январь, 2 — февраль и т. д.) и 2 заключительных указывают последние цифры года в принятом летоисчислении от РХ (например, для обозначения 2014 года будет использоваться значение 14). Таким образом, файл, приведенный на рисунке выше, соответствует дате 23 января 2014 года. Здесь следует отметить, что смена даты происходит после 23 часов 59 минут 59,999 секунд по гринвичскому времени, т. е., в 3 часа по московскому.

Следующее поле представляет собой действительное число с точкой в качестве разделителя целой и дробной части. Две первых цифры целой части указывают час в 24-часовой системе, 2 следующих цифры указывают число минут, прошедших от начала текущего часа. Остальная часть числа (2 последних цифры целой части и вся дробная часть) показывают число секунд, прошедших от начала текущей минуты, с точностью до 1 мсек. После синхронизации со спутниками в поле времени указывается значение, полученное по данным GPS (до этого время берется из внутренних часов устройства). Время указывается для часового пояса UTC, соответствующего «нулевому» меридиану. В приведенном фрагменте файла записи соответствуют времени в Санкт-Петербурге (UTC+3) 9 часов 15 минут (секуды меняются в каждой строке.

В четвертом поле указывается географическая широта текущего местоположения антенны устройства. Поле широты представляет собой действительное число, содержащее по 4 цифры в целой и дробной части. Две первых (старших) цифры указывают широту в градусах, а оставшаяся часть — минуты географической широты с точностью до 0,0001 (0,006 сек).

Следующее поле указывает полушарие — северное (N) или южное (S).

В шестом поле записывается значение географической долготы. Поле содержит 5 цифр в целой части и 4 цифры в дробной. Интерпретация цифр этого поля аналогична интерпретации цифр поля широты, но для указания градусов используются не 2 цифры, как для широты, а три (поскольку широта может принимать значения от 0 до 90 градусов, а долгота — от 0 до 180 градусов).

Буква W в следующем поле указывает на расположение устройства в западном полушарии (к западу от гринвичского меридиана), буква E – в восточном.

Таким образом, последняя строка приведенного выше примера указывает на расположение устройства в точке с координатами 60 градусов 02 минуты 52,764 секунд северной широты и 30 градусов 20 минут 43,386 секунд восточной долготы (северная часть Санкт-Петербурга).

Последнее поле записи показывает скорость движения устройства в единицах, наиболее похожих на миль/час, т. е. для перевода в привычные значения это поле следует умножить на 1,609344.

На основании этой информации уже можно преобразовать данные из трек-файла к какой-либо из удобных для вас стандартных форматов записи треков. На мой взгляд наиболее разумно преобразование в формат GPX, который является стандартом де-факто для обмена геоданными и файлы этого формата понимает множество программ, использующих треки (например, digikam). Полученный файл GPX можно преобразовать в другой удобный формат с помощью свободно распространяемой программы gpsbabel или иной утилиты.