The Long Run
bit-player.org
bit-player.org
Also a possibility: the phone is picking up a gps 'echo' reflecting off a wall. We like to think of GPS as this magical, perfectly accurate reporting of our cartesian coordinates, but in practice it's a lot messier. There are places that consistently report an inaccurate location, because some non-direct path length transmits more strongly than the direct line to the sky (which may be occluded by trees, for example).
The wavelength used for GPS is pretty well absorbed by water, so you have situations like this more often than you might think.
Doing it right in practice requires understanding the nature of the measurement itself, Bayesian notions of uncertainty (does iOS even report positional uncertainty from GPS?), and probably some sensor fusion -- using accelerometers or even gyros with different noise signatures to arrive at a better answer. In other words, a lot more sophistication than just reading x,y values from a function lookup. (I don't mean to cast aspersions on the actual developer mentioned in the article; there are valid reasons not to do these things, battery life being one obvious one.)
A good friend works at a fitness tracker company, and he reports that the raw data they have to deal with is insanely ugly. There's a fair amount of algorithmic house cleaning that goes along with good distance/speed estimates.