Парсер NMEA
Расшифровывайте сообщения GPS NMEA в координаты, скорость и GeoJSON с проверкой контрольных сумм.
Парсер NMEA полностью работает в вашем браузере: лог GPS расшифровывается на устройстве, и история местоположений его не покидает.
Открыть просмотрщик GPX
Об инструменте Парсер NMEA
Почти каждый GPS-приёмник говорит на NMEA 0183: сообщения через запятую, начинающиеся с идентификатора передатчика и типа, заканчивающиеся контрольной суммой XOR. Читать их вручную утомительно и легко ошибиться, в основном потому, что координаты приходят в градусах и десятичных минутах, а не в десятичных градусах. Поле 4807.038,N означает 48,1173 градуса, а не 48,07 — эта путаница классическим образом ставит точку не в той стране. Парсер расшифровывает GGA, RMC, GLL, VTG, GSA, GSV и ZDA в читаемую таблицу и экспортирует трек в GeoJSON.
Возможности
- Расшифровка сообщений GGA, RMC, GLL, VTG, GSA, GSV и ZDA
- Корректный перевод градусов и десятичных минут в десятичные градусы
- Проверка контрольной суммы XOR каждой строки с отметкой расхождений
- Показ времени, высоты, скорости, курса, качества фикса и числа спутников
- Экспорт точек в трек GeoJSON и отдельные точки для каждого фикса
- Подсчёт типов сообщений, отправляемых приёмником
Как использовать Парсер NMEA
- Вставьте лог приёмника, по одному сообщению на строку
- Прочитайте таблицу с результатами — неверные контрольные суммы отмечены
- Переключитесь на GeoJSON, чтобы увидеть трек как геометрию
- Скачайте GeoJSON и откройте его в карте или ГИС
Пример
Ввод
$GPGGA,123519,4807.038,N,01131.000,E,1,08,0.9,545.4,M,46.9,M,,*47
Результат
48.117300, 11.516667 · 12:35:19 UTC
GPS fix · 8 satellites · 545.4 m altitude
4807.038 — это 48° 07,038′, то есть 48,1173°, а не 48,07° — ошибка, из-за которой точка смещается на 50 километров.
Частые ошибки и устранение неполадок
- Координаты смещены на десятки километров. — Поле градусов и минут прочитано как десятичные градусы. Все цифры, кроме последних двух перед точкой, — это градусы, остальное — минуты, которые нужно разделить на 60.
- У некоторых сообщений не сходится контрольная сумма. — Строка была обрезана или последовательный порт потерял байты. Контрольная сумма — это XOR всего, что находится между знаком доллара и звёздочкой.
Часто задаваемые вопросы
- Что такое NMEA 0183?
- Стандартный формат сообщений, который GPS и морская электроника передают по последовательному каналу: знак доллара, двухбуквенный идентификатор передатчика, трёхбуквенный тип и поля через запятую.
- Как перевести координаты NMEA в десятичные градусы?
- Разделите на градусы и минуты: всё, кроме последних двух цифр перед точкой, — градусы. Разделите минуты на 60, сложите и смените знак для S или W.
- Что означает GPGGA?
- GP — идентификатор передатчика GPS, GGA — сообщение данных о фиксе: время, положение, качество, число спутников, HDOP и высота.
- Отправляется ли мой лог GPS куда-либо?
- Нет. Лог разбирается в вашем браузере, поэтому данные о том, где вы были, остаются на устройстве.
Связанные инструменты
Все инструменты ArrayKit