Friday, June 5, 2009

Zusammenfassung von NMEA Sentences

Bei den vielen NMEA-Tracklogs, die ich hier zum Testen gesammelt habe, habe ich bemerkt, daß die meisten Programme nicht nur RMC-Sentences enthalten, sondern üblicherweise die 5 von RouteConverter unterstützten - GGA, RMC, WPL, ZDA und VTG - und häufig noch ein paar mehr.

Ich vermute, daß die Hersteller der Tracklogger und die Autoren der Programme möglichst alle vorhandenen Informationen erhalten und möglichst viele Programme, die die Daten nachher weiterverarbeiten, unterstützen möchten. Also schreiben sie für eine GPS-Position 3-5 Sentences mit meist redundanten Daten.

Bei Tripmaster sieht das z.B. so aus:
$GPRMC,175947.000,A,4812.0597,N,01136.4663,E,0.0,163.8,010907,,,A*62
$GPGGA,175947.000,4812.0597,N,01136.4663,E,1,07,1.4,495.3,M,,,,*09
oder bei Sonys CS1 GPS Modul
$GPGGA,180114,4808.9490,N,00928.9610,E,1,05,12.6,00616.6,M,048.0,M,,*49
$GPGSA,A,3,05,09,12,14,22,,,,,,,,19.9,12.6,15.3*0B
$GPGSV,2,1,08,05,40,250,50,09,85,036,51,22,16,285,36,17,,,00*4F
$GPGSV,2,2,08,12,57,247,49,13,,,27,30,,,39,14,16,320,35*77
$GPRMC,180114,A,4808.9490,N,00928.9610,E,000.0,000.0,160607,,,A*76
$GPVTG,000.0,T,,M,000.0,N,000.0,K,A*0D
Alle diese Sentences gelten für eine GPS-Position und werden in RouteConverter zu einer Position in der Positionstabelle zusammengefaßt. Der Code macht im Prinzip folgendes:
  • Gelesen werden die Sentences GGA, RMC, WPL, ZDA und VTG. Alle anderen werden ignoriert.
  • Aufeinanderfolgende Sentences mit gleicher Position (GGA, RMC, WPL) werden zusammengefaßt.
  • Dazwischenliegende Sentences ohne Positionsdaten (ZDA, VTG) werden mit der davorliegenden Position zusammengefaßt.
Diese Logik erklärt sich durch die Anforderung, das Programm einfach zu halten und mit der Herkunft als Konvertierer:
  • Eine Zeile in der Tabelle soll eine Position repräsentieren.
  • Andere Formate bieten keine passenden Strukturen, um die NMEA-Sentences 1:1 darauf abbilden können.

No comments:

Datenschutz