BFO Data Format

This described BFO file contains basically departure and arriving times of train movements of one station, as well as additional information to this train movements. It is a pure text file where each row contains all information of one train movement. BFO files are required for RgZm application and Graphic time table. The tools used by FKTT (FBS, Jochens FPL) are able to create these BFO files directly.

Important note: The name of the train is the key at the BFO, therefore it is no good idea to add more than one row with the same train name into it. In the special case of a push pull train, who go twice through a station (e.g. the following branch), two different train names should be used (e.g. D 317a, D 317b).

Disambiguation

Time table and BFO (=Bahnhofsfahrordnung, Station Driving Order) are often used as synonyms, although a time table is rather for the whole arrangement and therefore a full time table for all. The BFO (SDO) on the other hand is just for one special station or in other words the BFO (SDO) is the time table of a/one special station.

Data Format

A textual relevant BFO file row consists of the following blocks:

<an><ab><zug><bedarf><ignore><gleis><von><nach><wagenuebergang><lokuebergang><bemerkung>

where individual blocks are separated by a delimiter. By default this delimiter is a tabulator (tab on the keyboard, \t as masking). Other delimiter are possible in the RgZm and can be adapted using the “Settings > Change configuration” menu. Alternatively this delimiter can be setup in the RgZm Configuration file.

BFO file rows which are not matching to this format are ignored. Comments can be used in this file. Between data fields and delimiter signs any whitespaces can occur, these are removed during parsing.

Note: The file should be saved using UTF-8 encoding, because it is read-in with it! Otherwise you are running in trouble displaying special chars like german umlaute.

Block meanings

<an>=Time with format99.99or9.99.

Optional a “+”, “–>” or “->” sign can stand in front of the time. These information is not evaluated. Other data, without any time, like “–>” for passing through is ignored.

<ab>=see<an>

<zug>=<Gattung>Whitespace<Nummer>

<Gattung>=Character sequenz of train type identifier, e.g. "Ng", "D", "Lz"

<Nummer>=Character sequenz of train number, e.g. "4711", "13", "555verst."

<bedarf> used by time table tool FBS to mark special trains. Is not used.

<ignore> is empty and not used.

<gleis>=Character sequenz for track number.

These track numbers should harmonize to the defined track number of the station in the RgZm Configuration file. Only then, trains of the BFO can be set directly into the RgZm station track! By creation of Graphic Time Table configurations, these track number should also harmonize, so they can be assigned.

<von>=Character sequenz for departure station

<nach>=Character sequenz for arriving station

<wagenuebergang>=<Gattung>Whitespace<Nummer>

Specify the cars change over if the trains terminates at the station. It can be stated explicitly where the current cars should be part of the next train. These train identifer should harmonize to an other train identifer which is defined by <zug> in this BFO. Cars and loco change over are where display at the track button of the RgZm if they are not empty and if the train terminates in this station.

<lokuebergang>=see<wagenuebergang>

<bemerkung>=additional information to the train which are displayed in the remark column of the RgZm BFO.

Due to this scheme time tables can be created from scratch. E.g. just put the data into a table calculation application and export it as CSV file with the delimiter of your choice.

Example

+17.08  17.08  P 3918              2   Finkenheerd     Waldengenberg            FIH-WEB`\
+17.16  17.17  P 7407              2   Frauenwald      Vieselbach               FW-VIE`\
+17.25  17.26  P 3818              1   Waldengenberg   Brechen                  WEB-BRE`\
  -->   17.38  Sg 43515            1   Waldengenberg   Hintertupfing            WEB-HTG`\
  -->   17.42  D 347               2   Brechen         Waldengenberg            Karlovy Vary-Leipzig`\
  -->   17.52  Ng 66893            1   Waldengenberg   Leonhardtshafen          WEB-LHH`\
 17.55         P 3819              2   Brechen         Waldengenberg   P 3919  P 3919   BRE-WEB`\
 18.06         P 3919              1   Waldengenberg   Finkenheerd              WEB-FIH`\
 18.15  18.15  P 7408              1   Vieselbach      Frauenwald               VIE-FW`

Deutsch