Json2ttb
Jump to navigation
Jump to search
| Original Author(s) | Daniel Gill |
|---|---|
| Initial release | 2021 |
| Stable release | 1.3.5
/ 2023-07-03 |
| Written in | Java |
| Available in | English |
| Type | Simulation |
| License | GNU Public License v3 |
| Website | https://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"
]
}