Hidden Markov map matching through noise and sparseness | Synapse