I'm creating a visualization tool for workout data, specializing on bicycle rides. I'm looking for ways to generate more value from the data that was recorded. Since there usually is a GPS track available I was wondering if and how I could extract possible visited towns or special locations during the trip. I'm especially interested in the possible intended destination of a trip.
Now this is really easy if you have a track that goes from location A to B but my tracks are usually round courses where the start and end location are the same.
Some special cases exist where the destination should be relatively easy to determine. Those are:
- There is a location where the recording was paused, thus causing a gap in the recorded data
- Recording isn't paused but the location stays the same for a considerable time. The likely candidate for the intended destination would be the longest of such periods.
Assuming we don't encounter one of the above circumstances I'd like to create a list of cities / special locations visited or rode by.
I can imagine narrowing down the search by dividing the track into thirds and only analyze the middle segment, which most likely contains the intended destination.
Now there are APIs available that could give me nearby locations to any given GPS point but asking for the information for every point would cause thousands of requests, since there usually is one GPS point available every second.
Now my question is:
Is there any known algorithm or technique that would decrease the number of requests I would have to send to a location API? If not, what would be a good way to find possible intended locations along a GPS track if the track contains no pauses or hot spots where the location is approximately the same for a extended period. I realize this is the same question as asking for any special location along a segment of a GPS track, which I have no good idea for either.
An example of the desired result would look like this:
- A GPS track is uploaded
- The algorithm/program returns a list of
locations with name and address, like:
- City A, address
- City B, address
- Restaurant A, address
Also all ideas including how I could structure and group the location data to help with the analysis are appreciated.