NMEAパーサー
GPSのNMEAセンテンスを座標・速度・GeoJSONに解読し、チェックサムも検証します。
NMEAパーサーは完全にブラウザ内で動作します。GPSログは端末上で解読され、位置履歴が外部に出ることはありません。
GPXビューアーを開く
NMEAパーサー について
ほとんどのGPS受信機はNMEA 0183を話します。カンマ区切りのセンテンスで、送信機IDと種別で始まり、XORチェックサムで終わります。目で読むのは骨が折れますし間違えやすく、最大の理由は座標が十進度ではなく度と十進分で届くことです。4807.038,Nは48.1173度であって48.07度ではありません。これを取り違えると点が別の国に飛びます。このパーサーはGGA、RMC、GLL、VTG、GSA、GSV、ZDAを読みやすい表に展開し、軌跡をGeoJSONで書き出します。
機能
- GGA、RMC、GLL、VTG、GSA、GSV、ZDAを解読
- 度と十進分を正しく十進度へ変換
- 各行のXORチェックサムを検証し不一致を明示
- 時刻、標高、速度、進路、測位品質、衛星数を表示
- 測位点をGeoJSONの軌跡と点として書き出し
- 受信機が送っているセンテンス種別を集計
NMEAパーサー の使い方
- 受信機のログを1行1センテンスで貼り付けます
- 解読結果の表を読みます。チェックサム不一致は印が付きます
- GeoJSONに切り替えて軌跡をジオメトリとして確認します
- GeoJSONを保存して地図やGISで開きます
例
入力
$GPGGA,123519,4807.038,N,01131.000,E,1,08,0.9,545.4,M,46.9,M,,*47
出力
48.117300, 11.516667 · 12:35:19 UTC
GPS fix · 8 satellites · 545.4 m altitude
4807.038は48°07.038′、つまり48.1173°です。48.07°と読むと点が50キロずれます。
よくあるエラーとトラブルシューティング
- 位置が数十キロずれる。 — 度と分の項目を十進度として読んでいます。先頭の数字が度で、残りが分なので60で割ります。
- チェックサムが合わないセンテンスがある。 — 行が途中で切れたか、シリアルでバイトが落ちています。チェックサムはドルからアスタリスクまでのXORです。
よくある質問
- NMEA 0183とは何ですか。
- GPSや舶用電子機器がシリアルで送る標準のセンテンス形式です。ドル記号、2文字の送信機ID、3文字の種別、カンマ区切りの項目からなります。
- NMEAの座標を十進度に直すには。
- 度と分に分けます。小数点の前の下2桁を除いた部分が度で、残りが分です。分を60で割って足し、SやWなら符号を反転します。
- GPGGAは何を意味しますか。
- GPはGPSの送信機ID、GGAは測位データのセンテンスで、時刻、位置、品質、衛星数、HDOP、標高を含みます。
- GPSログは送信されますか。
- いいえ。ログはブラウザ内で解析されるので、どこにいたかという情報は端末に留まります。
関連ツール
- GPX ビューアー — .gpx ファイルを地図で開き、距離・標高・バウンディングボックスを読み取り GeoJSON をエクスポート。
- 座標変換ツール — 緯度経度を十進度・DMS・DDM の間で双方向に変換し、N/S/E/W も自動処理。
- GPX から GeoJSON — GPX と GeoJSON をブラウザー内で相互変換。トラックやウェイポイントはデバイスから外に出ません。
- GeoJSON ビューアー — GeoJSON を検証して地図でプレビューし、フィーチャー数とバウンディングボックスを表示。
- 座標間の距離 — 2 つの緯度経度の点の間の大圏距離・方位・中間点をブラウザー内で測定。
- 地図タイル計算 — 座標・XYZ・TMS・quadkeyとタイル枚数を計算します。
すべての ArrayKit ツール