Opened 8 years ago

Closed 8 years ago

#670 closed enhancement/feature request (fixed)

Android: Add use of secondary location device for faster location fix

Reported by: tgc Owned by: KaZeR
Priority: major Milestone: want patch / contribution
Component: port/android Version: git master
Severity: Keywords: android fast fix location gps
Cc: http://wiki.navit-project.org/index.php/user:tgc, nick@…

Description

I've created a patch for navit on android, that enables the use of a secondary location device. This allows for a faster but generally unprecise fix. The secondary location device is disabled once the primary location device get a fix.

Attachments (1)

fastfix.patch (4.4 KB) - added by tgc 8 years ago.
The fastfix patch

Download all attachments as: .zip

Change History (8)

Changed 8 years ago by tgc

The fastfix patch

comment:1 Changed 8 years ago by woglinde

Hm,

is this available on all android versions?

comment:2 Changed 8 years ago by tinloaf

As far as I can see it from the API documentation, it should be there since API Level 1, and in any case do not change the API level required.

Nonetheless I'm not sure if we want this - that 'fast' location provider (i.e. network-based) is sometimes *really* inaccurate. I can't see how this improves navigation, since it won't register any movement, and a route starting ~2km away from my position most probably is of no use to me. On contrary: When it switches from 'fast' to 'accurate', the route has to be recalculated, which costs additional (cpu-)time and battery.

comment:3 Changed 8 years ago by tgc

  • Cc http://wiki.navit-project.org/index.php/user:tgc added

@tinloaf: This isn't a patch to improve navigation, for the reasons you yourself mention. The purpose of the patch is more to get a faster estimate of the users position. So instead of waiting a minute to get a GPS-fix, the user gets an estimate in seconds (optimisticly). I got the idea from Google Navigation and Andnav2 which also does this. I guess a notification about the precision would be preferable, but the current Android GUI doesn't support this AFAIK, but since I hope to rewrite the Android GUI, this might change. The second locationprovider could be made optional, if deemed to confusing.

comment:4 Changed 8 years ago by kazer

  • Milestone set to To be discussed - Give your opinion!

I somehow agree with tinloaf. Even if the user would get a faster estimation of his position, this would most of the time trigger a route, which would have to be recomputed once he gets a more precise position. What would be the benefit for him?

Anyhow, thanks for the patch. I'll tag this ticket as needing discussion before commiting it, but it's really appreciated.

comment:5 Changed 8 years ago by mafketel

Do remember that the fast fix if it is based on the mobile phone network and wifi data that there are also places where it is very accurate, e.g. where I am now the "macosx location service" which is probably based on the same thing is only 50 meters of and about the same accuracy. Further down the street the gps signal has a bigger error due to a big building.

At a place where the fasterfix is less accurate there is also likely change that it is a highly populated place hence it is less bad to be of more.

It might be interesting to implement that skyhook thing directly into navit instead of depending on the underlying os.

comment:6 Changed 8 years ago by kazer

  • Milestone changed from To be discussed - Give your opinion! to want patch / contribution

After a quick chat on the subject, there is no reason to reject the patch, but it has to be configurable in navit.xml, and disabled by default so that it doesn't confuse users who are not aware of it.

Patch on hold to be committed until someone updates it with a configure option in navit.xml

comment:7 Changed 8 years ago by number6

  • Cc nick@… added
  • Component changed from core to port/android
  • Keywords android fast fix location gps added
  • Resolution set to fixed
  • Status changed from new to closed

Added in Revision 3783. Thanks tgc

Note: See TracTickets for help on using tickets.