Mobile devices contain sensors that provide location related data. Location awareness utilises GPS, Wi-Fi, internet, and cell triangulation to locate the position of the mobile device. Location Based Applications (LBAs) use the data provided by these location sensors, process it, and use it to provide services like navigation and traffic management.
Location sensing and tracking is a powerful technology with two significant hurdles — (i) battery, (ii) a smart method to summarise the data. If the location data collected can be summarised well, fewer sensors will be required to collect the data and it can be collected at the right frequency to avoid over-utilisation of power intensive sensors.
Though many methods exist for extracting location data, developers predominantly utilise the approach offered as a default in the SDK. Fully understanding how these methods work, and their impact on the mobile battery, as well as how best to summarise this information will help developers make a more informed choice.
I will be proposing an algorithm for summarising location and activity data received from an Android mobile. I have installed a simple application that periodically sends two timestamped JSON data streams – one for location (latitude, longitude) and the other for activity (still, tilting, on foot, in a vehicle etc.). I am defining some heuristics (rules) for removing seemingly invalid updates, outliers in the data received, and then going over the data streams multiple times, summarising the information each time.
The aim is to be left with a reasonably detailed and accurate list of the user’s activity and location changes over a fixed time period which the user can scroll through.
Stay tuned for the algorithm…