I have a system comprised of a GPS/SD shield. This sits on an Ard Uno.
This module sits in a race boat and logs the position and other data during a course run.
This setup works fine. The file on the uSD card can be exported into Earthpoint and ultimately into Google Earth which shows the boats position and associated data at each point.
Now I am using the same platform to measure distances based upon the current lat/lon data with respect to a starting point. My problem seems to be that I can't get high enough resolution to make these measurements for finer than a mile or 2.
I declared all of the GPS data variables as floats. And its my understanding that for the Uno this means the data is 32 bits wide which seems that would be plenty of numerical resolution.
The algorithm I've implemented is as follows:
Distance in Miles Between Two Points = `dist = acos(cos(lat_start_rad) * cos(lat_current_rad) + sin(lat_start_rad) * sin(lat_current_rad) * alpha))*3958.756 ;`

Where alpha = `alpha = cos(lon_start_rad)*cos(lon_current_rad) + sin(lon_start_rad)*sin(lon_current_rad);`

The alpha terms seems to be the one that gets truncated and causes the lack of resolution. The alpha equation is based upon the trig identity "cos(x-y) = cos(x)*cos(y) + sin(x)*son(y). Has anyone used the Uno successfully to measure distances? Thanks for any insights.