I am working with GPS data from public transport buses in a city in the UK. The data have very characteristic circles of approx. 200 m diameter at bus stops. I suspect that these are caused by an estimated position but I do not know enough about the GPS technology to explain these patterns. Have you seen these patterns before?

The image shows GPS positions for several months. The white circle is the outbound bus stop and all points in yellow are outbound vehicles and inbound vehicles are shown in blue.

GPS positions for inbound (yellow) and outbound (blue) buses. The light circle is the outbound bus stop. If the vehicle lost signal and estimated its position ahead I would expect a ring only in the direction of travel but I am getting one in both directions. These rings are always oriented in the direction of the route. They also do not occur at traffic lights and pedestrian crossings, which would be explained by the fact the vehicle does not always stop in the same place as is the case at bus stops.

Just looking at the outbound direction the data looks like this, where the arrow shows the direction of travel.

A randomly picked bus stop in the outbound direction with the arrow indicating the direction of travel.

For a randomly picked example the percentages of the data points in the circle are:

  • ~52% in the centre
  • ~32% behind the bus
  • ~15% in front of the bus

Even though this example is from a city, we are talking about houses on either side of mostly 2-3 storeys. So no skyscraper-canyons that could seriously impact the signal. Unfortunately, I do not know the exact GPS unit used or even where it is placed on the vehicle. For all I know, it might be installed under the driver's seat...

Below you can see an overview. with the stops highlighted in red and it the coordinates in white. These circles appear practically all along the journey at most of the 42 bus stops.

enter image description here

Any help explaining these circles would be amazing!

EDIT: As suggested by jgm_GIS I have colour coded the points based on

(distance from prior point) / (Time elapsed).

The results are not that clear (I guess they never are...) but it appears that in some cases the ratio is indeed higher in front of the vehicle and lower behind. (See example A&B). But in other cases, the difference is marginal at best or not existent and the ratio is virtually the same before and after vehicle (Example C).

The image shows the colour coded ratio with the approximate values for either semi-circle next to it.

enter image description here

Can anyone explain the intuition behind this? Essentially this shows the speed between the last two points. So what is the software doing? It moves the points away from the bus if it is close to the stop but not quite there yet?

  • 1
    Could GPS Multipath be the cause?
    – Bjorn
    Commented Jul 21, 2020 at 12:59
  • 2
    Do the vehicles' antennas have shielding to block low-angle signals?
    – Bjorn
    Commented Jul 21, 2020 at 13:52
  • 1
    With multipath problems I would expect that the artefacts are "random" noise around the position rather than a circle. Something like this file.scirp.org/Html/3-8501076/… The other thing I would expect is that we would see the same error along the route. But it appears the the positions between the stops is much more accurate and the buildings around those areas are the same height.
    – Thilo
    Commented Jul 21, 2020 at 13:55
  • 2
    You could make a temporal analysis on these points: is there multiple points at the same time, indicating that two technologies could be involved, maybe a GPS on the bus and another fixed length captor located on the bus stop? Is the sampling rate constant, or is there some anomaly within the circles?
    – JGH
    Commented Jul 21, 2020 at 16:14
  • 1
    Yes that happens on all routes in several cities so it is not a single faulty GPS or similar. I know that the on board hardware uses geofencing to decide whether a bus has been at a stop or not. This uses a certain radius around the stop. Perhaps the position is projected by the software onto the boundary in some cases. I will do a temporal analysis and see what that might bring up.
    – Thilo
    Commented Jul 21, 2020 at 18:34

2 Answers 2


This has taken quite some time to investigate but I think I have a working hypothesis that explains the strange circles. I found data for another city that uses different hardware and the circles are not seen in those. So it is a software problem.

As mentioned before a geofence is used to decide if a bus has been at a bus stop or not. So what I think is happening is that the software keeps the location on this geofence until it is directly at the bus stop. There is no good physical explanation for the seen phenomenon, so it has to be caused by a software issue.

Simulating the stop behaviour

To test this I have simulated this with a data generator and it looks strikingly similar. For the simulation I did:

  • generate a circle around the bus stop as an example with a 50 m radius
  • If a position was within the circle within 10 m of the bus stop I did not modify them
  • If the position was inside the circle but further away than 10 m from the bus stop the position was changed to the closest point on the circle.

The schematic looks like this:

enter image description here

The results

When simulating the data we get similar circles (the data generator does still need some work) and it looks quite similar:

enter image description here

Considering that this data is simulated with a not fully finished data generator I think this explains what is happening. Whether the position on the circle is chosen by picking the closest or slightly different I cannot say at the moment.

So as a conclusion this particular tracking hardware moves bus locations onto a geofence around stops unless they are directly at the stop. I would assume this has to do with the arrival time prediction. A possible explanation could be that the displayed arrival time at a stop gets confused if the vehicle is too close. But it could also just be a glitch. I have asked the company for comment but nothing so far. What I know is that data collected with hardware from a competitor does not have the same problem.


I think it's expected behaviour, for example the below GPS tracks from me working in woodland over a 3.5 hour period. Green/Black lines are actual paths, and blobs are where the GPS was stationary.

GPS tracks

  • 2
    This is exactly what I would expect some random noise around a stationary position. But the difference in my data is that we see the random noise as in your example with a very distinct circle around it. That should not happen with some "normal" inaccuracies.
    – Thilo
    Commented Jul 23, 2020 at 12:17
  • I'm not sure what a normal inaccuracy is; every reading is a random error around a point location, some seem more accurate because you know the location. Probably wrongly, I always thought you'd get a normal distribution around the point, so a circle seems correct.
    – nmtoken
    Commented Jul 24, 2020 at 9:12
  • 1
    This paper shows you can get ellipses Characteristics of GPS positioning error with non-uniform pseudorange error
    – nmtoken
    Commented Jul 24, 2020 at 9:30
  • Yes that is what I would expect but it should be a random distribution round or maybe elliptical. But you would get points in the entire shape and not just on the boundary circle as in the images of the data.
    – Thilo
    Commented Jul 24, 2020 at 9:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.