NMEA 0183

*** ARCHIV *** ARCHIV *** ARCHIV ***
Aktualisiert/erstellt am 05.11.2021/12.11.2018 (2606)

Aufbau

Jeder Datensatz beginnt mit $, dann folgt der NMEA-Talker. Dieser bezeichnet das Satellitensystem, auf das sich die nachfolgenden Daten beziehen.

GP = GPS
GL = GLONASS
GN = GPS/GLONASS

Aus Kompatibilitätsgründen kann in der Konfigurationssoftware des Empfängers oftmals GL oder GN durch GP ersetzt werden (siehe Handbuch zum Empfänger).
Anschließend folgen Daten, die jeweils mit einem Komma getrennt sind. Steht ein Wert nicht zur Verfügung, folgen an dieser Stelle zwei Kommata hintereinander. Den Datensatz schließt eine Checksumme ab.

GGA

Zeit, Position, diverse Status-Informationen.
Der GGA-Datensatz bezieht sich per definitionem nur auf das GPS-System (WGS84). GLGGA oder GNGGA gibt es also nicht.
Für gemischte Systeme kann oftmals der Empfänger so konfiguriert werden, dass der GGA-Datensatz die GPS/GLONASS-Lösung beinhaltet. Alternativ kann der GNS-Datensatz (gleicher Aufbau) verwendet werden.
Grundlegende Informationen, wird von den meisten GPS/GNSS-Datenerfassungsprogrammen verarbeitet

          1          2     3      4     5 6  7  8     9   10  11  12 13  15 15
$GPGGA,050841.00,4930.4137,N,00729.3693,E,2,08,1.1,337.43,M,48.80,M,27,0067*63
       hhmmss.ss UTC-Zeit
                 ddmm.mmmm Breite (d=Grad,m=Minuten)
                           a N=North,S=South
                             dddmm.mmmm Länge
                                        a E=East,W=West
                                          x Status (0=keine Lösung,1=GPS,2=DGPS, 3,4... herstellerspezifisch)
                                             xx Anzahl getrackter (erfasster) Satelliten
                                                x.x HDOP
                                                   x.xx Höhe über mittl. Meeresniveau (Geoid)
                                                          a Einheit (M=Meter)   
                                                             x.xx Undulation, Differenz zw. WGS84-Ellipsoid
                                                                  und Geoid, - bedeutet mittl. Meeresniveau
                                                                  unterhalb des Ellipsoids
                                                                  a Einheit (M=Meter)
                                                                    x Alter der letzten Korrekturdaten 
                                                                      leer, wenn keine Korr.daten anliegen
                                                                       xxxx ID des Korrekturdatensenders
                                                                           *hh Checksumme

Standard-Status-ID bei NovAtel:

0 Fix not available or invalid
1 Single point
2 Pseudorange differential, Unconverged OmniSTAR, HP/XP/G2/VBS converging PPP
4 RTK fixed ambiguity solution (RT2)
5 RTK floating ambiguity solution (RT20), Converged OmniSTAR HP/XP/G2, Converged PPP
6 Dead reckoning mode
7 Manual input mode (fixed position)
8 Simulator mode
9 WAAS/SBAS

Unterschied zwischen der Höhenangabe im GGA-Datensatz und in der Vermessungssoftware

30.07.2021 – Die folgende Darstellung ist vereinfacht und dient lediglich dazu, den deutlich sichtbaren Unterschied zw. GGA-Höhe und der aus einer Vermessungssoftware erhaltenen Höhe zu erläutern.

Im GNSS-Empfänger wird die Höhe über dem mathematisch exakt beschreibbaren WGS84-Rotationsellipsoid ermittelt (ellipsoidische Höhe He). In Abhängigkeit der einfließenden Korrekturdaten erfolgt dies mit bis zu “cm”-Genauigkeit und besser. Die Höhenangabe bezieht sich üblicherweise auf das Antennenphasenzentrum in der GNSS-Antenne, also den “Entstehungsort” der gemessenen Position. Dieser Punkt liegt ein paar mm bis cm über der Grundplatte des Antennengehäuses (Hap), weiterhin befindet sich die Antenne üblicherweise x Meter über dem Boden, z.B. auf einem Stab (Hs). Für den Nutzer ist diese ursprünglich erhaltene ellipsoidische Höhenangabe He unbrauchbar. Vielmehr wird die Höhe über dem Meeresspiegel des Bodenpunktes benötigt, da diese auch in regionalen Kartenwerken zu finden ist (vereinfacht: Hmsl, MSL-Höhe = mean sea level)

Die Höhenangabe an 11. Stelle (hier: 48.80 Meter) ist die Höhendifferenz (Geoidseparation, Hg) zwischen dem WGS84-Ellipsoid und der unregelmäßigen, mathematisch nicht eindeutig beschreibbaren Meeresoberfläche (Äquipotentialfläche, Geoid). Diese ortsabhängige Geoidseparation wird im Empfänger aus einem dort hinterlegten, grobmaschigen Geoidmodell intrapoliert. Dieser (ungenaue!) Näherungswert wird nun von der ursprünglichen ermittelten und genauen ell. Höhe He abgezogen. Das Ergebnis, die MSL-Höhe Hmsl, steht im GGA-Datensatz an 9. Stelle (hier: 337.43 Meter). Die GGA-MSL-Höhe kann also, abhängig von der Richtigkeit der Geoidseparation, um Meter von der wahren MSL-Höhe abweichen.

He = Hg + Hmsl + Hs + Hap

Eine Vermessungssoftware hingegen verfügt über Mechanismen, aus der ermittelten ellipsoidischen Höhe die exakte MSL-Höhe abzuleiten.

Die Folge ist also, dass die aus der Vermessungssoftware erhaltene Höhenangabe (Hmsl) nicht direkt mit der GGA-Hmsl-Höhen gleichsetzbar ist.

Vorsicht:

  • Manche Hersteller von Präzisionsempfängern umgehen das Problem der Höhenangabe im GGA-Datensatz, indem von vorneherein die ermittelte ellipsoidische Höhe statt der MSL-Höhe ausgegeben und auf die Angabe der Geoidseparation verzichtet wird.
  • Wird die NMEA-Ausgabe über eine Vermessungssoftware initiiert, kann die Stabhöhe und das Antennenmodell (also die Lage des Antennenphasenzentrums) in die GGA-Höheninformation einfließen, v.a. wenn die NMEA-Daten aus der Software herausgeleitet und nicht direkt am Empfänger abgegriffen werden.
  • Bei Empfängern mit webinterface kann oftmals die Antennenhöhe über dem Bodenpunkt (Stabhöhe) eingegeben werden => überprüfen, ob die Stabhöhe in die NMEA-Höhenangabe einfließt.
  • Hat das GNSS-System eine Neigungskorrektur, ist ebenfalls zu überprüfen, ob und wie sich diese auf die NMEA-Position (also Lage und Höhe) auswirkt.
  • Weitere Aspekte, die es gegebenenfalls zu berücksichtigen gilt, sind verschiedenen Höhendefinitionen und -bezugssysteme (MSL, NHN, NN, Quasigeoid/Geoid, …)

Beispiel Stonex

S900A Firmware GNSS6.0Aa04a_22.210628B, jeweils fixed, zum nahezu gleichen Zeitpunkt:

Beispiel Topcon

GGL

Geographische Position – wird seltener benötigt

$GPGLL,4930.4136967,N,00729.3693315,E,050841.00,A*66
       ddmm.mmmm Breite (d=Grad,m=Minuten)
                    a N=North,S=South
                      dddmm.mmmm Länge
                                    a E=East,W=West
                                      hhmmss.ss UTC-Zeit
                                                a Daten A=gültig,V=ungültig
                                                 *hh Checksumme

GRS

Angabe der Residuen der Positionslösung

$GPGRS,142406.00,1,-1.1,-0.1,1.7,1.2,-2.0,-0.5,1.2,-1.2,-0.1,,,*67

GSA

DOP-Werte and Satelliten für Positionslösung

$GPGSA,M,3,10,26,08,28,15,05,02,07,,,,,2.0,1.1,1.6*38
       a A=Auto selection of 2D or 3D fix, M=manual
         n Fix-Modus 1=keine Positionslösung,2=2D,3=3D
           nn,nn,... PRNs (Nummern) der Satelliten für die Positionslösung (insgesamt Platz für 12)
                                       n.n PDOP (dilution of precision)
                                           n.n HDOP (horizontal dilution of precision)
                                               n.n VDOP (vertical dilution of precision)
                                                  *hh Checksumme

GNS

Analog GGA, jedoch für gemischte Satellitensysteme

GST

Pseudorange measurement noise

$GPGST,141451.00,1.18,0.00,0.00,0.0000,0.00,0.00,0.00*6B

GSV

Koordinaten der sichtbaren Satelliten, bestehend aus einem Satz mehrerer Messages
Wird zur Darstellung des Skyviews verwendet

$GPGSV,4,1,16,08,71,063,45,05,66,242,44,26,48,290,43,07,42,058,42*7E
$GPGSV,4,2,16,28,34,147,44,10,32,163,41,37,32,162,38,39,31,157,35*70
$GPGSV,4,3,16,33,30,209,,15,13,286,37,02,07,221,32,21,06,333,*7C
$GPGSV,4,4,16,03,03,026,,13,03,097,,19,01,054,,06,01,013,*78
       n Gsamtanzahl der Datensätze 
         n Nummer des Datensatzes 
           nn Sichtbare Satelliten (unabhängig ob defekt, getrackt oder in Positionslösung)
              nn PRN (Satellit-Nummer) 
                 nn Elevation [°]
                    nnn Azimut zu Nord [°]
                        nn SNR in dB 
                                                                  *hh Checksumme

RMC

Knappe Basisinformationen, wird von den meisten GPS/GNSS-Datenerfassungsprogrammen (speziell Navigation) verarbeitet, teilweise redundant mit GGA

$GPRMC,050841.00,A,4930.4136967,N,00729.3693315,E,0.000,157.4,190811,0.0,E,D*3D
       hhmmss.ss UTC-Zeit
                 a Positionsstatus (A=Valid,V=invalid)
                   ddmm.mmmm Breite (d=Grad,m=Minuten)
                                a N=North,S=South
                                  dddmm.mmmm Länge
                                                a E=East,W=West
                                                   x.x Horizontale Geschwindigkeit
                                                         x.x Richtung [°]
                                                               ddmmyy Datum
                                                                     x.x magn. Abweichung [°]
                                                                         a Richtung der magn. Abw. E/W 
                                                                           a Positionstyp
                                                                             A=GPS,D=DGPS,E=geschätzt,
                                                                             M=manuell,N=ungültig
                                                                            *hh Checksumme

VTG

Track Made Good and Ground Speed (für Navigation)

$GPVTG,157.392,T,157.392,M,0.000,N,0.000,K,D*26

ZDA

Datum und Zeit

$GPZDA,050841.00,19,08,2011,,*6C
       hhmmss.ss UTC Zeit 
                 nn Tag
                    nn Monat
                       nnnn Jahr
                            nn Lokale Zone 00 to +/- 13
                              nn Local zone minutes description (same sign as hours)
                                *hh Checksumme