I'm trying to record way points to locate features in open areas. Ideally, I'd use an app like GPS Waypoints, where the waypoints can be tabulated and exported. However, I've done a bit of testing and it seems like Google Maps can achieve better accuracy. Is that because it 'snaps' your location to features on the map (e.g. road)? Does is use location data more effectively than other apps (by incorporating wifi signals etc)? Or is location calculated by the operating system (android), and all apps simply use that (meaning all apps should have the same accuracy)? Thanks!
Android defines interfaces for interacting with its location sources. The location information returned will be the same for all applications.
- GPS - Your phone locates itself using a constellation of satellites. This can be done without any data connection, but usually uses a data connection to assist and reduce the time to first fix.
- WiFi/Bluetooth - Your phone scans for transmitters, and sends the list in a location request to Google.
- Cellular - Your phone scans for towers (transmitters), and sends the list in a location request to Google.
How an application chooses to use location information may be different, as in your snapping example. Usually the best accuracy source currently available is used, which starts as WiFi then switches to GPS. But an application can choose to ignore WiFi and only use GPS, for example.
If you are trying to map locations in open areas, then application heuristics like your snapping example will not help; any application with GPS that records coordinates should be fine.