NMEA 0183

Aktualisiert/erstellt am 01.08.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. 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

$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

Der Konflikt bei der Höhenangabe im GGA-Datensatz

30.07.2021 – Die Höhenangabe an 9. und 10. Stelle (hier: 337.43 Meter) ist die MSL-Höhe = mean sea level, entspricht in etwa der orthometrischen Höhe bzw. unserer NHN/NN-Höhe. Auf welche Bezugsebene der Antenne sich die MSL-Höhe bezieht bleibt meistens unklar, es sollte jedoch das Antennenphasenzentrum sein. Der Höhenunterschied Phasenzentrum-Gehäuseunterseite und Antennenhöhe (Höhe über Grund, “Stabhöhe” beim Standard-RTK-Rover) sollte bei der MSL-Höhe nicht berücksichtigt werden, da diese Information dem Empfänger üblicherweise nicht übermittelt noch NMEA-konform dokumentiert werden kann. Vorsicht bei Empfängern mit webinterface, hier könnte ev. die Antennenhöhe eingegeben werden => bitte überprüfen, ob sich die GGA-Ausgabe ändert!

Die Höhenangabe an 11. und 12. Stelle (hier: 48.80 Meter) ist die empfängerintern intrapolierte Geoidseparation (Undulation), also die Differenz zwischen ellipsoidischer Höhe über dem WGS84-Ellipsoid und MSL-Höhe.

Der Konflikt: Die aus dem GNSS-Empfänger ausgegebene Geoidseparation ist immer ungenau, da ein grobes globales Geoidmodell im Empfänger hinterlegt ist. Dies bedeutet, dass – selbst wenn die primär ellipsoidische Höhe mittels RTK zentimergenau ermittelt wurde – die im GGA-String ausgegebene MSL-Höhe immer ungenau ist. Die im Rahmen der Messgenauigkeit exakte ellipsoidische Höhe lässt sich zurückrechnen durch Addition von MSL + Geoidseparation, hier 337.43 + 48.80 = 386.23 m. Die Höhe sollte immer am Ort der Entstehung, also in der Höhe des Antennenphasenzentrums, abgenommen werden. Dieses befindet sich üblicherweise einige cm über der Gehäuseunterseite. Letztere (und die “Stabhöhe”) ist jedoch die Bezugsebene für Vermessungssoftware. Ein direkter Vergleich zw. GGA-Höhe und der in der Software ermittelten Höhe kann daher trickreich werden.

Manche Hersteller von Präzisionsempfängern umgehen den Konflikt, indem von vorneherein die ellipsoidische Höhe statt der MSL-Höhe ausgegeben und auf die Angabe der Geoidseparation verzichtet wird.

Ist man auf eine präzise Höhenangabe im GGA-String angewiesen, gibt es prinzipiell vier Möglichkeiten:

Bitte jeweils auf Funktionstüchtigkeit testen, jede Software/Firmware reagiert anders…

  • Empfänger, bei denen sich die Eingabe der Antennenhöhe (entgegen der Norm…) auf die GGA-Höhe auswirkt: Antennenhöhe um die Differenz zwischen Empfänger-Geoid und realem Geoid anpassen! Hierzu Tool zur Bestimmung der realen lokalen Geoidseparation z.B. beim BKG . Im obigen Fall wäre also die Antennenhöhe um 48.80(Empfänger)-48.69(real) = 0.11m zu erniedrigen, damit würde die MSL-Höhe auf 386.34 angehoben.
  • Änderung des Geoids im Empfänger
  • NMEA-Ausgabe aus der Benutzersoftware initiieren
  • Nachschaltung einer Datenverarbeitung

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