I get the same sequence of stops from that API link that the CSV has for route 53, run 2, albeit with northing/easting location instead of lat/long.
(I'm extremely sceptical about the 11m minimum distance too - having done the entire 53 route a few times, I can't remember any stops that are basically on top of each other.)
I think I've found the issue with the 11m distance - the 11m distance is:
[-0.126102, 51.502769] to [-0.126018, 51.502714]
What is happening is that the TfL sequence API is starting the bus route sequence on one side of the road of Parliament Street, before turning it around at the corner with Whitehall Place. The bus stops on either side of the road are very close together. Other maps/sequences elsewhere start the sequence at the end of Parliament Street, meaning the short distance is avoided.
Ah, you're parsing the `lineStrings` blob? I'm looking at the lat/long pairs in the `stopPointSequences` structure[1] which gives a different set of coords (in particular, 51.502769, -0.126102 doesn't exist as a stop for the 53.)
Interesting! I wonder why the Line strings blob differs... Maybe it doesn't represent bus stops at all, but points at which the route changes for the purpose of drawing?
I get the same sequence of stops from that API link that the CSV has for route 53, run 2, albeit with northing/easting location instead of lat/long.
(I'm extremely sceptical about the 11m minimum distance too - having done the entire 53 route a few times, I can't remember any stops that are basically on top of each other.)