Danke erstmal an euch beiden für euer Lob!

Natürlich gibt es noch genug Ecken und Kanten, mit denen ich zum Teil recht unzufrieden bin... Gerade der Lokalisierung-Algorithmus für die Fahrzeuge ist sehr fehleranfällig. Beispiel gefällig? Der 5er wird ja dieses Wochenende
geteilt geführt. TRAM weiß davon selbstverständlich nix (die Arbeit tu' ich mir für 2 Tage nicht an) - genauso wenig wie die Open Government-Datenbasis von Seiten der Wiener Linien. Der Algorithmus geht also von Normalbetrieb aus, was dann so aussieht:
[ Für Gäste keine Dateianhänge sichtbar]
- Der ULF bei der Laudongasse kann ja offensichtlich nicht sein. Aber warum bildet sich TRAM den dort ein? Ganz einfach. Im ganzen Netz gibt es eine Reihe von Haltepunkten, die über die OGD-Schnittstelle nicht abgefragt werden können - manche nicht mal von qando (zumindest nicht mit Echtzeitdaten - um ein Beispiel zu nennen: Fickeystraße stadtauswärts) - offensichtlich wurden diese Haltepunkte nicht richtig eingepflegt. Deshalb versucht TRAM bei diesen Haltepunkten die Fahrzeugposition zu interpolieren. Da der Algorithmus rekursiv ist, bedeutet das, dass das selbst über mehrere Haltepunkte hinweg möglich ist. Um auf unser Beispiel zurück zukommen: Der erste Haltepunkt bei dem eine Abfrage auf der normalen Strecke möglich ist, ist die Lerchenfelder Straße (siehe Screenshot). TRAM versucht nun über die nicht abfragbaren Haltepunkte hinweg zu interpolieren. Durch einen Programmfehler wird nun vor dem ersten nicht abfragbaren Haltepunkt der ULF angezeigt. Voilà! In der Baustelle in der Laudongasse steht ein 43-Tonnen-ULF!

- Zudem versucht TRAM an Endhaltestellen Fahrzeuge zu orten. Das geschieht über zwei Wege: Durch Fahrzeitüberprüfung (das nächste ankommende Fahrzeug schafft die nächste Abfahrt an der Endstation fahrzeitmäßig nicht) und durch Fahrzeugüberprüfung (die Fahrzeugtypen (niederflur/hochflur) der nächsten Abfahrt unterscheiden sich). Letztere Möglichkeit greift bei dem obigen Screenshot einer Ortung: Am Westbahnhof wird laut Schnittstelle nach zwei Niederflurfahrzeugen als drittes ein Hochflurer abfahren. Nachdem letzterer nicht vorher auf der Strecke "entdeckt" werden konnte, geht derzeit TRAM davon aus, dass er sich am Westbahnhof "versteckt hält" (sprich noch nicht abgefahren ist). In Wahrheit gibt es aber gar keinen Hochflurer am Südabschnitt des heutigen 5er. Der dritte ULF im Bunde ist schlichtweg noch nicht für die Abfahrt am Westbahnhof im RBL eingebucht. Es werden also Fahrplandaten übergeben und mangels Wissen ein Hochflurer ausgewiesen.
Für beide Fehler gibt es natürlich unterschiedlichste Behandlungsstrategien. Aber ums kurz zu machen: Um den Frust nicht überhand nehmen zu lassen, kann ich Fehler nur in sehr geringen Dosen im Lokalisierung-Algorithmus ausmerzen.

Letztlich ist es ein Kampf gegen die Schnittstelle der Wiener Linien (das heißt primär oft Fehler - manchmal auch nicht nachvollziehbare - ausbügeln, die eigentlich gar nicht da sein sollten). Früher oder später hoffe ich aber den Algorithmus soweit zu haben, dass er selbst solche Extremfälle wie dieses Wochenende am 5er selbstständig zufriedenstellend meistert.
Wer einen kleinen, wenngleich vermutlich etwas kryptischen Einblick in die Fahrzeugortung haben möchte: Über "Ansicht" -> "Letzte Fahrzeugortung prüfen" kann man das Protokoll der jeweils letzten Ortung sich ansehen.
Hätte eine Frage: funktioniert die automatische Benachrichtigung bei Updates schon?
Wenn du Programmupdates meinst: Ja, sowohl für die Datenbank als auch für die Anwendung selbst sucht TRAM bei Programmstart (oder manuell im Hilfe-Menü) nach Updates. Ein Datenbankupdate kann bei laufenden Programm durch das Programm selbst ausgeführt werden (im Hintergrund wird einfach die lokale Datenbank neu gefüllt). Für ein Programmupdate muss die gesamte Anwendung neu heruntergeladen werden.
Eine Idee hätte ich noch - ja ich weiß wir sind im Tramwayforum! - eventuell auch einbindung der Autobus- U-Bahn Linien.
Hier möchte ich auf die
FAQ verweisen. Nur so viel: Irgendwann. Aber vorerst steht das Funktionelle im Vordergrund. Wenn ich sofort alle Linien in TRAM aufnehmen würde, wäre ich die nächste Zeit nur noch mit Datenaufbereitung beschäftigt - dazu habe ich keine Lust. TRAM wird sich also noch sehr lange nur mit der Wiener Straßenbahn beschäftigen, auch wenn ich grundsätzlich in (ferner) Zukunft für mehr bereit wäre.