Datasets for Railway Operation Simulation

Since around 2014, I have been creating data sets for traffic simulations, particularly railway operations, for use in various simulation and analytical applications as well as railway simulators.

Data for Railway Operation Simulation

Railway operation simulations typically take place in a 3D graphical environment containing realistic rolling stock and railway lines. The key data required to run such a simulation generally includes the following:

Railway Line Data

In order to simulate railway operations, the first requirement is the environment itself. In simulation applications, it is necessary to define the properties of the track within the program – such as the number of tracks, the kilometer-based placement of signals, platform lengths, and many other details.

When done correctly, the result is a faithful copy of a real railway line. Of course, it is also possible to use fictional tracks for simulations – environments that do not exist in the real world. These are typically used for experimenting with scenarios that would not occur in real-life operations.

Another option is to modify real tracks – using actual railway data but altering certain sections or characteristics for research purposes, for example, to study how these changes might affect operations on that line.

Rolling Stock Data

Once the environment is in place, the next step is to define the trains. Train consists generally include powered and unpowered vehicles. Key parameters usually include maximum speed, train length, total weight, type of traction (independent, DC electric, AC electric, etc.), acceleration and deceleration rates, and more.

In the simulation program, each locomotive is given a detailed tractive performance profile, and based on the parameters of all vehicles in the consist, the simulation can realistically reproduce acceleration, braking, and other operational behavior.

Timetables

With tracks and rolling stock prepared, the next step is defining the timetable. Timetables are designed to suit the needs of the simulation, but in practice they are generally based on the interests of the transport organizer or other operational requirements. We are always constrained by capacity – the capacity of the track, stations, train consists, signalling systems, and sometimes even human factors.

A timetable may define exact scheduled train movements or provide indicative plans for introducing additional trains as needed. It may or may not specify which track within a station a train will use, but it should always be designed to avoid conflicts. A “conflict” does not necessarily mean “two trains on a collision course” – it could also refer to a planned train movement over a track that passengers are crossing at that time to reach another train.

A graphical timetable generated from a draft timetable for simulation purposes.

Enjoyment

As a lifelong railway enthusiast, I have to admit that working with timetables is, for me, an enjoyable activity in itself. This is why over the years I have created many timetable proposals that otherwise might never have existed. These designs come to life when implemented in a railway simulator.

Railway Simulators

Railway simulators are developed not only for entertainment and the promotion of public transport, but also for training and testing railway staff. Each simulator has its own story and long development journey, as well as a place in practical use. Personally, I have created timetables and defined track characteristics for the following simulation applications:

MSTS, OpenRails

A traditional railway simulator originally released in 2001 by Microsoft. The MSTS legacy continued through the open-source OpenRails project, which attracted most users of the original simulator.

There is a wide variety of railway lines available for the simulator, including Czech and Slovak routes such as Cheb – Ústí nad Labem, Dresden – Prague – Bratislava, and Prague – Čierna nad Tisou. The simulator supports a relatively straightforward definition of timetables via structured, CSV-like files.

A local passenger train leaving Břeclav station in 2005 – simulated in OpenRails (CZ/SK version).

Trainz Railroad Simulator (TRS)

Known as Trainz, Trainz Railroad Simulator, or Trainz Simulator, this railway simulator is developed by the Australian studio Auran (now N3V Games). First released in 2001, the software is built around a virtual model railway layout concept. Unfortunately, it does not support 24-hour timetable definitions, and train behavior must be programmed using “scenarios.”

Railworks / Train Simulator Classic

Titles such as RailSimulator, RailWorks, and today’s Train Simulator Classic share many common features – unsurprising, as they are essentially successive development stages of the same simulator. TS Classic has many unique aspects compared to other simulators, but it also lacks support for continuous, 24-hour operations. For this program, I developed a special approach that allows for something closer to realistic timetable behavior.

A passenger train hauled by a Class 181 locomotive in Train Simulator Classic.

Train Sim World (2, 3, 4, 5…)

Train Sim World, developed by Dovetail Games (the same studio behind Train Simulator Classic), benefits from the Unreal Engine, offering advanced graphics and modding capabilities through Unreal Engine’s own tools. However, this is also a limitation – despite the route editor being available for some time, I have not yet seen any Czech railway routes developed by the community.

One significant achievement, however, is the fully functional 24-hour timetable concept. When simulating a train journey, the player simply selects their desired train from a list of scheduled services.

Class 710.269 London Overground unit at Watford Junction station in Train Sim World 5.