NMEA GGA Strings in NTRIP Clients

What are NMEA-183 GGA sentences?

NMEA-183 GGA sentences are used by NTRIP Clients to inform the NTRIP Caster where they are (and hence the location they require corrections for).  The use of the GGA sentence is found most often on virtual reference station (VRS) networks and on networks using NEAR type streams.  It is not actually used on single baseline networks, but some SNIP operators use it to keep track of where the currently connected end users are located (a sort of AVL use).

When connecting to a virtual reference station the NMEA-183 GGA sentence is presented by the client either at the initial connection (as allowed by NTRIP protocol r2) or once the connection acknowledgment occurs (as allowed by NTRIP protocol r1, and the most common format now deployed in the world).  Thereafter, about every 5~60 seconds, the NTRIP Client repeats sending the NMEA-183 GGA sentence.  The data (or at least the time stamp) should be updated, but some NTRIP Clients reuse the original sentence each time.

SNIP accepts all valid NMEA-183 sentences and simply ignores them (unless needed in the connection is to a NEAR type of mountPt, discussed below).  Because all SNIP data streams represent connections to single baselines, there is no use for this data from clients.  And it does no harm other than to waste bandwidth.  [Aside–when SNIP makes a remote connection to a virtual reference station (VRS) network, it also sends a suitable NMEA-183 GGA sentence to obtain data for the location requested.]

In the case of a NEAR type of mountPt, every time the NTRIP Client sends a new GGA sentence, SNIP performs an evaluation of the distances to the various mountPts in the NEAR pool, and will automatically connect the user to the nearest data stream as the client positions moves and is updated.

When the initial NMEA-183 GGA sentences from an NTRIP Client are received by SNIP, the console makes a note of it.  After the first five such messages, the console no longer displays this data in order to prevent mindless screen clutter.  However the last GGA sentence for each client is always kept and can be displayed visually on the map and textually using the List Current Users… button (on the clients / caster tab).

Displaying GGA sentences

Any NMEA-183 GGA sentences from clients will be initially shown (if client connections are not being filtered at the time).  Here is an example of such a console log report for a client that is sending this content.

[SCSC02]:  Client #C02 [69.75.31.xxx:61969] Connected to SCSC02 at 04:37:29 PM (local)

[SCSC02]:      1st NMEA-183 Sentence Detected from Client #C02; NMEA inputs are ignored in this stream.

[SCSC02]:      2nd NMEA-183 Sentence Detected from Client #C02; NMEA inputs are ignored in this stream.

[SCSC02]:      3rd NMEA-183 Sentence Detected from Client #C02; NMEA inputs are ignored in this stream.

[SCSC02]:      4th NMEA-183 Sentence Detected from Client #C02; NMEA inputs are ignored in this stream.

[SCSC02]:      5th NMEA-183 Sentence Detected from Client #C02; NMEA inputs are ignored in this stream.

[SCSC02]:  Further periodic NMEA-183 Sentences will not be shown. Note: These messages are not processed by SNIP.

 

Here is a similar example of a console log report where the log threshold has been set to “minor” in order to see the actual NMEA-183 GGA sentences which the client has sent.

[SCSC02]:  Client #C02 [69.75.31.xxx:61969] Connected to SCSC02 at 04:37:29 PM (local)

[SCSC02]:      1st NMEA-183 Sentence Detected from Client #C02; NMEA inputs are ignored in this stream.

[SCSC02]:      Was: [$GPGGA,233732.01,3946.2000000,N,08413.2000000,W,1,00,1.0,34.073,M,-34.073,M,0.0,*4F ] 

[SCSC02]:      2nd NMEA-183 Sentence Detected from Client #C02; NMEA inputs are ignored in this stream.

[SCSC02]:      Was: [$GPGGA,233736.95,3946.2000000,N,08413.2000000,W,1,00,1.0,34.073,M,-34.073,M,0.0,*46 ] 

[SCSC02]:      3rd NMEA-183 Sentence Detected from Client #C02; NMEA inputs are ignored in this stream.

[SCSC02]:      Was: [$GPGGA,233741.87,3946.2000000,N,08413.2000000,W,1,00,1.0,34.073,M,-34.073,M,0.0,*45 ] 

[SCSC02]:      4th NMEA-183 Sentence Detected from Client #C02; NMEA inputs are ignored in this stream.

[SCSC02]:      Was: [$GPGGA,233746.79,3946.2000000,N,08413.2000000,W,1,00,1.0,34.073,M,-34.073,M,0.0,*43 ] 

[SCSC02]:      5th NMEA-183 Sentence Detected from Client #C02; NMEA inputs are ignored in this stream.

[SCSC02]:      Was: [$GPGGA,233751.74,3946.2000000,N,08413.2000000,W,1,00,1.0,34.073,M,-34.073,M,0.0,*48 ] 

[SCSC02]:  Further periodic NMEA-183 Sentences will not be shown. Note: These messages are not processed by SNIP.

 

UpdateSNIP now also displays the LLH values in the more readable DD.dddd format.  The value is also used to compute the baseline distance to the base station that client is connected to, and this value is also shown.

The NMEA-183 GGA locations are expressed in the form of DDMMSS.sss  (deg, minutes, seconds)  which can prove hard to read for some users.  So the location can also be expressed in a format of DDD.ddd  (decimal degrees and fractions) as well.  And the height is with respect the the devices local concept of “sea level” and not the reference ellipsoid of WGS84.  SNIP also orrectly handles the common “minutes-of-position” translation error found in many NTRIP Clients of having a value of “60” in the minutes field as well.

Hint: The above display is also an effective way to use SNIP to view what an NTRIP Client device is sending if there is some doubt or need to debug things.

Note:  Connecting to a VRS network takes time.  One minute or more may pass between the time the connection is made and when the first data is returned.  As a consequence of this it is important that the NTRIP Caster not time out while waiting for the initial return of data.  Short timeout values (such as 10 seconds, the default used on the RTKLIB tool) need to be adjusted based on each network.

Note: The location reported by the NMEA-183 GGA sentence is often not the same as the precise RTK position computed by the rover device.

Plotting GGA sentences

Any NMEA-183 GGA sentences sent from your clients can be displayed (plotted) on a Google base map using SNIP‘s built-in map functions as well.   This provides a simplistic AVL functionality.  [Aside:  If you require more advanced AVL recording and reporting, or connections to feed to a 3rd party system, please contact us about the Enterprise edition of SNIP or look at the AVL tab features.]

SNIPasAVL

Need to learn more about decoding NMEA-183?

Here are a few good links that offer advice on the more popular sentences (in NMEA-183 speak a message is called a sentence).

The classic: Glenn Baddeley’s  – GPS – NMEA sentence information site

A newer Page:  NMEA data – Joe and Jack’s GPS Information Website

 

Was this article helpful?

Related Articles