Sidebar |
GPSログの手動checksum再計算
執筆:2012.05.05
通常のchecksumは、全部の合計ですが計算方法が違います。 $と*の間の文字を順番にxor演算します。 修正したいポイントの緯度経度は、 google earthでカーソル位置の情報をリアルタイムで知ることができるのでそれを参考にすると簡単です。 GPSログの緯度経度を手動で修正した場合の再計算などに使うと便利です。 機器にGPSログの修正機能が付属していない場合に ちょっとここ微妙に違う!! このわずかな ずれが気になる!! というようなときに活躍します。
C/C++言語の場合は、 xor は ^ です。 for ( i = 0; i < strlen(s); i++ ) { if ( (i == 0) && (s[0] == '$') ) { continue; } if (s[i] == '*') { break; } sum = sum ^ s[i]; } GPSの各行の仕様は、 GPS NMEA フォーマット GPS NMEA 仕様 などで検索すると知ることができます。 finepixだと 1ポイントは、4行が1セットです。 $GPGGA,・・・ $GPGSA,・・・ $GPRMC,・・・ $GPVTG,・・・ |
Sidebar |