[ gpsdrive ] No developer question, but a question about an older version of gpsdrive

Thomas Schönhütl pilleus.pulcher at arcor.de
Mon Nov 5 06:13:53 AKST 2007


Am 5.11.2007 schrieb "Sascha Silbe" <sascha-ml-gis-gpsdrive at silbe.org>:

>> - I doubled the ROUTEREACH and recompiled gpsdrive
>> - then I did the same run and now the result was nearly PERFECT!!!
>In the SVN version, current.groundspeed is a floating-point number. 
>Perhaps it's an integer in the older version? In that case the cubic 
>part could overflow, giving you nonsense as result. You could try 
>writing "(double)" (including the parentheses, but not the quotation 
>marks) before each "groundspeed".
>You could also add a printf() call to output groundspeed and ROUTEREACH, 
>so we could should whether it's in the calculation or somewhere else.
>
>CU Sascha

Hi all,

no difference in GpsDrive's behaviour if I add (double) before each
groundspeed. I did it in this way

(((1/600)*(double)groundspeed*(double)groundspeed.....

I hope it is the right useage of (double)!?

And the second approach to add printf() is something I do not understand,
because I am not familiar with the compiler language!!!

But as written in my second post yesterday, also a high powered notebook
gives the same strange results with GpsDrive current (svn updated
yesterday). The calculated 833 meters (with the definition of Sasche,
3-point interpolation) at a speed of 100 km/h are only about 300 meters
in reality with GpsDrive.

My current solution is to double the (((1/600)*....)*2

I made three tests today and I think the difference of GpsDrive to
reality is about 2 seconds (1 second for having the GPS signal and 1
second to show the position in GpsDrive's map), may be 3 seconds if a
map is changing to the next.

May be someone else could make a test with a given route and the changed
definition of ROUTEREACH ...

Thank you for your help,

Thomas.


More information about the GPSdrive mailing list