interbus

Philip Dombrowski, Markus Frindt, Josua Geiger, Nicole Mrasek & Lisa Rudolf

interbus

Reisen zwischen Herkunft und Heimat

Abstract

Das Ziel unseres Projekts war es, zu untersuchen ob es einen Zusammenhang zwischen den Herkunftsländern der Mannheimer Bevölkerung mit Migrationshintergrund und den angebotenen Fernbusverbindungen gibt und die gewonnenen Erkenntnisse zu visualisieren. Als Grundlage dieser Visualisierung wurden von uns über einen Monat die Daten aller Fernbusverbindungen, die aus Mannheim starten aufgezeichnet. Wir haben uns dazu entschieden, die vier häufigsten Herkunftsländer der Mannheimer Bevölkerung gesondert zu betrachten. Die Hauptkriterien der von uns gewählten Städte waren neben der Einwohnerzahl auch die Bedeutung als Urlaubsort und die Rolle als Verkehrsknotenpunkt in der jeweiligen Region. Insgesamt belief sich die Auswahl schlussendlich auf 133 Städte in 31 Ländern in die 6160 angebotene Fahrten erfasst wurden.

Einführung / Konzept

Durch die zentrale Lage Mannheims innerhalb Europas und eine gute Anbindung an das Fernverkehrsnetz, eignet sich die Stadt besonders gut als Ausgangspunkt für Reisen mit dem Fernbus, was sich in einem breiten Angebot an Fahrten äußert. Gleichzeitig ist Mannheim bekannt für seine Stellung als Migrationshotspot in Südwestdeutschland und die Diversität seiner Einwohner.

Aus diesem Grund haben wir uns die Frage gestellt: Könntet es einen Zusammenhang zwischen den angebotenen Fernbusverbindungen und der Herkunft der Mannheimer Bürger geben? Werden wirklich häufiger Verbindungen in Länder angeboten, die für potentielle Heimatbesuche prädestiniert sind? Oder spielen solche lokalen Faktoren bei der Planung des Fahrtenangebotes vielleicht gar keine Rolle?

Diese Fragestellungen haben wir versucht mit Hilfe der tatsächlich angebotenen Fernbusverbindungen zu untersuchen und die daraus entstandenen Ergebnisse zu visualisieren.

Daten

Quellen

Als einzige Datenquelle haben wir die Meta-Suche für Busverbindungen CheckMyBus genutzt. Leider bietet CheckMyBus keine offizielle Schnittstelle an, weshalb wir uns eine eigene Alternative zur Datenerhebung schaffen mussten.

Erhebung

Um trotz fehlender Schnittstelle die Daten zu erhalten, haben wir einen NodeJS Crawler implementiert, der die gewünschten Daten automatisiert von der CheckMyBus Homepage abfragt. Bevor jedoch die Daten erhoben werden konnten, mussten Zielstation innerhalb Europas festgelegt werden. Unsere Auswahl fiel auf 133 Ziele, wobei wir auf eine gleichmäßige Verteilung innerhalb Europas geachtet haben. Zusätzlich zu den Koordinaten eines einzelnen Ziels, haben wir noch weitere Informationen zu jedem Ziel hinzugefügt, die für die spätere Visualisierung notwendig waren.

Hier ein Beispiel für das Datenschema eines einzelnen Ziels, das für den Aufbau einer Anfrage an CheckMyBus genutzt wurde:

javascript { "NameTo":"Prag, Tschechische Republik", "LatitudeTo":50.0755381, "LongitudeTo":14.43780049999998, "CountryCode":"CZE", "DistanceRoute":517, "IsCapitalCity":true, "Population":1247000 } Die Zeitspanne, in der wir die Daten erhoben haben, lief vom 16.12.2016 – 13.01.2017. Wir wählten diesen Zeitraum aus, da wir uns bei diesem sicher sein konnten, dass alle relevanten Verbindungen bereits verfügbar waren und wir keine Fehlinformationen durch unvollständige Daten erhalten. Die Datenerhebung dauert ca. 4 Stunden, da wir aufgrund der sogenannten Netiquette nach jeder Anfrage einer Verbindung an CheckMyBus eine Pause von 3 Sekunden eingebaut haben. Das Ergebnis der Datenerhebung war eine 3MB große JSON-Datei mit allen Verbindungen zu den gewählten Zielen innerhalb des Zeitraums von knapp einem Monat. Das Ergebnis belief sich auf weit mehr als 7000 Einträge, wovon jeder Einzelne nach dem untenstehenden Schema aufgebaut war. Mit dieser Basis wurde dann weiter gearbeitet.

javascript { "originCityName":"Mannheim", "originStationName":"Mannheim ZOB Hbf", "destinationCityName":"Prag", "destinationStationLatitude":50.083637, "destinationStationLongitude":14.434639, "destinationStationName":"Prag Hbf", "companyName":"FlixBus", "arrival":"21:35", "durationInMinutes":1395, "departureDateTime":"2016-12-15T22:20:00", "distanceBeeline":433, "distanceRoute":517, "isCapitalCity":true, "population":1247000 }

Bereinigung

Zur ersten Explorierung haben wir die Daten mit Tableau visualisiert. Dabei stellten wir fest, dass der minimal notwendige Suchradius um den Start- und Zielort von 5km, zu Problemen geführt hat. Das Ergebnis beinhaltete zusätzlich Stationen, die in einem Radius von 5km zum definierten Ziel liegen. Dadurch wurden einige Verbindungen doppelt gezählt, da sie als zwei unterschiedliche Verbindungen angezeigt wurden. Deshalb haben wir eine Funktion implementiert, die uns die erhaltenen Verbindungen bereinigt. Diese Bereinigungsfunktion entfernte alle Ergebnisse, die nicht mit unseren zuvor definierten Zielen übereinstimmten.

Aggregierung

Da wir bei der Visualisierung zusätzlich die Anzahl der Verbindungen zu einem bestimmten Ziel bzw. in ein bestimmtes Land zu definierten Zeitpunkten/Zeiträumen anzeigen wollten, implementierten wir eine NodeJS Funktion die uns die Daten aggregierte. Damit hatten wir die Daten nun in einem Format, das wir einfach und ohne zusätzlichen Aufwand für die Visualisierungen verwenden konnten.

Gestaltungsprozess

Nachdem wir uns für das Thema unseres Projekts entschieden hatten und die Verfügbarkeit von Datenmaterial gesichert war, haben wir versucht mit Hilfe von groben Skizzen eine Vorstellung davon zu bekommen, wie man die gewonnenen Informationen in eine visuelle Form bringen könnte. In mehreren Schritten entwickelten wir eine radarähnliche Darstellung, die einerseits die angebotenen Fahrtziele und die Anzahl der Verbindungen zu diesen Zielen visualisiert. Sie wurde zum Kern unseres Visualisierungsprojekts.

Da es für den Radar keine wiederverwendbaren Bibliotheken gab, haben wir ihn selbst mit P5js realisiert. Über mehrere Iterationsschritte haben wir diesen immer weiter angepasst und verfeinert.

Ergebnisse

Entstanden ist der Prototyp einer Website auf der es bereits möglich ist mit den Visualisierungen zu interagieren. Neben dem Streckenradar bietet die Seite zwei weitere interaktive Grafiken um dem Nutzer die Möglichkeit zu geben sich mit Zusatzinformationen zu versorgen. Die vier von uns vorab ausgewählten Nationen mit dem höchsten Anteil an den Mannheimer Migranten werden durch vier Farben, die sich durch das gesamte Projekt ziehen codiert.

Bevölkerungsübersicht

Interaktives Explorieren der Mannheimer Bevölkerung mit und ohne Migrationshintergrund

Als Basis für unsere weiteren Untersuchungen war es uns wichtig die Relevanz von Migration bezogen auf Mannheim zu verdeutlichen. Mit Hilfe eines gestapelten Donut Diagramms wird der Anteil von Menschen mit Migrationshintergrund an der Gesamteinwohnerzahl Mannheims dargestellt. Da wir uns dazu entschieden hatten vier Nationen gesondert zu betrachten sollte bereits an dieser Stelle ihr Stellenwert im Speziellen hervorgehoben werden, was durch einen zweiten Ring innerhalb des Diagramms umgesetzt wurde.

Streckenradar

Interaktives Explorieren der Verbindungsdaten anhand einer Visualisierung, die einem Radar ähnelt.

Die an ein Radar erinnernde Visualisierung stellt alle aufgezeichneten Fernbusverbindungen von einem Monat dar. Jede Linie steht für eine Route von Mannheim zu einer Stadt. Die Länge der Linien gibt die Entfernung zu Mannheim an und die Strichstärke die Anzahl der angebotenen Fahrten. Die Neigung, in der die Linien um das Zentrum angeordnet sind, entspricht dem Winkel, der von der Luftlinie zwischen beiden Städten beschrieben wird. Diese Darstellungsform nutzt einerseits geografische Daten, die dem Betrachter geläufig sind und ihm helfen, die dargestellten Informationen einzuordnen, aber abstrahiert diese soweit, dass sie auch ohne eine klassische Kartendarstellung verständlich sind. Die Richtung, gekoppelt an die Entfernung in der die jeweilige Stadt im Vergleich zu Mannheim zu finden ist sollte in den Fokus gestellt werden um eventuelle Häufungen an bestimmten Achsen auf den ersten Blick sichtbar zu machen. Durch die große Zahl der ausgewählten Städte kam es unweigerlich zu Ballungen an einigen Stellen, insbesondere in der näheren Umgebung zu Mannheim. Diese Schwierigkeit lösten wir mit einer Information-on-demand Option, bei der dem Nutzer nähere Informationen erst beim hovern über der ausgewählten Strecke angezeigt werden. Zusätzlich dazu gibt es die Möglichkeit Städte, die sich in einem festgelegten Entfernungsbereich befinden auszublenden und über ein Eingabefeld gezielt nach Städten, oder ganzen Ländern zu filtern.

Fahrtenverlauf

Interaktives Explorieren der aggregierten Verbindungsdaten für die vier gewählten Länder.

Um auch den zeitlichen Verlauf der angebotenen Fahrten darstellen zu können wählten wir ein gestapeltes Flächendiagramm, das die Anzahl der Fahrten pro Tag über einen Monat darstellt. Hierfür verwendeten wir erneut die vier Länder auf die wir uns fokussiert hatten. Hovert der Nutzer über einen Teilbereich des Diagramms wird ihm das genaue Datum, das ausgewählte Land und die genaue Anzahl der Verbindungen an diesem Tag angezeigt.

Gewonnene Erkenntnisse

  • Häufung an Fahrten vor und nach Feiertagen (Weihnachten, Neujahr und Heilige-Drei-Könige)
  • Aufgrund der zentralen Lage Mannheims ist die Aufteilung der angefahrenen Städte innerhalb Europas gleichmäßig.
  • Großstädte in naheliegenden Ländern sind hoch frequentiert, unabhängig von der Mannheimer Bevölkerung mit Migrationshintergrund

Sehr auffällig ist, dass die meisten Fahrten in einem Radius von 1050km verlaufen. Des Weiteren wird die intuitive Annahme bestätigt, dass sich eine Häufung an Fahrten vor und nach den Feiertagen (Weihnachten, Neujahr und Heilige-Drei-Könige) feststellen lässt.

Nicht feststellen konnten wir hingegen eine signifikante Häufung von Fahrten in Richtung der von uns hervorgehobenen Nationen. Obwohl wir zum Ziel hatten möglichst repräsentative Städte auszuwählen wäre das Ergebnis sicherlich noch aussagekräftiger gewesen, wenn wir wirklich alle Verbindungen hätten betrachten können.

Verwendete Tools

  • Diverse Texteditoren
  • D3: Pie-Chart, Streamgraph
  • p5.js: Radar
  • Bootstrap: Website
  • GitHub: Code Versionierung
  • Trello: Digitales Board für Arbeitspakete
  • talk.gg: Mündliche Abstimmungen

Aufgetretene Probleme während des Realisierung

  • Die Schnittstelle von CheckMyBus
    • steht nicht zur freien Verfügung (keine Dokumentation).
    • annotiert die Distanz mit Kilometern, obwohl der zurückgelieferte Wert den Meilen entspricht.
    • gibt die Distanz der Route nur als Luftlinie zurück.
    • war gelegentlich offline.
    • benötigt für jede Anfrage immer einen minimalen Suchradius, der zu unerwünschten Ergebnissen führt.
  • In die Türkei fährt kein einziger Bus, obwohl die Menschen mit türkischem Migrationshintergrund den größten Anteil an Bewohnern mit Migrationshintergrund ausmachen.

Fazit

Über unsere These, ob der Migrationshintergrund der Mannheimer Bevölkerung einen Einfluss auf die Fernbusverbindungen hat, lässt sich anhand der erfassten Daten zwar keine konkrete Aussage treffen, dennoch war das Projekt für uns ein voller Erfolg und wir konnten visualisieren, welche wichtige Rolle Mannheim innerhalb Europas bezüglich der Vernetzung darstellt.

Als Ausblick könnten wir uns vorstellen, das Radardiagramm zu erweitern. Durch eine Kooperation mit CheckMyBus wäre es möglich, die Fahrten aus Mannheim nicht nur für einen Monat darzustellen, sondern in Echtzeit oder über einen Zeitraum von mehreren Monaten / Jahren. Aus diesen Daten ließen sich mögliche Trends erkennen, die bisher aufgrund der kurzen Dauer der Datenerhebung nicht sichtbar wurden.