SparkFun Forums 

Where electronics enthusiasts find answers.

Tips and questions relating to the GPS modules from SFE
By ryan
#13991
hi all,
1) Is there anyone who can explain what does NMEA sentence VTG means and where it is useful
2) How can i know the heading and bearing from the standard NMEA data.
regards...
By daemondust
#13994
1) from http://www.kh-gps.de/nmea-faq.htm
$GPVTG,t,T,,,s.ss,N,s.ss,K*hh

VTG = Actual track made good and speed over ground

1 = Track made good
2 = Fixed text 'T' indicates that track made good is relative to true north
3 = not used
4 = not used
5 = Speed over ground in knots
6 = Fixed text 'N' indicates that speed over ground in in knots
7 = Speed over ground in kilometers/hour
8 = Fixed text 'K' indicates that speed over ground is in kilometers/hour
9 = Checksum
2) From what I can tell, standard NMEA sentences don't include heading/bearing. If you save a point or two you can calculate it using standard trig. functions.
By ryan
#14008
what is this "Track made good ". what is its application and how can i calculate heading and bearing wigh trig. function pls elaborate a bit more....
thanks for ur help
By bitbanger
#14014
Velocity made good refers to the vector portion of the current speed over ground that is in the direction of the waypoint you are trying to obtain.

Say you are running a course in a boat from waypoint A to waypoint B. Also, lets say that you are in calm water and have an indicated velocity over the ground of 10 knots. If your heading is directory at waypoint B, 100% of your velocity is "made good" towards your goal of waypoint B.

Now, if you are not in calm water, and say you have a sideways current that is forcing you to steer to one side of the waypoint B, just so you will end up spot on the waypoint as you reach it. Now, you have less than 100% of your current velocity that is in the vector direction of waypoint B.

So, the higher VTG, the better. It has no meaning unless you are running waypoints however.
By ryan
#14023
thats nice , thanx for explaination but what about calcutaion of Heading/Bearing ?
By bitbanger
#14033
ryan wrote:thats nice , thanx for explaination but what about calcutaion of Heading/Bearing ?
This is how I usually parse for data:
' NMEA sentence usage:
' $GPGGA : Time, Latitude, Longitude, number of Satellites in use
' $GPRMC : Speed over ground, Course over ground, Date
' $GPGSA : Fix type (none, 2D or 3D)

You need to look at the NMEA spec for $GPRMC for the bearing ("Course of ground") It is in degrees....no math required.
By ryan
#14035
bitbanger wrote:
ryan wrote:thats nice , thanx for explaination but what about calcutaion of Heading/Bearing ?
This is how I usually parse for data:
' NMEA sentence usage:
' $GPGGA : Time, Latitude, Longitude, number of Satellites in use
' $GPRMC : Speed over ground, Course over ground, Date
' $GPGSA : Fix type (none, 2D or 3D)

You need to look at the NMEA spec for $GPRMC for the bearing ("Course of ground") It is in degrees....no math required.
but this the heading not the bearing ...
By daemondust
#14036
ryan wrote:thats nice , thanx for explaination but what about calcutaion of Heading/Bearing ?
Over short distances you can assume that the earth is flat. Once you have two latitude/longitude pairs you can calculate the angle from North.
Code: Select all
arctan((change in longitude)/(change in latitude))
By bitbanger
#14038
ryan wrote:
bitbanger wrote:
ryan wrote:thats nice , thanx for explaination but what about calcutaion of Heading/Bearing ?
This is how I usually parse for data:
' NMEA sentence usage:
' $GPGGA : Time, Latitude, Longitude, number of Satellites in use
' $GPRMC : Speed over ground, Course over ground, Date
' $GPGSA : Fix type (none, 2D or 3D)

You need to look at the NMEA spec for $GPRMC for the bearing ("Course of ground") It is in degrees....no math required.
but this the heading not the bearing ...
Sorry, I thought that is what you wanted since you asked for Heading.