GPSモジュールからパソコンやマイコンに接続すると、なにやら英数字がズラズラと流れてきます。
$GPGGA,123519,4807.038,N,01131.000,E,1,08,0.9,545.4,M,46.9,M,,*47
$GPRMC,123520,A,4807.038,N,01131.000,E,022.4,084.4,230394,003.1,W*6A
この「よくわからない文字列」、実は NMEAフォーマット という国際規格に沿って整形された、GPS情報のかたまりです。
✅ NMEAとは?
NMEA(エヌ・エム・イー・エー) とは、
National Marine Electronics Association(全米海洋電子機器協会)の略称です。
もともとは船舶向けの電子機器間通信規格として定義されましたが、現在ではGPSやGNSS機器において、位置情報を通信するための共通フォーマットとして世界中で使われています。
✅ NMEAフォーマットの特徴
- テキストベース(ASCII形式)
- 各メッセージは「$」で始まり、「カンマ区切り」で項目が並ぶ
- 1行に1種類の情報が入っている
- 最後に チェックサム(CRC) がついており、通信エラーも検出可能
- 毎秒数回〜10回程度で連続的に出力される(リアルタイム)
🔍 NMEA文の例と読み解き
$GPRMC,123520,A,4807.038,N,01131.000,E,022.4,084.4,230394,003.1,W*6A
これは $GPRMC
という「推奨最低限のGPSデータ」を出力するメッセージです。
フィールド | 内容 |
---|---|
$GPRMC | データの種類(Recommended Minimum) |
123520 | 時刻(12時35分20秒)UTC |
A | 位置情報の有効/無効(A=Active) |
4807.038,N | 緯度(48度07.038分 北緯) |
01131.000,E | 経度(11度31.000分 東経) |
022.4 | 移動速度(ノット) |
084.4 | 移動方向(角度) |
230394 | 日付(23日 03月 1994年) |
003.1,W | 磁気偏差 |
*6A | チェックサム(エラー検出用) |
🔄 よく使われるNMEAメッセージ一覧
タグ | 意味 | 内容例 |
---|---|---|
$GPGGA | 測位データ | 高度、衛星数、緯度・経度、HDOP |
$GPRMC | 最低限情報 | 位置、時刻、速度、方向など |
$GPGSV | 衛星情報 | 各衛星の信号強度、位置 |
$GPGSA | DOP値と衛星状態 | 測位精度、選ばれた衛星群 |
💡「RMC + GGA + GSA + GSV」を組み合わせることで、ほぼすべてのGPSデータが取得できます。
🧪 PythonでNMEAをパースするには?
Pythonでは pynmea2
というライブラリを使うことで、
この 生のNMEA文字列を構造化データに変換 できます。
pip install pynmea2
他にもGPS関連のライブラリは記事を参照してください。
Python × FoliumでGPSデータを地図上に表示する方法|リアルタイム可視化は?
Pythonで移動距離を自動計算!Geopyを使ったGPSログ処理の基本【旅・物流・災害にも】
使用例:
import pynmea2
nmea_str = "$GPRMC,123520,A,4807.038,N,01131.000,E,022.4,084.4,230394,003.1,W*6A"
msg = pynmea2.parse(nmea_str)
print(f"緯度: {msg.latitude}, 経度: {msg.longitude}, 速度: {msg.spd_over_grnd}")
💡 NMEAを理解するとできること
- GPSロガーやNEO-6Mなどの生データを自作解析できる
- CSV保存 → 可視化(foliumなど)への中間処理が可能になる
- 時刻・速度・高度・方向などをリアルタイム抽出できる
- 通信エラーや「測位できていない」ことも自動検知できる
📝 まとめ
- NMEAは「GPSから吐き出される謎の文字列」の正体
- 船舶用から始まり、今やあらゆるGPS機器に使われている
- pynmea2などを使えばPythonで簡単に扱える
- 生データを理解すれば、ロガーの挙動や測位状態を完全にコントロールできる

音楽家:朝比奈幸太郎
神戸生まれ。2025 年、40 年近く住んだ神戸を離れ北海道・十勝へ移住。
録音エンジニア五島昭彦氏より金田式バランス電流伝送 DC 録音技術を承継し、
ヴィンテージ機材で高品位録音を実践。
ヒーリング音響ブランド「Curanz Sounds」でソルフェジオ周波数音源を配信。
“音の文化を未来へ”届ける活動を展開中。