Пересчет при отображении GPS координат на картах

  • Михаил
  • 8 мин. на прочтение
  • 28
  • 14 May 2023
  • 14 May 2023

Формат NMEA (National Marine Electronics Association) используется для передачи данных от навигационного оборудования, такого как GPS-приемники. Координаты в NMEA обычно представлены в формате градусов и десятичных минут (DDMM.MMMM) для широты и долготы.

Пример строки NMEA с координатами:

$GPGGA,123519,4807.038,N,01131.000,E,1,08,0.9,545.4,M,46.9,M,,*47

Расшифровка полей:

  1. $GPGGA: Идентификатор предложения, где GP указывает на GPS, а GGA — на тип данных (Global Positioning System Fix Data).
  2. 123519: Время в формате hhmmss (UTC).
  3. 4807.038,N: Широта в формате DDMM.MMMM и направление (N — север, S — юг).
  4. 01131.000,E: Долгота в формате DDDMM.MMMM и направление (E — восток, W — запад).
  5. 1: Качество GPS-фиксации (0 — недействительно, 1 — GPS-фиксация, 2 — DGPS-фиксация и т.д.).
  6. 08: Количество спутников, используемых для расчета координат.
  7. 0.9: Горизонтальное разбавление точности (HDOP).
  8. 545.4,M: Высота над уровнем моря в метрах.
  9. 46.9,M: Высота геоида над эллипсоидом WGS84 в метрах.
  10. *47: Контрольная сумма предложения для проверки целостности данных.

Это лишь один из типов предложений NMEA. Существуют и другие типы, такие как GSA, GSV, RMC и другие, каждый из которых имеет свою структуру и назначение.

Здесь 4807.038,N означает широту 48° 07.038' северной широты, а 01131.000,E означает долготу 11° 31.000' восточной долготы.

Для наложения на карту координаты обычно должны быть преобразованы в десятичные градусы (DD.DDDDDD). Формула для преобразования:

  • Широта: Градусы + (Минуты / 60)
  • Долгота: Градусы + (Минуты / 60)

Таким образом, координаты из примера выше будут:

  • Широта: 48 + (7.038 / 60) ≈ 48.1173°
  • Долгота: 11 + (31.000 / 60) ≈ 11.5167°

Эти значения можно использовать для отображения на большинстве картографических сервисов.