There are around 1 million kilometres of railways in the world (around 620,000 miles), and they all work because of ONE thing.
Steam, diesel, electric, doesn't matter.
Uphill, downhill, doesn't matter.
High speed, low speed, doesn't matter.
The ONLY tech I can think of that doesn't rely on this is maglev, but then it's not a RAIL-way.
Once you know the gauge (HO, OO, O, N, Z etc for model railways), you can run anything on it provided your 'car' or 'train' or 'carriage' has WHEELS set a certain distance apart.
There may be many gauges, but that's not an issue if your entire country runs on one gauge.
And so what's the first thing we care about in designing our one-file-protocol for all data?
The gauge. So let's look at that here.