[ 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