Open Data Projekt Belastung Schienennetz SBB

Im Rahmen der Vorlesung Open Data am Institut für Wirtschaftsinformatik der Universität Bern erhielten wir den Auftrag, gemeinsam mit einem Unternehmen eine Open Data Visualisierung zu kreieren.
Wir entschieden uns für eine Zusammenarbeit mit dem grössten Schweizer Transportunternehmen, der SBB. Die erhaltenen Daten zeigen die unterschiedlich verteilte Belastung des Schweizer Schienennetzes.

Beschrieb und Funktionsumfang der App

Die Schweizerischen Bundesbahnen (SBB) betreiben ein riesiges Schienennetz in der Schweiz mit einer enorm hohen Anzahl Personen- und Güterzügen. So wurden im Jahr 2015 im Bereich des Personenverkehrs täglich 1.21 Millionen Reisende transportiert. Darüber hinaus wurden pro Tag rund 205'000 Netto-Tonnen Waren im Bereich des Güterverkehrs von A nach B gebracht.
Um diesen Anforderungen gerecht werden zu können, setzte die SBB pro Wochentag in Schnitt rund 10'500 Züge auf ihrem Streckennetz ein. 8'625 im Bereich des Reiseverkehrs sowie 1'853 im Bereich des Güterverkehrs.

Die vorliegende Visualisierung soll einen Überblick bezüglich Belastung des SBB Schienennetzes geben. Dazu stehen Daten für die Bereiche Güter- sowie Personenverkehr der Jahre 2013 und 2014 zur Verfügung.

Nach der Auswahl einer gewünschten Rubrik (bspw. Güterverkehr 2013), werden auf der obersten Visualisierungsebene der Treemap-Darstellung die drei grossen Schweizer Regionen - Deutschschweiz, Westschweiz sowie Tessin - zur vertieften Betrachtung angeboten. Durch ein Klicken auf eine Region (bspw. Tessin) erfolgt ein erster Zoom in ebendiese Region. Damit verbunden erfolgt die Darstellung der jeweiligen SBB Strecken in dieser Region. Klickt man auf eine gewünschte Strecke (bspw. Giubiasca - Lugano) erfolgt ein zweiter Zoom. Sichtbar werden die verschiedenen Streckenabschnitte, aus denen die jeweilige Strecke besteht. Die Sortierung erfolgt anhand der Anzahl Zugbelastungen. Durch ein erneutes Klicken auf den jeweiligen Streckenabschnitt, wird dieser alleine dargestellt - inkl. dessen Bezeichnung und Anzahl Belastungen pro Jahr.
Text- sowie Zahleninformationen sind ebenfalls immer via Mouseover verfügbar - dies ist unter anderem auch für den Fall hilfreich, indem die gewünschten Informationen aufgrund deren Länge in der Visualisierung nicht angezeigt werden können.

zum Seitenanfang


Visualisierung

Durch Selektion der gewünschten Checkbox wird definiert, für welches Datenset die Visualisierung gestartet werden soll. Durch Klicken auf die orange Navigationsleiste des Treemap-Diagramms kann man jederzeit auf eine überliegende Stufe zurückkehren.
Hinweis: Für eine optimale Darstellung der Visualisierung wird die Verwendung des Browsers von Google Chrome empfohlen.


Aussagen und Interpretation zu den Daten

Da unsere Daten unterschiedliche, voneinander unabhängige Strecken beinhalten, wird die Interpretation und Aussagen vor allem auf Stufe der einzelnen Strecken interessant. Für die verschiedenen Streckenabschnitte einer Strecke können mehrere interessante Aussagen gewonnen werden:

zum Seitenanfang


Vorgehen bei der App Erstellung

1. Datenanalyse und Auswahl Visualisierungsform
Anhand der erhaltenen Daten, suchten wir in den vorhandenen D3 Bibliotheken nach passenden Visualisierungsformen. Aufgrund der Datenstruktur entschieden wir uns für eine Treemap-Darstellung.

2. Datenbereinigung und Erstellung JSON Formate
Aus dem rund 5'000 Zeilen langen CSV-File entfernten wir alle Daten, die nicht in der Visualisierung erscheinen sollten. Im Gegenzug schufen wir mit der Unterteilung der Daten in die Regionen Deutschschweiz, Westschweiz und Tessin eine zusätzliche Strukturierungsebene, die in den Originaldaten so nicht vorhanden war. Diese Zwischenebene definierten wir, damit die Visualisierung in der Folge übersichtlicher wurde. Zur Bereinigung der Daten verwendeten wie v.a. das Tabellenkalkulationsprogramm von LibreOffice. Nachdem alle unerwünschten Zeilen und Spalten entfernt resp. die gewünschten hinzugefügt waren, wurden die vier JSON Files generiert: Güterverkehr 2013, Güterverkehr 2014, Personenverkehr 2013, Personenverkehr 2014. Diese Datensets sollten in der späteren Visualisierung zur Auswahl stehen.

3. Verbindung Daten mit Diagramm
Als nächster Schritt wurden die Daten mit der selektierten Treemap Visualisierungsform verbunden. Hierbei wurde der Code soweit verändert, dass die vier verschiedenen JSON Files mittels Auswahl von interaktiven On Click Checkboxen eingelesen werden.

4. Individualisierung Diagramm-Template
In der Folge wurde das Treemap-Template noch weiter für die SBB Daten individualisiert. Unter anderem wurden zusätzliche Zoom-Stufen eingebaut, CSS- Informationen extern referenziert, Änderungen an CSS-Style Elementen vorgenommen sowie an der Responsiveness gearbeitet. Mit grösseren Änderungen am Code des D3-Templates, konnte mit Hilfe von jQuery schlussendlich erreicht werden, dass sich unsere Visualisierung an die jeweilige Desktopgrösse anpasst und somit die Anforderung der Responsiveness erfüllt.

5. Erstellung Website für Visualisierung
Um weitergehende Informationen zur Visualisierung (u.a. Anwendungshilfestellung, Vorgehen, Tipps für die eigene Verwendung, kritische Reflexion) zu geben, wurde zusätzlich zur Visualisierung noch eine Website aufbereitet. Wichtig war dabei, dass auch diese responsive sein sollte.

zum Seitenanfang


Wie kann ich eigene Daten einspeisen?

In der einfachsten Variante, um unsere Treemap-Visualisierung für eigene Illustrationen zu verwenden, müssen lediglich die neuen Daten in die richtige Form und das richtige Dateiformat gebracht werden.
Hierzu erstellen Sie am besten eine CSV Datei und legen darin die Spalten region, subregion, key und value an. In der vorliegenden Visualisierung waren deren Zuordnung wie folgt:

Nachdem die Daten in die CSV Datei übertragen wurden, kann im Web eine JSON Datei generiert werden, beispielsweise mithilfe der Website www.convertcsv.com. Die erstellten JSON Dateien können dann bequem in den kopierten Quellcode der vorliegenden Visualisierung integriert werden. Um die richtigen Codezeilen für deren Einbindung zu finden, bietet sich die Suchfunktion des jeweiligen Editors an. Mittels des Suchworts ".json" findet man die richtigen Stellen, an denen die Daten in die Visualisierung eingelesen werden können.

Nach wenigen Minuten sind somit die eigenen Daten visualisiert. Ein Hoch auf die Digitale Nachhaltigkeit!

zum Seitenanfang


Kritische Reflexion

Die erstellte Visualisierung basiert auf einer subjektiven Vorgehensweise und könnte mit erweiterten Programmierkenntnissen sicherlich auch noch ausgebaut werden. Daher werden in der Folge einige mögliche Aspekte für eine eventuelle Weiterentwicklung der Visualisierung aufgelistet sowie das gewählte Vorgehen kritisch reflektiert:

zum Seitenanfang


Datenquellen und Lizenzinformationen

Um die vorliegende Visualisierung realisieren zu können, wurden diverse Daten sowie Code Snippets aus unterschiedlichen Quellen verwendet. Daher nachfolgend eine Übersicht zur Art der Daten, der jeweiligen Quelle sowie dazugehörigen Lizenzinformation.

Inhalt Quelle Lizenzinformation
Zugbild SBB Media Center Namensnennung
Daten zu SBB Streckenbelastungen Datenportal SBB Namensnennung
Basis D3.JS Visualisierung Bl.ocks.org Keine Lizenzangabe
Inspiration für Design freietemplates.de CC BY 3.0 DE (Namensnennung)

zum Seitenanfang


App Ersteller

Dominik von Fischer (dominik.vonfischer@students.unibe.ch) und Christoph Gauch (christoph.gauch@students.unibe.ch) absolvieren beide ihren Masterstudiengang in Betriebswirtschaftslehre berufsbegleitend an der Universität Bern. Als Vertiefung haben sie die Disziplin Wirtschaftsinformatik gewählt. Beide Studierenden wiesen zu Beginn des Projekts keine Programmiererfahrungen im Bereich von Javascript, D3.JS Visualisierungen, jQuery etc. auf und eigneten sich diese erst im Verlaufe des Frühjahrsemesters 2016 an. Dabei halfen die Einführungskurse von zeilenwerk.ch, die Open Data Vorlesungsstunden von Dr. Matthias Stürmer, die überaus kompetente Unterstützung von den IWI-Hilfsassistenten Janik Endtner und Oscar Meier sowie zahlreiche Foren und Tutorials im Netz.

zum Seitenanfang


Sie möchten mit uns in Kontakt treten?

Zögern Sie nicht und schreiben Sie uns eine E-Mail mit ihren Fragen, Anregungen oder Rückmeldungen. Wir werden uns rasch möglichst mit Ihnen in Kontakt setzen.

zum Seitenanfang