【今さら聞けないNMEAとは?】データ規格の解説とよく使うセンテンス群主要5種
スマホやカーナビ、ドローンなどに搭載されているGPS機能。
その根底を支えているのが「NMEA(エヌメア)フォーマット」という共通言語です。
「今さら聞けない…」と思っていたあなたのために、NMEAとは何か、その中に含まれる情報、代表的なフォーマットについて、この記事で一気に整理します。
NMEAとは?
NMEA(National Marine Electronics Association)は、主にGPS機器や航法機器がデータをやり取りするための通信規格です。
総合的なNMEA定義
NMEAとは、GPSや航法システムなどの機器間でやり取りされる、センテンス形式の標準化された通信プロトコルの総称であり、個々のGPGGA・GPRMC・GPGSVなどのセンテンス群(NMEAセンテンスの種類は「数十種類以上」あり、標準仕様(NMEA 0183)に記載されているだけでも50種類以上)を包括した仕様を意味します。
| カテゴリ | 推定数 | 備考 |
|---|---|---|
| NMEA 0183標準 | 約50〜60種類 | 公式仕様書に明記されたセンテンス名 |
| GNSS別のトークン派生 | 数百通り | 各衛星ごとに派生(GPGGA, GLGGA, GNGGAなど) |
| メーカー独自拡張 | 数十〜100種類以上 | Pで始まる |
「よく使われるのは10〜15種類程度」ですが、仕様全体では100種を優に超えるというのが実態です。
| 比較項目 | NMEA 0183 | NMEA 2000 |
|---|---|---|
| データ形式 | テキスト(ASCII) | バイナリ |
| 通信方式 | シリアル(1対1) | CANバス(多対多) |
| 主な用途 | 小型GPS・航法機器 | 船舶ネットワーク、産業用GNSS |
| デバイス例 | GPSモジュール、ドローン | プレジャーボート、測量機器 |
🔍ポイント
- 通信プロトコル:シリアル通信(RS-232など)
- 使用データ形式:ASCIIテキストベース
- 拡張子:
.nmea,.txtなど(ログファイル形式)
NMEAは本来、船舶用機器の通信規格として作られましたが、今ではGPSや各種センサーデバイスに幅広く利用されています。
NMEAの構造と仕組み
NMEAのデータは「センテンス(文)」と呼ばれる形式で送信されます。以下が基本構造です。
$GPGGA,123456.00,3456.7890,N,13512.3456,E,1,08,0.9,100.0,M,46.9,M,,*47
これは、NMEAの中でもGPGGAと呼ばれる情報で、多くのデバイスで位置(緯度・経度・高度)の主要センテンスとして常に出力されています。
NMEAを知るために、最低限GPGGAの情報を読んだり、PythonでGPGGA用の解析、プロットコードなどを持っていればいろいろなことができるでしょう。
このように1行でさまざまな情報を表すのがNMEAの特徴です。
NMEAセンテンスの構造
以下にNMEAの基本構造をHTML表でわかりやすくまとめました。
| 要素 | 説明 | 例 |
|---|---|---|
| $ | センテンスの開始を示す | $ |
| GPGGA | メッセージID(GPS固定データ) | GPGGA |
| 123456.00 | UTC時間(hhmmss.ss) | 12:34:56.00 |
| 3456.7890,N | 緯度と方向 | 34°56.7890′ 北 |
| 13512.3456,E | 経度と方向 | 135°12.3456′ 東 |
| 1 | 位置特定の品質(1=GPS fix) | 1 |
| 08 | 使用衛星数 | 8 |
| 0.9 | HDOP(水平精度劣化) | 0.9 |
| 100.0,M | 高度と単位(M=メートル) | 100.0 M |
| *47 | チェックサム(データ整合性確認) | *47 |
よく使われるNMEAセンテンス一覧
NMEAセンテンスには種類が多数ありますが、代表的なものを以下にまとめました。
$[トークン][センテンス名],パラメータ1,パラメータ2,...*チェックサム
トークン:どの衛星システムか(例:GP, GL, GN など)
センテンス名:どの情報を含むか(例:GGA, RMC, GSV, GSA)
| トークン | 意味 | 衛星システム |
|---|---|---|
| GP | GPS | アメリカ |
| GL | GLONASS | ロシア |
| GN | GNSS(複合) | 複数混在 |
| GA | Galileo | 欧州 |
| GB | BeiDou | 中国 |
| QZ | QZSS(みちびき) | 日本 |
| センテンス | 意味 | 主な内容 |
|---|---|---|
| GPGGA | Global Positioning System Fix Data | 時間、位置、高度など |
| GPGLL | Geographic Position – Latitude/Longitude | 緯度と経度 |
| GPRMC | Recommended Minimum Specific GPS Data | 時刻、速度、進行方向など |
| GPGSA | GPS DOP and Active Satellites | 使用中の衛星と精度 |
| GPGSV | Satellites in View | 可視衛星の情報 |
GPGSVなどNMEAセンテンス主要5種個別解説
GPS数などはGPGGA情報でも取得できますが、その受信強度などを取得するためにはGPGSV情報が必須になってきます。
ただ、1行のテキスト量がどうしても多くなってくることもあり、管理が大変なので、GPGGAのように常にこの情報を発信し続けるデバイスは少なく、意図的に取得するといったニュアンスになります。
ここから、他のNMEA情報の種類をみていきましょう。
$GPRMC – 最小推奨データ(Recommended Minimum Specific GNSS Data)
ほぼすべての基本情報が含まれているため、GPSロガー等でもよく使われます。
$GPRMC,123519,A,4807.038,N,01131.000,E,022.4,084.4,230394,003.1,W*6A
| 項目 | 内容 |
|---|---|
| 123519 | UTC時刻(12:35:19) |
| A | 位置特定ステータス(A=OK) |
| 4807.038,N | 緯度 |
| 01131.000,E | 経度 |
| 022.4 | 速度(ノット) |
| 084.4 | 進行方向(度) |
| 230394 | 日付(1994年3月23日) |
| 003.1,W | 磁気偏差(西方向) |
| *6A | チェックサム |
$GPGSV – 衛星情報(Satellites in View)
GNSSの精度評価、視野内の衛星可視性を知るのに有用です。
$GPGSV,2,1,08,01,40,083,41,02,17,045,42,...*7E
| 項目 | 内容 |
|---|---|
| 2 | このメッセージの総数 |
| 1 | このメッセージの番号 |
| 08 | 見えている衛星の数 |
| 01,40,083,41 | 衛星PRN番号,仰角,方位角,信号強度 |
$GPGSA – 使用中の衛星と精度(DOP情報)
位置精度や使用衛星の数を分析する際に便利。
$GPGSA,A,3,04,05,...,29,1.8,1.0,1.5*33
| 項目 | 内容 |
|---|---|
| A | 自動(A)/手動(M)選択 |
| 3 | 位置特定モード(3D) |
| 04,05,… | 使用中の衛星番号(最大12) |
| 1.8 | PDOP(位置精度) |
| 1.0 | HDOP(水平精度) |
| 1.5 | VDOP(垂直精度) |
$GPGLL – 緯度・経度のみを簡潔に送る形式
緯度・経度だけが必要な用途向け(軽量な通信に最適)。
$GPGLL,4916.45,N,12311.12,W,225444,A*1D
| 項目 | 内容 |
|---|---|
| 4916.45,N | 緯度(49°16.45′ N) |
| 12311.12,W | 経度(123°11.12′ W) |
| 225444 | UTC時刻 |
| A | データの有効性 |
| *1D | チェックサム |
$GPVTG – 移動方向と速度
速度と進行方向に関する分析で活躍。
$GPVTG,054.7,T,034.4,M,005.5,N,010.2,K*48
| 項目 | 内容 |
|---|---|
| 054.7,T | 真北基準の方向(度) |
| 034.4,M | 磁北基準の方向(度) |
| 005.5,N | 速度(ノット) |
| 010.2,K | 速度(km/h) |
NMEAが使われているシーン
- ドローンのGPSログ記録
- 海洋航行の航法装置
- カーナビの位置補正
- ハイキングアプリやGPSロガー
- 自動車のOBD II連携(GNSS付きモデル)
おわりに:NMEAを読み解くことは「デジタル地図を読む」こと
GPSデータの背後で交わされているNMEAのやりとりは、まさに「電子的な座標会話」です。
プログラミングやログ解析をする上でも、このNMEAの基礎を押さえておくことで、あなたのデータスキルは格段に上がります。
今こそ「NMEAとは何か?」を知っておきましょう。