View Single Post
Ken-Young's Avatar
Posts: 387 | Thanked: 1,700 times | Joined on Feb 2010 @ Cambridge, MA, USA
#1103
Originally Posted by MartinK View Post
Thats a good point and I really do want to integrate HDOP in the rerouting-check calculation. But as there might be another causes for false-alerts, namely routes that were mapped with a slight offset or routes that were mapped correctly, but then reduced in point count to reduce storage space (eq. you might get a straight line for a slightly curved route in the routing result), I would still like to let the user to set the rerouting distance to some arbitrary number manually, to get rid of excessive reroutes in some cases.

IMHO, just using a HDOP multiple won't work - if you have a very good HDOP (say <1 m), the real route differing just 3 meters from the computed one would trigger rerouting. A very bad HDOP (>100m) would result in a 300+ m corridor.

...

Possible algorithms that take HDOP into account:

Algorithm nr. 1
...

Algorithm nr. 2
...
Algorithm nr. 3:
...
Algorithm nr. 4:
  • check if HDOP < (1/3)*rerouting_threshold (in meters)
  • if its larger, them rerouting threshold = 3*HDOP
I think there's no real solution for the case that the route is offset or the route has been compressed by reducing the point count. Those problems may lead to unneeded reroutings however the threshold is set. The only solution is to not let the threshold get too small, no matter how it's defined.

I like your algorithm 4. You set a floor below which the threshold cannot fall, and have no discontinuity at the point where you start using HDOP information. If the HDOP is a one standard deviation radius, then 3 standard deviations is a good threshold.

It's nice that you're adding more parameters for us to tweak. One little advantage our poor orphaned OS has is that at this point it is likely that nearly all N900 owners are geeks. Somebody writing an Android app can't assume his users like to fiddle with the app's parameters, but we can.
 

The Following 6 Users Say Thank You to Ken-Young For This Useful Post: