NMEA 0183 (o brevemente NMEA) è uno standard definito dalla National Marine Electronics Association (da cui l'acronimo) per la comunicazione con vari dispositivi: sonar, anemometri, girobussole eccetera.

In particolare la maggioranza dei ricevitori GPS genera un flusso di messaggi NMEA contenenti informazioni specifiche (coordinate, ora, data, altitudine, tipo di fix eccetera) che vengono normalmente ricevute ed elaborate in tempo reale da un software di navigazione gps a bordo di un computer. In pratica ogni secondo (ma anche a intervalli ben maggiori) vengono generati uno o più messaggi che hanno la forma di una riga di testo (iniziante col carattere '$') e contenente vari campi separati da virgola.

Normalmente questi messaggi non sono visibili all'utente; esistono però dei dispositivi (logger) che registrano tali messaggi in forma di file di testo. Anche alcuni software che utilizzano tali dati in input possono generarne una copia su file.

Osservazioni:

  • Il formato NMEA presenta varianti che dipendono dal tipo di ricevitore, sia nel tipo di messaggi generati, sia nei dati prodotti. Alcuni produttori di dispositivi (ad esempio Garmin) hanno sviluppato delle estensioni non standard
  • I valori di tempo presenti nei file non indicano l'ora locale, ma quella UTC (Greenwich)
  • I file NMEA sono piuttosto voluminosi; si può ovviare a ciò comprimendoli in formato zip, dato che si tratta di file di testo
  • Non c'è uno standard per il tipo di file generato; i più usati sono .nmea, .log

Non è possibile scaricare dati da Path::Lab in formato NMEA.

Caricamento dati NMEA

Path::Lab estrae i dati gps da un file NMEA come segue:

  • per ogni file viene creato un percorso, che prende il nome dal nome file
  • viene generata un'unica traccia, ricavando i punti dai vari tipi di messaggio, impostando i valori temporali e (se presenti) i valori di altitudine; viene prodotto al massimo un punto al secondo. I valori temporali danno l'ora di Greenwich, non l'ora locale
  • non vengono prodotti POI