Difference between revisions of "Json2ttb"

From Railway Operation Simulator Wiki
Jump to navigation Jump to search
m (Changed category to External Tools)
(Updated json2ttb version)
 
(3 intermediate revisions by the same user not shown)
Line 14: Line 14:
 
| discontinued = <!-- Set to yes if software is discontinued, otherwise omit. -->
 
| discontinued = <!-- Set to yes if software is discontinued, otherwise omit. -->
 
| ver layout = <!-- simple (default) or stacked -->
 
| ver layout = <!-- simple (default) or stacked -->
| latest release version = [https://github.com/Railway-Op-Sim/json2ttb/releases/tag/1.3.4 1.3.4]
+
| latest release version = [https://github.com/Railway-Op-Sim/json2ttb/releases/tag/1.3.5 1.3.5]
| latest release date = 2022-03-03
+
| latest release date = 2023-07-03
 
| latest preview version =  
 
| latest preview version =  
 
| latest preview date = <!-- {{Start date and age|YYYY|MM|DD|df=yes/no}} -->
 
| latest preview date = <!-- {{Start date and age|YYYY|MM|DD|df=yes/no}} -->
Line 37: Line 37:
 
{{For|the json2ttb tutorial|Json2ttb/Tutorial}}
 
{{For|the json2ttb tutorial|Json2ttb/Tutorial}}
  
'''json2ttb''' is a external tool for [[About|Railway Operation Simulator]] which allows the user to speed up the creation of complex [[TTB file|timetables]].
+
'''json2ttb''' is a external tool for [[About|Railway Operation Simulator]] which allows the user to speed up the creation of complex [[Timetable Creation|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.
+
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===
 
===Key Features===
Line 87: Line 87:
 
}
 
}
 
</pre>
 
</pre>
[[Category:External Tools]]
+
[[Category:External tools]]

Latest revision as of 19:50, 9 July 2023

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"
    ]
}