Track Codes Trackernet

Just wondering if anyone has or knows of a spreadsheet or document of all the trackernet track codes and their corresponding location (or like just the order they’re in) ?


You mean ?

i don’t think so, you know in the trackernet detailed prediction you get train predictions like so: T TrainId=“1540481” LCID=“0” SetNo=“054” TripNo=“0” SecondsTo=“444” TimeTo=“7:00” Location=“At Wembley Central Platform 2” Destination=“Overground to Euston” InputDest=“200” DestCode=“86” Order=“0” ArrivalTime=“” DepartTime=“19:13:53” DepartInterval=“444” Departed=“0” Direction=“0” IsStalled=“0” TrackCode=“TBCW” LN=“B” LeadingCarNo=“0” I was wondering if anyone had dataset for all the TrackCode=“TBCW” locations


Perhaps you want


plus Appendix B – Station Codes ?

If you normally use National Rail three letter codes the conversion is…

“KGX” => “KXX”,
“ZEL” => “ELE”,
“ZAT” => “ACT”, “ZAG” => “AGR”, “ZAD” => “ALD”, “ZAE” => “ALE”, “ZAP” => “ALP”, “AMR” => “AME”, “ZAN” => “ANG”,
“ZAR” => “ARC”, “ZAL” => “ARL”, “ZBB” => “BAR”, “ZBW” => “BBB”, “ZBQ” => “BCT”, “ZBN” => “BDE”,
“ZBD” => “BDS”, “ZBZ” => “BEC”, “ZBE” => “BER”, “ZBG” => “BGR”, “ZBI” => “BHL”, “BHO” => “BHR”, “BFR” => “BLF”,
“BET” => “BNG”, “ZBA” => “BNK”, “ZBU” => “BOR”, “ZBM” => “BOS”, “ZBP” => “BPK”, “ZBS” => “BST”,
“ZBT” => “BTX”, “ZBO” => “BUR”, “ZBR” => “BWR”, “ZCK” => “CFS”, “ZCF” => “CHF”, “ZCG” => “CHG”, “ZCI” => “CHP”,
“CFO” => “CLF”, “ZCL” => “CLW”, “ZCB” => “CNT”, “ZCD” => “COL”, “ZCV” => “COV”, “ZCC” => “CPC”,
“ZCP” => “CPK”, “ZCN” => “CPN”, “ZCA” => “CPS”, “ZCR” => “CRD”, “ZCO” => “CRX”, “ZCT” => “CTN”, “CLW” => “CWD”,
“ZCZ” => “CWF”, “ZCW” => “CWR”, “ZCY” => “CYL”, “ZDB” => “DEB”, “ZDE” => “DGE”, “ZDH” => “DGH”,
“ZDO” => “DHL”, “ZEA” => “EAC”, “EAL” => “EBY”, “ZEC” => “ECM”, “ZET” => “ECT”, “ZED” => “EDG”, “ZEF” => “EFY”,
“ZEH” => “EHM”, “EPH” => “ELE”, “ZEK” => “EMB”, “ZEP” => “EPK”, “ZEG” => “EPP”, “ZPU” => “EPY”,
“ZEB” => “ERB”, “ZEM” => “ERD”, “ZES” => “ESQ”, “ZEE” => “ETE”, “ZFD” => “FAR”, “ZFB” => “FBY”, “ZFA” => “FLP”,
“ZFR” => “FRD”, “ZFC” => “FYC”, “ZGG” => “GGR”, “ZGA” => “GHL”, “ZGE” => “GPK”, “ZGP” => “GPS”,
“ZGR” => “GRD”, “ZGH” => “GRH”, “ZGS” => “GST”, “ZHT” => “HAI”, “HRW” => “HAW”, “ZHB” => “HBT”, “HHY” => “HBY”,
“ZHU” => “HCH”, “ZHD” => “HDN”, “ZHG” => “HIG”, “ZHL” => “HLN”, “ZHA” => “HMD”, “ZHM” => “HMP”,
“ZHZ” => “HMS”, “ZHC” => “HNC”, “ZHN” => “HND”, “ZHE” => “HNE”, “ZHW” => “HNW”, “ZHO” => “HOL”, “ZHY” => “HPC”,
“ZHP” => “HPK”, “HXX” => “HRC”, “ZHR” => “HRD”, “HWV” => “HRV”, “HDN” => “HSD”, “ZHS” => “HST”,
“HAF” => “HRF”, “ZHX” => “HTX”, “ZIC” => “ICK”, “ZKY” => “KBY”, “ZKE” => “KEN”, “KWG” => “KEW”, “KNL” => “KGN”,
“ZKI” => “KIL”, “ZKN” => “KNB”, “ZKP” => “KPK”, “STP” => “KXX”, “ZLN” => “LAM”, “ZLA” => “LAN”,
“ZLY” => “LEY”, “LBG” => “LON”, “ZLC” => “LSQ”, “ZLO” => “LTN”, “ZLE” => “LYS”, “ZMH” => “MAN”, “ZMA” => “MAR”,
“ZMN” => “MCR”, “ZMV” => “MDV”, “MOG” => “MGT”, “ZML” => “MHE”, “ZME” => “MLE”, “ZMR” => “MNR”,
“ZMM” => “MON”, “ZMO” => “MOR”, “ZMP” => “MPK”, “ZNA” => “NAC”, “ZNN” => “NEA”, “ZNE” => “NEL”, “ZNP” => “NEP”,
“ZNF” => “NFD”, “NGR” => “NGW”, “ZNG” => “NHG”, “ZNH” => “NHR”, “ZNO” => “NHT”, “ZND” => “NWD”,
“ZNS” => “NWH”, “NWB” => “NWM”, “ZNK” => “NWP”, “ZOA” => “OAK”, “KPA” => “OLY”, “ZOY” => “OST”, “ZOV” => “OVL”,
“ZOC” => “OXC”, “ZPE” => “PER”, “ZPG” => “PGR”, “ZPC” => “PIC”, “ZPO” => “PIM”, “ZPI” => “PIN”,
“ZPS” => “PLW”, “ZPK” => “PRY”, “ZPB” => “PUT”, “ZQB” => “QBY”, “QPW” => “QPK”, “ZQW” => “QWY”, “ZRA” => “RCP”,
“ZRE” => “RED”, “RIC” => “RKY”, “ZRL” => “RLN”, “ZRV” => “ROD”, “ZRP” => “RPK”, “ZRS” => “RSQ”,
“ZRG” => “RUG”, “ZRU” => “RUI”, “ZRM” => “RUM”, “SPB” => “SBC”, “ZSE” => “SEL”, “SRA” => “SFD”, “SDS” => “SFS”,
“ZSA” => “SGT”, “ZSH” => “SHL”, “ZSX” => “SHR”, “ZSS” => “SJP”, “ZSJ” => “SJW”, “ZSK” => “SKN”,
“SOK” => “SKT”, “ZSN” => “SNB”, “SBP” => “SPK”, “SRU” => “SRP”, “ZSO” => “SSQ”, “ZSM” => “STA”, “ZSF” => “STB”,
“ZSG” => “STG”, “ZSL” => “STK”, “ZSY” => “STN”, “ZSP” => “STP”, “ZSC” => “SWC”, “ZQS” => “SWF”,
“ZSW” => “SWK”, “ZSI” => “SWM”, “ZTB” => “TBE”, “ZTO” => “TBY”, “ZTC” => “TCR”, “ZTM” => “TEM”, “ZTR” => “TGR”,
“ZTY” => “THB”, “ZTH” => “THL”, “ZTW” => “TOT”, “ZTP” => “TPK”, “ZTL” => “TPL”, “TOM” => “TTH”,
“ZUB” => “UPB”, “ZUP” => “UPK”, “ZUY” => “UPY”, “ZUX” => “UXB”, “VXH” => “VUX”, “ZWE” => “WAC”, “WHC” => “WAL”,
“ZWN” => “WAN”, “ZWV” => “WAR”, “ZWT” => “WAT”, “WBP” => “WBT”, “ZLW” => “WCL”, “ZWC” => “WCT”,
“WIM” => “WDN”, “WMB” => “WEM”, “ZWO” => “WFD”, “ZWH” => “WFY”, “ZWD” => “WGN”, “WEH” => “WHM”, “ZWX” => “WHR”,
“WIJ” => “WJN”, “ZWK” => “WKN”, “ZWG” => “WLG”, “WAT” => “WLO”, “ZWM” => “WMS”, “ZWY” => “WPK”,
“WRU” => “WRP”, “ZWI” => “WSP”, “ZWS” => “WST”,];

There’s a good change this means “to be confirmed” + “Waterloo and City line”.

1 Like

Hi, I don’t think this is something that has been published, though perhaps one of my colleagues knows better.

I’m aware that some open data users have been able to use the data returned by Trackernet to infer the locations of each TrackCode, as TubeNoise has done, for example.

Last year, @eta gave a brilliant talk about how she uses the Trackernet data (including TrackCodes) to model the track layout (but please note the proprietary nature of that data).

So whilst I can certainly understand the desire to have some reference data for these TrackCodes, there are ways to make use of them without it.

By the way, I believe TBCW is at Wembley Central Platform 2, as indicated by the Location attribute.


I don’t believe such a document exists. One problem is that the concept of a ‘track code’ can be different on different lines, and even between different parts of the same line.

Your example of TBCW for instance actually corresponds to a Network Rail berth (0044) (which is where TrackerNet gets its data from for this part of the line) and has been give a code of ‘TBCW’ which probably corresponds approximately to a track circuit name on a signalling diagram. On the Network Rail Open API feed the same train would have a location of 0044.

TrackerNet have created their own set of unique identifiers which correspond to locations on their rail diagrams, and I guess we need to do the same.

1 Like

I see, thanks everyone for tyhe responses, perhaps if i need it more at a later date i might make a document but for now i can work around it.

Hi, I apologise for being late to this, but I do have something which might help. It’s not official but over the last year I’ve built spreadsheets for all the Trackernet lines, hoovering up the data from trains as they pass over the tracks.

For each line segment (as per TFL) it lists all the trackernet codes on that segment, their description and a number between 0.0 and 100.0 indicating how far along the segment the track is (or appears to be). It also gives an average time in seconds for how long a train will normally spend on that piece of track.

It’s not perfect, but it’s not bad. I’ve tested a lot of this by riding the trains and checking the data - there are some imperfections - the Metropolitan and outer reaches of the Bakerloo are particularly tricky, but it might be helpful.