Real time train position data accuracy for Sydney/NSW Trains,



I’ve been monitoring the real time positions of trains from Sydney Trains and noticed at times the positions jump inconsistently.

Given that the data refreshes every 15 seconds, I would expect a smooth distance progression for a cruising train between stations but often I see the position remains stuck at one point for several intervals then jumps several blocks ahead at once.

So here are my questions,

  • Specifically for trains, where do you source the positioning data from? is this from the in-built GPS receivers inside each train? or only from the information obtained from the occupation of the ‘track circuits’? or perhaps combination of the two?

  • If the source is from the track circuits (think I saw a thread mentioning this earlier…) then as far as I know the lengths of the track circuits vary depending on the signalling requirements, for a long track circuit (e.g. 500~600 meters long), how do you report the train position? For example, while the train is occupying the track circuit, you would not know where the train is within that track circuit block, then do you report the train being at the beginning of the block? or middle or the end?

  • Are there any plans on improving the quality of the trains positioning data? (e.g. use of more accurate GPS receiver, higher update frequency, etc.)

Thanks a lot,


Sydney Trains real-time data comes from signalling control systems based on track circuit occupation; NSW TrainLink regional train/coach real-time comes from on-board GPS data.

Track circuit length varies depending on the signalling configuration of the track in that area - circuits tend to be very dense near the city and can be quite long further out, particularly on the Richmond Line. The GPS coordinate published is the midpoint of the occupied track section.

The data is published every 10 seconds so it’s pretty frequent and the accuracy tends to be more than adequate for use in real-time apps. Track circuit density is enhanced occasionally as part of signalling/capacity improvement projects, for example the Westmead to Granville and Epping to Thornleigh Third Track projects earlier this year.


Hi Rupert,

Thanks for the information, appreciate it.

I guess the accuracy may be good enough for most use cases, just wanted to know if higher level of positioning granularity could be obtained or not as a use case I’m thinking of requires it.

Anyway, thanks again.