GNSS NMEA data extractor

A GPS device, more generally named a GNSS device, captures satellite signals to calculate location and outputs this, and some derivates, as data in the form of NMEA sentences. These need to be parsed and validated to be useful.

This tool converts NMEA data (raw GNSS/GPS receiver data) into multiple CSV files of the different sentence types in NMEA data.

This tool can be useful in the context of:

  • an introductory or advanced lesson, activity, or exercise on GNSS/GPS devices
  • an assignment for a high level class, as a tool to extract data for further analysis

The extract_nmea_data.py script in the processing folder will parse NMEA data from a provided file and generate more usable forms of the data in the following folders:

  • as_data ($GPGSA): containing DOP and identifiers of satellites used for position fix.
  • ll_data ($GPGGA): contains the date, time, latitude and longitude.
  • mv_data ($GPRMC): contains movement data such as speed, bearing.
  • sv_data ($GPGSV/GLGSV): contains the satellite details (e.g., type, elev, azim, SNR).
  • tg_data ($GPVTG): contains bearings and speeds. Some repetition from mv_data.
Created by Cyrille Médard de Chardon
on 2024-04-29