Reputation: 16253
I'm developing an android app that reads GPS location every 1-2 minutes (Low sampling to save power) while the user is traveling. At the end, I have a list of raw GPS readings of the user's trip. How to convert this to a route on the map?
This is called Map Matching and still an open topic for research but do you know any open source tools that deals with such problem? Maybe Google Maps provide a webs service that deals with it?
Upvotes: 0
Views: 2102
Reputation: 702
You may read this paper: Hidden Markov Map MatchingThrough Noise and Sparseness. The algorithm mentioned in this paper is based on Hidden Markov Model which works pretty well for sparse sampled GPS points (e.g., 1-2 minutes per GPS point).
I have implemented the algorithm using C#(available here), you may refer to it.
Another open source java project of map-matching is available here. https://github.com/graphhopper/map-matching.
Upvotes: 1
Reputation: 28737
Yes this is called MapMatching, but there is some research.
There is no open source map matching solution.
But your work is not only the map matching part, much work is also the import of the digital road network. Altogether that could be some months of work. I have done that for a map matching project for Transport for London City GPS Trials.
Much easier would be simply read the GPS evry 1-5 seconds, and you are ready, with a 100% correct route without map matching errors caused by invalid and or outdated data in the road map.
Upvotes: 1