1. A method for adjusting coordinates obtained using a satellite-based positioning system device, comprising: (1) receiving a sequence of coordinates corresponding to a plurality of locations; (2) identifying in a map database, for each location, polyline features within a first distance from the coordinates for the location; (3) calculating emission probabilities for the polyline features identified in (2), wherein each emission probability E ij represents the probability of obtaining coordinates C i for a location represented by a polyline feature P j ; (4) calculating transition probabilities for the polyline feature identified in (2), wherein each transition probability T xy represents the probability of a transition from a polyline feature P x to a polyline feature P y ; and (5) adjusting the sequence of coordinates corresponding to the plurality of locations so that the adjusted coordinates correspond to polyline features belonging to a sequence of polyline features selected based on the emission probabilities calculated in (3) and the transition probabilities calculated in (4), wherein steps (1)-(5) are performed by at least one computing device.