Ich decodiere NMEA GPRMC -Sätze von einem GPS-Gerät. Das Datumsfeldformat lautet ddmmyy. 191194 ist also der 19. November 1994. Dies macht es unmöglich, Jahre größer als 1999 darzustellen. Hat die Spezifikation wurde geändert, um dieses Problem zu umgehen?

Antwort

Diese Nachrichten entsprechen der alten NMEA 0183 Spezifikation. Die mehr als geänderte wurde durch NMEA 2000 ersetzt, das ist sehr unterschiedlich und keine serielle ASCII-Kommunikation ist im Grunde genommen ein völlig anderes Tier. Allerdings wird NMEA 0183 immer noch verwendet und von vielen Geräten unterstützt. Und das zweistellige Jahr wird einfach verlängert. Daher wird das Jahr 2000 als 00 und 2018 als 18 dargestellt. Hier ist ein Beispiel für einen Teil von NMEA-Ausgabe, die ich vor einigen Jahren selbst aufgezeichnet habe:

$SDMTW,8.8,C*34 $SDVHW,,,,,0.00,N,0.00,K*5B $GPRMC,190430,A,4812.3038,S,07330.7690,W,3.7,3.8,090210,13.7,E,D*26 $GPRMB,A,,,,,,,,,,,,A,D*0E $GPGGA,190430,4812.3038,S,07330.7690,W,2,06,2.5,4.9,M,12.4,M,,*42 $GPGLL,4812.3038,S,07330.7690,W,190430,A,D*4A 

Das können Sie sehen Der Zeitstempel ist 090210, was tatsächlich der 9. Februar 2010 war.

Zum Glück gibt es keine Mehrdeutigkeit in den Daten, da es 1910 weder GPS noch NMEA gab. Das erste NMEA-Protokoll war NMEA 0180 mit dem “ 80 „in“ 0180 „bedeutet 1980 ( 3 ), sodass Sie sicher sein können, dass jeder Wert unter 80 diesem Jahrhundert entspricht. Die Probleme werden im Jahr 2080 beginnen, aber zum Glück ist das noch ein langer Weg.

Antwort

Da nur GPS begann 1978 Sie können wahrscheinlich davon ausgehen, dass in diesem Jahrhundert ein Datum unter 78 liegt.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.