GPSデバイスから NMEA GPRMC 文をデコードしています。日付フィールドの形式はddmmyyです。したがって、191194は1994年11月19日です。これにより、1999年を超える年を表すことができなくなります。仕様があります。この問題を回避するために修正されましたか?

回答

これらのメッセージは古い NMEA 0183 仕様。修正された以上のものが NMEA 2000 に置き換えられました。これは非常に異なり、asciiシリアル通信ではありません。は基本的に完全に異なる獣ですが、NMEA 0183はまだ使用されており、多くのデバイスでサポートされています。2桁の年はロールオーバーするだけです。したがって、2000年は00、2018年は18として表されます。これはのチャンクの例です。数年前に自分で記録したNMEA出力:

$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 

ご覧いただけますタイムスタンプは090210で、実際には2010年2月9日でした。

1910年にはGPSもNMEAもなかったため、データにあいまいさはありません。最初のNMEAプロトコルはNMEA 0180で、「 1980を意味する「0180」の80」( 3 )であるため、80未満の値はすべて今世紀に対応すると確信できます。問題は2080年に始まりますが、ありがたいことに、それはまだ長い道のりです。

回答

GPSのみ 1978年に開始おそらく今世紀は78未満の日付であると想定できます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です