Json2ttb

From Railway Operation Simulator Wiki
Revision as of 19:50, 9 July 2023 by Daniel (talk | contribs) (Updated json2ttb version)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
json2ttb
Original Author(s)Daniel Gill
Initial release2021
Stable release
1.3.5 / 2023-07-03
Written inJava
Available inEnglish
TypeSimulation
LicenseGNU Public License v3
Websitehttps://railway-op-sim.github.io/json2ttb/

json2ttb is a external tool for Railway Operation Simulator which allows the user to speed up the creation of complex timetables.

The program works by parsing a user-written json file, which is then converted to a .ttb file which can be used in within ROS. The structure of the json file is in such a way that you define a service template, which can then be iterated upon and copied over several instances, which can have non-iterative references, descriptions, times and train data.

Key Features

  • Allows for unusual repeats of services.
  • Create templates of service data and use them for several services.
  • Change the reference and description of single repeats.
  • Allows for creating shuttles without using shuttle syntax.
  • In most cases, quicker than writing timetables in ROS.

What json2ttb cannot do... (yet)

  • Does not simplify writing individual services.
  • No current support for the ROS repeats (e.g. R;30;2;2), repeats are done in a different way.

JSON Example

Below is a small excerpt of the json file which can be parsed by json2ttb. This example is taken from the timetable for Sheffield East.

{
    "ref":"1R50",
    "description":"SHFF AVOIDING",
    "startSpeed":80,
    "dataTemplate":"C222/0_5",
    "increment":1,
    "events": [
        "23:46;Snt;55-73 55-72",
        "00:04;Fer;28-24"
    ],
    "times": [
        {"time":"06:10","ref":"1R50","description":"Nottingham to Liverpool Lime Street","dataTemplate":"C158_2"},
        {"time":"06:14","ref":"5C14","description":"Etches Park Sdgs to Sheffield"},
        {"time":"07:00","ref":"1F00","description":"Kettering to Sheffield"},
        {"time":"19:10","ref":"1F60","description":"St Pancras International to Sheffield"}
    ]
},
{
    "ref":"1C23",
    "description":"Sheffield to St Pancras International",
    "dataTemplate":"C222/0_5",
    "startSpeed":80,
    "increment":1,
    "events": [
        "07:53;Snt;28-23 29-23",
        "08:11;Fer;56-73"
    ]
}