Thursday, May 8, 2014

Converting NMEA latitude and longitude coordinates to degrees decimal for use in google maps

I've been tinkering around with my GlobalSat bu-353 USB gps receiver lately. Initially I was confused about the coordinates I received from the device. I mapped them in google maps and it showed my location in the middle of the pacific ocean. Do I really live in the plastic bag vortex in the pacific??

After some googling I realized I wasn't using the correct formula to convert the lat/long NMEA-specified format to decimal degrees acceptable to google maps.

According to the specs, NMEA specifies latitude as ddmm.mmmm and longitude as dddmm.mmmm. To convert these to decimal degrees, we need to simply divide the minute (mm.mmmm) by 60.

(d)dd + (mm.mmmm / 60)

The first "d" is optional and only pertains to longitudinal coordinates.

Plotting these coordinates in google maps is easy. Just use the following URL:

http://maps.google.com/maps?q=<latitude>,<longitude>

1 comment:

  1. parentheses added to clarify the formula: (d)dd + (mm.mmmm / 60)
    You will also need to add the North/South and East/West after each location coordinate, as appropriate

    ReplyDelete