I'm writing an app that continuously monitors user location 24 hours a day using a mobile phone with readings every 5-30 mins (about 50-300 readings a day).
How do I cluster readings and extract user significant locations taking in account the following requirements:
- The output must be a chronological list of visited places. I.e if the user is at home at morning and evening this are two reported locations. And I don't need to find a correlation between this "two locations"
- Location readings accuracy can be variable and not very good. Some readings can be from GPS and others from triangulated cell towers or wifi networks.
- Not too complex in terms of CPU/Memory
- Not complex to implement or existing basis in Java is a plus.