Nodus Syntax (Fahrplanentwicklung)

.ldef-Datei

Fahrzeugtyp [fahrzeugtyp] [kürzel] [fahrzeugkategorie] z.B. Linien des Fahrzeugtyps BUS mit dem Kürzel B. Die Linien dieses Fahrzeugtyps werden in der Kategorie Straßenfahrzeuge (T) definiert.

BUS (B) in (T) {

Fahrzeit [variablenname] [nummer|"unknown"] z.B. B01 braucht 13min von Riverside Junction (RIJ) nach Pine Valley Depot (PVD)

fahz t[RIJ>B01>PVD] = 13

[nummer]:

  • t[[s1]<[linie]>[s2]] z.B. t[RIJ<B01>PVD] -> Fahrzeit der Linie linie, i.d.F B01, zwischen s1 & s2, i.d.F. RIJ & PVD, in beide Richtungen
  • t[[s1]>[linie]>[s2]] z.B. t[RIJ>B01>PVD] -> Fahrzeit der Linie linie, i.d.F B01, von s1 bis s2, i.d.F. von RIJ bis PVD

Wendezeit ["~"+römischeBuchstaben] [nummer|"unknown"] z.B. B01 braucht 2min bei Pine Valley Depot (PVD) von der Ankunft bis zur Abfahrt

fahz ~a = 2

Abfahrt [linie] [stationskürzel] [":"+zeit<inMinuten>|formel] [römischerBuchstabe+(n*" ' ")]{optional} z.B. B01 (von RIJ) fährt 5min nachdem B02 (von HAP) endet, wendet und fährt bei RIJ ab (b). Hänge ' n mal an eine Variable (z.B. b'') an, wenn mehrere Formeln für die gleiche Linie verwendet werden

abf B02(von PVD) = :04 + t[MSS>B03>PVD] = a abf B02(von HAP) = a + t[HAP>B02>RIJ] + ~a = a' abf B01(von RIJ) = a' = b

[formel]:

  • :[zeit<inMinuten>] z.B. :04 -> fixe Zeit (in einer Stunde), i.d.F. um 04
  • [präfix][variable<abf|fahz>] z.B. Ub -> Variable variable<abf|fahz>, i.d.F. b, eines anderen Verkehrsmittels mit Kürzel präfix, i.d.F. U für U-Bahn
  • nur grundsätzliche Operationen (+, -) erlaubt

Fahrzeiten [linie] [fahrzeiten] z.B. B01 benötigt von RIJ nach MSS 4min und von MSS nach PVD 9min. PVD ist der Wendepunkt (Endstation) und wird mit einem $ versehen, wonach B01 von PVD nach MSS 12min und von MSS nach RIJ 4min braucht

cal B01: RIJ(t[RIJ>B01>PVD] - 9)MSS(9)PVD$(12)MSS(4)RIJ cal B02: GFP(10)(-ex lines.fahz/@B-B02)(10)GFP cal B05: FKC(12)MSS(08)BTS(16)SVS$&;FKC(12)MSS(08)BTS(5)EWS$&

[fahrzeiten]:

  • -ex[absoluterPfad]/@[individuelleKennzeichnung] z.B. -ex lines.fahz/@B-B02 -> Fahrzeitendefinierung oder Abschnitte der Fahrzeitendefinierung können auf eine .fahz-Datei ausgelagert werden, absoluter Pfad absoluterPfad der .fahz-Datei (ohne root-Ordner), i.d.F. lines.fahz und die individuelle Kennzeichnung individuelleKennzeichnung für die Zuordnung, i.d.F. B-B02
  • braucht der Weg einer Linie in beiden Richtungen gleich lang (B05), so kann nach dem $ ein & plaziert werden
  • wenn Linien Zweige haben, muss der Linienweg für jeden Zweig erstellt werden. Diese können durch ein ; getrennt werden
  • in der .ldef-Datei muss der Wert der cal-Variable in einer Zeile geschrieben werden
}

[fahrzeugkategorie]:

  • U für U-Bahnen
  • S für S-Bahnen
  • T für Straßenfahrzeuge
  • R für Regional-/ und Fernverkehr

Streckenabschnitte [kürzel] z.B. U-Bahn (U)

sdf (U) {

Streckenabschnitt [name] [kürzelDerStarthaltestelle] [zwischenhalte] [kürzelDerEndhaltestelle] [linien] z.B. Streckenabschnitt "S" zwischen Maple Heights (MH) und Franklin Center (FC) über Lower Quarter (LQ) und Oak Hill Exchange (OH) bedient von den Linien L2 und L24; Streckenabschnitt "1" zwischen Union Square East (UE) und Millstone Square (MS) bedient von den Linien L1, L2 und L23

asd S = MH <- LQ - OH -> FC : L2, L24 asd 1 = UE <-> MS : L1, L2, L23
}

.tdef-Datei

Linie [fahrzeugtypkürzel] [linie] z.B. B01 (B)

(B) B01:

Wochentage [wochentage] z.B. Montag – Freitag und Sonntag und Feiertage

Mo-Fr/So;Feiertage {

Intervall [index] [intervall] [kommentare] z.B. erstes Intervall alle 20min (3 Mal, um 60min zu füllen), startet zu der in der .ldef-Datei definierten Zeit plus 5min

tsch [0] = {5:20*,20**,20} `*jede 2. Woche, zw RIJ & PIV;**zw OHE & PIV´

[intervall]:

Kurzschreibweise möglich z.B. (10)_6 kurz für 10,10,10,10,10,10 oder (22,8)_2 kurz für 22,8,22,8

[kommentare]:

funktionale Kommentare:

  • zw [s1] & [s2] z.B. zw RIJ & PIV -> Fahrt bedient nur Abschnitt zwischen s1 und s2, i.d.F. nur zwischen RIJ und PIV
  • als [alternativerLinienname] z.B. als B001 -> Fahrzeug fährt unter anderen Linienbezeichnung (und anderer Linienführung), i.d.F. B001

Zeitzuweisung [index] [zeiten] z.B. erstes Intervall von 10 bis 12 und in 16

[0] -> 10-12, 16

Kommentar [kommentar] z.B. jede 2. Woche extra Fahrten zwischen RIJ und HAP

"jede 2. Woche weitere Fahrten zwischen RIJ und HAP"
}

Streckenabschnitt [fahrzeugtypkürzel] [name] z.B. 2 (U)

(U) ~2:

Wochentage [wochentage] z.B. Montag – Freitag und Sonntag und Feiertage

Mo-Fr/So;Feiertage {

Intervall [index] [intervall] [kommentare] z.B. erstes Intervall alle 15, 5 und 10min (2 Mal, um 60min zu füllen), startend zu der in der .ldef-Datei definierten Zeit

tsch [0] = {0#L1:15#L2,5#L23*,10#L1,15#L2,5#L23*,10#L1} `*nur Fr´

[intervall]:

Kurzschreibweise möglich z.B. (10#L2)_6 kurz für 10#L2,10#L2,10#L2,10#L2,10#L2,10#L2 oder (22#L1,8#L23)_2 kurz für 22#L1,8#L23,22#L1,8#L23

[kommentare]:

funktionale Kommentare:

  • zw [s1] & [s2] z.B. zw RIJ & PIV -> Fahrt bedient nur Abschnitt zwischen s1 und s2, i.d.F. nur zwischen RIJ und PIV
  • als [alternativerLinienname] z.B. als B001 -> Fahrzeug fährt unter anderen Linienbezeichnung (und anderer Linienführung), i.d.F. B001

Zeitzuweisung [index] [zeiten] z.B. erstes Intervall von 10 bis 12 und in 16

[0] -> 10-12, 16

Kommentar [kommentar] z.B. jede 2. Woche extra Fahrten zwischen RIJ und HAP

"jede 2. Woche weitere Fahrten zwischen RIJ und HAP"
}

.fahz-Datei

Fahzzeitendefinierung [individuelleKennzeichnung] [fahrzeiten]

@B-B02: GFP(t[GFP<B02>USE])USE$(t[GFP<B02>USE] + 2)GFP

[fahrzeiten]:

  • in der .fahz-Datei können ebenfalls externe Teile verlinkt werden. Dabei muss trotzdem der absoluten Pfad (vom root aus) angegeben werden. Unendliche Schleifen sollten vermieden werden
  • in der .fahz-Datei kann der Wert über mehrere Zeilen geschrieben werden

/// ...: ///, um eine Zeile auszukommentieren

Tastenkombinationen

Strg + S, um die Datei zu speichern

Strg + M, um die ausgewählte nichtdefinierte Variable hinzuzufügen

Strg + Shift + M, um alle nichtdefinierten Variablen hinzuzufügen

Strg + Shift + /, um ausgewählte Zeilen auszukommentieren

secdef + Tab für eine Muster-Fahrzeugtypdefinierung

fahz + Tab für eine Muster-Fahrzeit-/Wendezeitdefinierung

abf + Tab für eine Muster-Abfahrtsdefinierung

sdf + Tab für eine Muster-Streckenabschnittsdefinierung eines Fahrzeugtyps

asd + Tab für eine Muster-Streckenabschnittsdefinierung

span + Tab für eine Muster-Wochentagestaktdefinierung

tsch + Tab für eine Muster-Taktdefinierung

assign + Tab für eine Muster-Taktzuweisung