I'm getting from GPS data in the form of NMEA. There I'm getting positive latitude and longitude values('N' and 'E').

How do I convert the negative latitude and longitude values('S' and 'W') into decimal degree format.

  • The method for converting S and W NMEA is the same as for N and E. You just need to make it negative. 7650.911,S,02814.310,W is -76°50'91,-28°14'31" where as 7650.911,N,02814.310,E would be 76°50'91,28°14'31".
    – nagytech
    Commented Jun 12, 2015 at 12:34
  • 1
    @nagytech NMEA standard is DDDMM.mmmmm, not DDDMM.SSs. That is, degrees and decimal minutes, not degrees-minutes-seconds.
    – mkennedy
    Commented Jun 12, 2015 at 20:57

1 Answer 1


Have a look at this tutorial. It may be able to help you out. Also, depending on how you are getting the data, you may have built in ways to convert it. For instance, if you're reading the NMEA stream via something like a Trimble SDK, they usually have converters in there.

I also remember that if you're using a .NET program, there were numerous converters out there as open source. For my application build in .NET, I ended up just writing my own algorithm to convert NMEA streams to decimal degrees.

This post outlines some programming parts to it. If you're not looking to use a programmatic method to convert it, there are converters online such as this one from the US FTC.

  • The second link is dead.
    – Aaron
    Commented Sep 13, 2020 at 17:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.