FIS - Fahrgastinformationssysteme

  • Das Thema FIS umfasst das Zusammenspiel zwischen Bordrechner, Anzeigen und Ansagen im und am Fahrzeug. Insbesondere geht es dabei um die Inhalte (Haltestellen, Routen usw.), die natürlich je nach Karte und Verkehrsunternehmen unterschiedlich sind.

    1 FIS-Gruppe

    Eine FIS-Gruppe besteht aktuell aus einer Haltestellen- und einer Sonderzeichen-Liste eines Verkehrsbereiches, später werden noch Routen hinzukommen. FIS-Gruppen werden im ContentTool erstellt (siehe "Zus. Karten-Content"). Mit Verkehrsbereich ist ein in sich abgeschlossenes System von Haltestellen und Routen gemeint - z.B. der Bereich "Tram" der BVG.

    1.1 Allgemeine und Spezielle FIS-Daten

    Basis und Voraussetzung für jede FIS-Gruppe sind die allgemeinen FIS-Daten und -Dateien. Diese umfassen einen Standardsatz von Informationen für jede Haltestelle, jeden Sonderzeichen-Code und den weiteren Daten. Auf diese Weise wird allen Erstellern von Karten, Bordrechnern und Anzeigen ein Standard geboten, sodass - wenn sich jeder daran hält - ohne große Vor- oder Nacharbeiten jedes Fahrzeug auf jeder Karte die dortigen Ziele, Routen usw. nutzen kann, ohne dass es zu Inkompatibilitäten kommt.


    Um die Arbeit überschaubar zu halten, sind die Informationen pro Haltestelle, Route usw. aber auf ein Minimum reduziert, sodass Spezialeffekte (invertieren, zusätzliche Daten, Farben usw.) zunächst nicht möglich sind. Deshalb gibt es ein dazugehöriges Konzept spezieller FIS-Daten und -Dateien. Diese sind einerseits immer mit allgemeinen FIS-Daten verknüpft und bauen auf diese auf, und sind aber über ein Identifikationssystem auch mit Bordrechner- und Anzeigen-Systemen verknüpft. Nähere Details hierüber folgen, sobald es an die konkrete Implementierung dieses Features geht.


    Ganz wichtig ist aber, dass die entsprechenden Bordgeräte auch immer ohne spezielle FIS-Dateien auskommen und auch die allgemeinen FIS-Daten als Rückfall-Ebene nutzen kann.

    1.2 Haltestellen-Liste

    In der Haltestellen-Liste befinden sich sämtliche Haltestellen, also sowohl die, die als Endhaltestellen mit einem Zielcode versehen sind, als auch die Zwischenhaltestellen, die ausschließlich in den Routen auftauchen. In den speziellen FIS-Dateien sind beliebig viele Felder pro Haltestelle vorhanden, in den allgemeinen FIS-Dateien sind folgende Standard-

    2 Script

    Insbesondere der Bordrechner muss Zugriff auf die Daten der aktuellen PIS-Group-Datei erhalten, um die entsprechenden Strings auslesen und an die Anzeigen schicken zu können. Hierfür gibt es folgende Funktionen:

    • PIS_GetStationMainListIndexByTerminusCode(self: integer; code: integer): integer; Diese Funktion sucht aus der Haltestellen-"Hauptliste" der ausgewählten PIS-Group die Haltestelle mit dem gegebenen Zielcode code heraus.
    • PIS_GetStationStdString(self: integer; stationmainlistindex: integer; stringindex: integer): string; Diese Funktion gibt einen der in der Standard-Datei hinterlegten Strings zurück. stationmainlistindex ist der Index der Haltestelle in der "Hauptliste" (der bspw. mit PIS_GetStationMainListIndexByTerminusCode erhalten werden kann) und stringindex dient der Auswahl, ob der Stations-String (0) (z.B. Innen-Haltestellenanzeige und Bordrechner), der einzeilige Ziel-String (1), der zweizeilige Ziel-String (2, beide Zeile getrennt durch eine Zeilenschaltung), die erste Zeile der zweizeiligen Zielanzeige (3) oder dessen zweite Zeile (4) zurückgegeben werden soll.
    • PIS_GetSpecialChar(self: integer; code: integer; lineinput: string): string; Diese Funktion generiert aus der Sonderzeichen-Tabelle und unter Verwendung des Codes und dem "Linieninput" die fertige "Sonderzeichen-Liniennummer"). Beispiel: <hier kommt ein Beispiel hin, wenn die Planung für Sonderzeichen abgeschlossen ist>

    3 Sonderzeichen

    Sonderzeichen wie Verkehrsbetriebe-Logos, Stadien, Fußbälle, Flugzeuge usw. werden dadurch realisiert, dass ein Unicode-Zeichen hierfür definiert und in der Hofdatei hinterlegt wird. Die Schriftarten, die geschildert werden sollen, müssen dementsprechend auch über ein solches Zeichen verfügen, was dort über dasselbe Unicode-Zeichen hinterlegt wird.


    Wichtig: Solang man sich nicht im Script befindet, werden in den jeweiligen Textfelder nicht die Unicode-Kodierungen selbst eingetrage (also dieses U+####), sondern es kann und muss das Zeichen "direkt" eingetragen werden. Am Einfachsten geht das, wenn man es aus der Tabelle unten direkt herauskopiert.


    Damit das Ganze einheitlich wird, gibt es hier eine Unicode-Tabelle, an die sich bitte alle Zielanzeigen-Entwickler halten mögen. Selbstverständlich wird sie entsprechend ergänzt, sobald Wünsche geäußert werden! (Gerne gleich mit dem entsprechenden Unicode ;-) ). Als besonderen Service werden wir unsere GT6N-Flipdot-Anzeige auch immer mal wieder anpassen, sodass die unten aufgeführten Zeichen dann auch bei uns wirklich auf unserem GT6N geschildert werden können.





    BALD FINAL! ;-)


    3.1 Ist in unserer Matrix enthalten


    Symbolbeschreibung Unicode-Zeichen Unicode
    Flughafen U+2708
    Dreieck U+25B3
    Schulkinder 🚸
    U+1F6B8
    P+R 🅿️
    U+1F17F
    DB-Logo U+2114
    Fußball
    U+26BD
    Kreispfeil Uhrzeigersinn U+21BB
    Kreispfeil Gegenuhrzeigersinn U+21BA
    BVG-Logo U+2422
    Brandenburger Tor U+220F
    Kreuz U+2715
    Umleitungs-Pfeil U+21AC
    "U" im Kreis (das war natürlich Quatsch, das wird noch ein Quadrat! ;-) ) 🚇 U+1F687
    "S" im Kreis 🚈 U+1F688
    Kaffee-Tasse U+2615
    Straßenbahn (von der Seite) 🚃 U+1F683
    Lächelnder Smiley 😀 U+1F600
    Zwinkernder Smiley 😉 U+1F609
    Smiley, der die Zunge herausstreckt 😛 U+1F61B

    3.2 Ist nicht in unserer Matrix enthalten, aber zwecks Vereinheitlichung reserviert

    Symbolbeschreibung Unicode-Zeichen Unicode
    Eingekreiste Buchstaben Ⓐ - Ⓩ U+24B6 - U+24CF
    Eingekreiste Zahlen ① - ⑳ U+2460 - U+2473
    "Negativ" Buchstaben in ausgefülltem Kreis 🅐 - 🅩 U+1F150 - U+1F169
    "Negativ" Buchstaben in ausgefülltem Quadrat 🅰 - 🆉 U+1F170 - U+1F189
    "BUS" im Kreis 🚍 U+1F68D
    "TRAM" im Quadrat 🚊 U+1F68A