Kunst, Design, Dienstag 22 September 2009 09:04
Ich liebe ja Visualisierungen von Infrastrukturen, denn normalerweise wird erst dann jedem klar wie wichtig sie sind, wenn sie ausfallen. Ein schönes Beispiel dafür ist “Taxis in London” der BBC.
Sowas will ich auch für Wien haben!
Darum fing ich an nach Daten zu suchen und wurde bei den Wiener Linien fündig. Auf dieser Seite (bzw. auf der Barrierefreien Version) kann man sich anzeigen lassen, wann der nächste Bus, die nächste Straßenbahn kommt.
Das ist schon mal ganz brauchbar, nur musste ich erst einmal herausfinden wie viele Haltestellen darüber abgebildet werden. Ein kleines Perl-Skript gab mir, nach rund 20.000 Seiten-abrufen
, die Antwort.
Das nächste Problem war, dass immer nur die Daten für die nächsten zwei Stunden angezeigt werden. Auch hier half ein Perl-Skript das stündlich alle gefundenen Stationen abfragte und so, über einen Zeitraum von mehreren Tagen, alle Daten sammelte.
Da die Uhrzeitangabe nicht unbedingt immer dem Fahrplan entspricht sondern ja auch Realtime-Daten enthält, musste ich noch einen Filter einbauen der Abfahrten an einer Haltestelle die zu nah zusammen liegen bereinigt.
Das Resultat ist eine Datenbank mit 1048 Haltestelle die von 44 Buslinien, 29 Straßenbahnlinien und 18 Nightline-Busse innerhalb von 24 Stunden 510.026 Mal angefahren werden!
Leider bietet die Webseite der Wiener Linien keine Informationen über U-Bahnen und Busse die auf “B” enden an, eigentlich eigenartig, weiß jemand wieso?
Nach einer Geocodierung der Haltestellen und ein paar Korrekturen konnte ich das ganze auch schon visualisieren, hier das Ergebnis, “24 Stunden Wiener Linien“, am besten in “HD” und Fullscreen ansehen:
Die Balken links oben zeigen wie viele Busse und Straßenbahnen zu der angezeigten Uhrzeit Stationen anfahren.
So stehen jeden Tag um 18:00 Uhr 242 Busse und 266 Straßenbahnen in Haltestellen!
Wobei ich Systembedingt nicht nachrechnen kann wie viele Busse oder Straßenbahnen zu dem Zeitpunkt sich gerade zwischen zwei Stationen befinden.
Interessant ist auch die Zeit so um 1:30 in der Nacht wenn alle Straßenbahnen und Busse in die Remisen fahren.
Ich denke man bekommt ein Gefühl dafür wie wichtig und logistisch aufwendig der öffentliche Nahverkehr ist und das dieser ruhig etwas kosten darf!
Auch finde ich das solche Daten über APIs zugänglich sein sollten, wer weiß was da noch alles entstehen könnte!
EDIT: Da es schon einige Anfragen gab: Wer mit den Daten selber herumexperimentieren will kann sich einen MySQL-Dump runterladen, freue mich auf andere Visualisierungen!
RSS Feed

[...] This post was mentioned on Twitter by Martin Leyrer and Bernhard Natschläger. Bernhard Natschläger said: RT @karli: Neuer Blogbeitrag: Visualisiert: 24 Stunden Wiener Linien http://bit.ly/25WkLe [...]
hm, ob du wohl die DB zum download hergeben darfst?
@oberhamsi gerne, soll ich dir einen mysql-dump an die von dir angegebene andresse mailen?
@oberhamsi hab den Dump jetzt direkt im Artikel verlinkt.
grandios!
Wie hast Du aus den Daten dann das Video erstellt? Hast Du dafür auch ein kleines Programm?
Ich finde die Darstellung echt klasse…
@Renée mit Perl und ImageMagick die Bilder gerendert und dann mit Sony Vegas zusammengebaut.
Ich hab mal nachgefragt bei den Wiener Linien ob es geplant ist, U-Bahnen ins System aufzunehmen, da hieß es (Stand Eröffnung von itip): “Ja ist geplant, einen Umsetzungstermin können wir noch nicht nennen”
Danke für die Realisation Max, diese Idee hatte ich auch schon lange, mangels Realisationsmöglichkeiten hab ich es allerdings nie umgesetzt.
Werde mir auf jeden Fall die Datenbank holen und mal schauen was man aus den Daten machen könnte.
@Markus es gibt eigentlich auch die daten ob barriefreie straßenbahn oder nicht, die habe ich jetzt nicht erfasst, könnte ich aber noch falls bedarf.
Es gibt auch die Daten ob es ein barrierefreier Bus ist, oder nicht. in der jetzigen Anzeige allerdings nicht sehr hilfreich, da alle Busse eine Rampe haben. Mit den Straßenbahndaten werde ich mich allerdings spielen.
Auf eine API fürchte ich, wird man lange warten können, die Wiener Linien geben Daten nur ungerne heraus.
Noch eine Frage: Wieviele Seitenaufrufe haben deine Scripts generiert, und hattest du nie time-outs oder wurdest geblockt?
Schaut sehr lässig aus. Vor allem die Nacht, mit den nightlines, aber das liegt wohl an meiner Präferenz der Farbe Grün:) (und nein, das war kein politisches statement):
@Markus kein Timeout, keine Blockierung.
hi max,
super projekt!
hat’ sich eigentlich bei jemals wer aufgeregt, dass du dir per bot die daten holst? ich hab’ immer zuviel skrupel sowas zu machen. in österreich gibt es irgendwie keine api-kultur, dabei gäbe es ja nette daten – zb.: falter-daten, asfing, sportklub spielergebnisse usw.
reicht es in österreich die robots.txt auszulesen und wenn kein “denied” vorkommt kann mensch grappen?
wäre schön wenn man in ö mehr solcher projekte sieht und auch die reaktionen vom datenhalter (hier VOR) blogt!
liebe grüsse
heimo
@heimo hier gabs keine probleme.
es wäre schön wenn noch mehr leute sich daten “holen”, viel ist vorhanden, muss nur “abgeholt” werden.
Die B-Linien werden von anderen Unternehmen (z.B. Dr. Richard) betrieben, dort kann man sich auch die Fahrpläne dafür besorgen.
Die A-Linien werden entweder von den Wiener Linien selbst oder aber von anderen Unternehmen im Auftrag der Wiener Linien befahren. Man erkennt das an einem Schild “Im Auftrag der Wiener Linien” im Bus.
Die Haltestellenschilder und Fahrpläne kommen bei A-Linien von den Wiener Linien und bei B-Linien von dem anderen Unternehmen (und sind dann gelb-grün).
@Dan danke, das mit den B-Linien dachte ich mir schon, werde mal die Dr. Richard Webseite absurfen
Aber U-Bahnen ist immer noch eigenartig
@max thanks, sehr cool
@Max: Die Fahrplandaten für alles vom ICE bis zum Astax kannst du von der ÖBB online-Fahrplanauskunft bekommen-bis zu 50 Abfahrten per Abfrage.
PS: U-Bahnen, B-Busse, Regionalbusse, Schnellbahn natürlich inklusive
@Dan werde ich mir mal anschauen ob brauchbar, danke!
[...] Busse und Strassenbahnlinien von Wien ermittelt hatte (Details zur technischen Umsetzung findet man in seinem Artikel). Immerhin entstand so eine Datenbank mit 1048 Haltestellen die von 44 Buslinien, 29 [...]
Super Visualisierung – finds immer wieder spannend, was du so produzierst
nette visualisierung! gibt einen guten plastischen eindruck der oeffi versorgungsdichte!
siehe auch:
MBTA in Motion http://www.youtube.com/watch?v=0tuzjxEBto4
Trainlogic http://www.trainlogic.net/sim_mbta.htm
aja, und ad Wiener Linien: die sollten ihren fahrplan als GTFS rausruecken, dann werden ihre seiten nicht gescraped.
gutes beispiel hier in Mass: http://www.eot.state.ma.us/developers/
behoerde arbeitet mit der developer community um zugang zu oeffentlichen verkehrsdaten zu erleichtern.
toll, toll, toll! am schönsten ist es, wenn sie sich zu großen punkten zusammenballen, bevor sie in ihrem bau verschwinden.
Schaut euch mal an, was da in Penzing um 5:30 morgens passiert! BOOOM
@Christian: Nachdem Google Maps die Fahrplandaten hat müsste es eigentlich eh einen GTFS geben. Vielleicht braucht man nur die ÖBB fragen?
@Dan
Eben!
Warum gibt der VOR (eine Landesorganisation) seine Daten als GTFS an Google weiter, aber nicht an Max, der ueber Steuern und Fahrscheine den VOR mitfinanziert?
@Christian: Wer weiß, vielleicht braucht man nur fragen? Abgesehen davon-Google bekommt die Daten von den ÖBB und nicht vom VOR.
PS: U-Babnen, B-Busse, Regionalbusse, Schnellbahn natü5lich inllusive;
Hochinteressant und wirklich nett, wenns jetzt noch eine zoombare Flash-Animation wäre, wärs perfekt.
#unbescheiden
Übrigens gibts diese Information unter dem Titel “Echtzeitanzeige” auch im VOR: http://www03.vor.at/vorrbl/XSLT_DM_REQUEST?language=de&itdLPxx_locationServerActive=
Wobei zu überprüfen wäre, ob die Zeiten dort genauso Echtzeit sind wie die im I-Tip.
Und auf http://www.qando.at gibts einen Handy-Java-Client, der auch eine “Echtzeitanzeige” beherrscht, ich nehme an, dass der die Daten ebenfalls vom VOR bekommt, aber wahrscheinlich in einem besser weiterverarbeitbaren Format.
Viel Erfolg weiterhin beim Scrapen…
@Dan
Um 5:30 fahren alle Nachtautobusse in die Remise. Das sieht man um ca 1 Uhr Nachts bei den Straßenbahnen an mehreren Stellen auch.
@Roland danke für die VOR-Idee, wäre schon sowas für wien umgebung zu machen, mal sehen ob ich alle stationen bekomme
@max Das Non-Plus-Ultra wäre (ich spinntisier mal vor mich hin):
Die Daten per Linie aufbereiten und zwischen den Stationen interpolieren, das in einer zoombaren Flash-App anzeigen, in der man die Linien filtern kann: nur eine, nur U-Bahn/Straßenbahn/Bus.
Mit den VOR-Daten wäre das auch dann interessant, wenn es sich nicht um Realtime-Daten, sondern nur um statische Fahrplan-Daten handelt.
Wo hast du die Haltestellen-Geo-Daten her? Aus Google-Maps?
@Roland Geodaten sind mit der Google-API ermittelt, ist wirklich interessant, einfach nur “Haltestelle” vor den Stationnamen geben und Google findet (fast) alle Stationen (ein paar Ausnahmen, bei einer STation behauptet Google beinhart das sie in “2700 Wien” ist
)..
Interpolieren ist ok, nur leider findest du dann die Strassenkurven nicht
Wenn dann müsste man z.b. die Daten hier aus Openstreetmap nehmen.
SIehe auch diese Karte (nach Wien zoomem).
@max: Interpolation wäre schön
Ich glaube, bei den meisten Tram- und Buslinien würde es nicht stören, einfach zwischen den Haltestellen linear zu interpolieren.
@Dan wie schon gesagt, dass problem ist das ich keinen Bezug habe welcher Bus z.B. wann wo unterwegs ist, ich habe ja nur die Stationen als Basis und die kennen ihre Nachbarn nicht, dass macht interpolieren recht schwierig. Mit den Openstreetmap-Daten weiss man dann wie die Strecke aussieht, dass wäre dann natürlich viel einfacher.
@max Hmm du hast doch alle Daten, musst sie nur richtig anordnen:
12:32 – Linie XY – Station A -> (x1,y1)
12:39 – Linie XY – Station B -> (x2,y2)
daraus folgt 12:33 bis 12:38 – Linie XY – lineare Interpolation zwischen Stationen A und B.
@Roland Jein, dazu muss ich der Datenbank erst beibringen was die Reihenfolge ist und ich gehe glaube nicht das es so einfach ist nur aufgrund der haltestellendaten einen zug verfolgen zu können, stichwort einzugfahrten, etc.
ich denke man müsste die datenbank neu mit den fahrplänen (wenn die irgendwo anders als nur als PDF verfügbar wären) aufbauen, dann könnte man wirklich pro Straßenbahn/Bus dass zeichnen.
OK, ich kenn deine derzeitige Datenstruktur nicht, wenn da keine Linien-Information mehr drinnen ist, wirds schwierig. Ich bin jetzt von den im VOR verfügbaren Daten ausgegangen. Letztlich bekommt man genau so eine Liste mit den drei Elementen Zeit, Linie und Haltestelle heraus, wobei man dann die Haltestelle separat in (x,y)-Koordinaten umsetzen muss. Die nächste Haltestelle ergitb sich einfach aus dem nächsten Zeitstempel für diese Linie.
Das einzige Problem ist, wenn die Zeitstempel wie bei der U-Bahn zu eng zusammen liegen, dann kann es zur falschen Zuordnung kommen, nämlich dass man den Nachfolgezug in der vorigen Station erwischt (ähnliches Phänomen wie die Räder, die sich im Film rückwärts zu drehen scheinen…
).
Vielleicht wirds einfacher, wenn man zuerst die Strecken der einzelnen Linien zu verkehrsarmen Zeiten herausfiltert.
Schön langsam reizt es mich, selber mal den Emacs anzuwerfen und ‘use Web::Scraper’ zu tippen…
Sehr nett
Am besten gefällt mir das Nachschattieren, wenn es Abend bzw. Morgen wird…
Übrigens, aus dem Handy-Client auf http://www.qando.at bekommt man viele nützliche Informationen heraus, zB für Wien Listen aller Haltestellen pro Linie in der richtigen Reihenfolge…
Werft mal einen Blick auf die Balken links oben: zur vollen Stunde steigt die Zahl der Abfahrten stark an, geht dann aber wenige Minuten später wieder stark zurück. Wieso? Es kann ja nicht so viele Linien geben, die nur einmal pro Stunde fahren und einigermaßen kurz sind. Sieht man da, wie die Busse ausgewechselt werden?
@Dan das ist vor allem um 17:00, 18:00 und 19:00 so, ich denke das ist ein reagieren auf die “klassichen” Firmenschlusszeiten?
Da sieht man eindeutig, dass auch in der Nacht mehr Bedarf an Öffis gegeben wäre. (denn ich denk, die Taxis fahren in Wien genauso öfters in der Nacht als unter Tags).
Am meisten würden sicherlich U-Bahnen nützen, wenn sie länger als bis um halb 1 fahren würden. (z.B. bis 2)
@adi da bin ich mir nicht sicher, wenn dann alle öffis bis 2 in der früh. aber wichtiger wäre, so finde ich, den nachtbus-takt zu erhöhen bzw den nachtbus ausbauen, erreicht mehr gebiete als die ubahn und ist sicherlich billiger.
Super Sache Max!
Interessant fände ich eine Visualisierung von barrierefreien Straßenbahnen und den alten Straßenbahnen und wie groß die Löcher im Intervall da sind. Das grenze nämlich bei manchen Linien an Unbenützbarkeit.
Ohne deine Leistung schmälern zu wohllen- ich find ich es für Österreich schon ziemlich schwach, dass es nicht mehr von solchen visualisierungsideen gibt und deines zu einem der meist diskutierten Beispielen wird. #Selbstkritik #machdochmalwasselbst!!! #danke
liebe Grüsse
Heimo
24 Stunden Wienerlinien…
Wer schon immer mal wissen wollte, wie denn die Wiener Öffis verkehren, dem sei dieser Eintrag von Max (wissenbelastet) ans Herz gelegt.
Wie das ganze technisch funktioniert ist am besten bei Max selbst nachzulesen – doch was ist das Ergebnis?
Da…
[...] Visualisiert: 24 Stunden Wiener Linien [...]