GPS Message Strings and Decodings

These are stored in ASCII files. As such, they potentially can be modified with a variety of scripts and programs to suit a particular need.

There are eight message strings from GPS receivers:

  • $GPGGA GPS fixed data
  • $GPGLL Geographical position: latitude and longitude
  • $GPGSA GPS dilution of precision and active satellites
  • $GPGSV GPS satellite in view
  • $GPRMC Recommended minimum specific GPS/TRANSIT data
  • $GPSATSatellite tracking status
  • $GPVTG Track made good and ground speed (velocity and course)
  • $GPZDA Universal time and date

Their decodings follow:

  1. GGA Data Message

    The GGA message contains detailed GPS position information, and is the most frequently used data message.This message takes the following form:

    $GPGGA,hhmmss.ss,ddmm.mmmm,s,dddmm.mmmm,
    s,n,qq,pp.p,saaaaa.aa,M,±xxxx.xx,M,sss,aaaa*cc<CR><LF>

    GGA Data message Defined

    Field Description

    hhmmss.ss

    UTC time in hours, minutes, seconds of the GPS position

    ddmm.mmmmm

    Latitude in degrees, minutes, and decimal minutes

    S

    s = N or s = S, for North or South latitude

    dddmm.mmmmm

    Longitude in degrees, minutes, and decimal minutes

    S

    s =E or s = W, for East or West longitude

    N

    Quality indicator, 0 = no position, 1 = undifferentially corrected position, 2 = differentially corrected position, 9= position computed using almanac

    Qq

    Number of satellites used in position computation

    pp.p

    HDOP =0.0 to 9.9

    saaaa.aa

    Antenna altitude

    M

    Altitude units, m = meters

    ±xxxx.xx

    Geoidal separation (needs geoidal height option)

    M

    Geoidal separation units, m = meters

    Sss

    Age of differential corrections in seconds

    Aaa

    Reference station identification

    *cc

    Checksum

    <CR><LF>

    Carriage return and line feed

  2. GLL Data Message

    The GLL message contains Latitude and Longitude information. This message has the following format:

    $GPGLL,ddmm.mmmm,s,dddmm.mmmm,s,hhmmss.ss,s*cc<CR><LF>

    GLL Data Message Defined

    FieldDescription

    ddmm.mmmmm

    Latitude in degrees, minutes, and decimal minutes

    s

    s = N or s = S, for North or South latitude

    dddmm.mmmmm

    Longitude in degrees, minutes, and decimal minutes

    s

    s = E or s = W, for East or West longitude

    hhmmss.ss

    UTC time in hours, minutes, and seconds of GPS position

    s

    Status, s = A = valid, s = V = invalid

    *cc

    Checksum

    <CR><LF>

    Carriage return and line feed

  3. GSA Data Message

    The GSA Message contains GPS DOP and active satellite information. Only satellites used in the position computation are output. Null fields are present when data is unavailable due to the number of satellites tracked.This Message has the following format:

    $GPGSA,a,b,cc,dd,ee,ff,gg,hh,ii,jj,kk,mm,nn,oo,p.p,q.q,r.r *cc<CR><LF>

    GSA Data Message Defined

    Field Description

    a

    Satellite acquisition mode m = manually forced to 2D or 3D, A = automatic swap between 2D and 3D

    b

    Position mode, 1 = fix not available, 2 = 2D fix, 3 = 3D fix

    cc to oo

    Satellites used in the position solution, a null field occurs if a channel is unused

    p.p

    Position Dilution of Precision (PDOP) = 1.0 to 9.9

    q.q

    Horizontal Dilution of Precision (HDOP) = 1.0 to 9.9

    r.r

    Vertical Dilution of Precision (VDOP) = 1.0 to 9.9

    *cc

    Checksum

    <CR><LF>

    Carriage return and line feed

  4. GSV Data Message (LGBX-12C Only)

    The GSV Messagecontains GPS satellite information. Null fields occur where data are not available due to the number of satellites tracked. This Message has the following format:

    $GPGSV,t,m,n,ii,ee,aaa,ss,…ii,ee,aaa,ss,*cc<CR><LF>

    GSV Data Message Defined

    Field Description

    t

    Total number of messages

    m

    Message number, m = 1 to 3

    n

    Total number of satellites in view

    ii

    Satellite number

    ee

    Elevation in degrees, ee = 0 to 90

    aaa

    Azimuth (true) in degrees, aaa = 0 to 359

    ss

    SNR (dB), ss = 0 to 99

    *cc

    Checksum

    <CR><LF>

    Carriage return and line feed

  5. RMC Data Message

    The RMC Message contains recommended minimum specific GPS data.This Message has the following format:

    $GPRMC,hhmmss.ss,a,ddmm.mmm,n,dddmm.mmm,w,z.z,y.y,ddmmyy,d.d,v *cc<CR><LF>

    RMC Data Message Defined

    FieldDescription

    hhmmss.ss

    UTC time in hours,minutes, seconds of the GPS position

    a

    Status is valid if a = A, status is invalid if a = V

    ddmm.mmmmm

    Latitude in degrees, minutes, and decimal minutes

    n

    S = N or s = S, for North or South latitude

    dddmm.mmmmm

    Longitude in degrees, minutes, and decimal minutes

    w

    S = E or s = W, for East or West longitude

    z.z

    Ground speed in knots

    y.y

    Track made good,referenced to true north

    ddmmyy

    UTC date of position fix in day, month, year

    d.d

    Magnetic Variation in degrees

    v

    Variation sense v = E = East, v = W = West

    *cc

    Checksum

    <CR><LF>

    Carriage return and line feed

  6. SAT Data Message (LGBX-PRO Only)

    The SAT Message contains GPS satellite tracking status information. This Message has the following format:

    $PASHR,SAT,d1,n(d2,d3,d4,f1,c)*cc<CR><LF>

    SAT Data Message Defined

    FieldDescription

    d1

    Number of SVs locked

    d2

    SV PRN number

    d3

    SV azimuth angle in degrees

    d4

    SV elevation angle in degrees

    f1

    SV signal/noise ratio in dB Hz

    c

    SV used in position computation U = used, - = not used

    *cc

    Checksum

    <CR><LF>

    Carriage return and line feed

  7. VTG Data Message

    The VTG Message contains velocity and course information. This Message has the following format:

    $GPVTG,ttt,c,ttt,c,ggg.gg,u,ggg,gg,u*cc<CR><LF>

    VTG Data Message Defined

    FieldDescription

    ttt

    True course over ground, ttt = 000 to 359, in degrees

    c

    True course over ground indicator, c = T always

    ttt

    Magnetic course over ground, ttt = 000 to 359, in degrees (output with magnetic model option only)

    c

    Magnetic course over ground Indicator, always c = M

    ggg.gg

    Speed over ground, 000 to 999 knots

    u

    Speed over ground units, u = N = Nautical mile/h

    ggg.gg

    Speed over ground, 000 to 999 km/h

    u

    Speed over ground units, u = K = kilometer/h

    *cc

    Checksum

    <CR><LF>

    Carriage return and line feed

  8. ZDA Data Message

    The ZDA Message contains Universal Time information. This message has the following format:

    $GPZDA,hhmmss.ss,dd,mm,yyyy,xx,yy*cc<CR><LF>

    ZDA Data Message Defined

    FieldDescription

    hhmmss.ss

    UTC time in hours, minutes, seconds of the GPS position

    dd

    Day, dd = 0 to 31

    mm

    Month, mm = 1 to 12

    yyyy

    Year

    xx

    Local zone description in hours, xx = -13 to 13

    yy

    Local zone description in minutes, yy = 0 to 59

    *cc

    Checksum

    <CR><LF>

    Carriage return and line feed