Schlagwort-Archiv: ddj

Datenjournalismus: Screenshot des Visualisierung der Einbrüche in Unterfranken

Einbrüche in Unterfranken – ein Datenjournalismus-Projekt

Seit Anfang des Jahres 2014 erfasst die Online-Redaktion der Main-Post Einbrüche bzw. -versuche in Unterfranken. Dabei wird versucht, folgende Aspekte aufzuzeigen: Gibt es Brennpunkt bei den Einbrüchen und zu welchen Uhrzeiten schlagen die Diebe besonders gerne zu? Die Recherche der Einbrüche erwies sich als schwierig.   Zum Hintergrund und den Schwierigkeiten des Datenjournalismus-Projekts habe ich einen Blogbeitrag geschrieben.

Facebook Regierungsanfragen Header

Anfragen an Facebook im Verhältnis zur Einwohnerzahl

Meine Kollegin Angelika hat mich mit ihrem Tweet darauf  gebracht:

Facebook hat also Daten veröffentlicht, in der das Unternehmen die Anzahl von Kontoanfragen von Seiten der Regierungen aufzeigt. Eine naheliegende Vermutung wäre, dass bevölkerungsreiche Länder mehr Anfragen stellen — da es mehr Einwohner gibt, über die man Informationen haben könnte — und bevölkerungsarme Länder weniger.

Also habe ich die Zahl der Anfragen ins Verhältnis zu den Einwohnerzahlen der Länder gesetzt (Google Tabelle mit den Daten). Das Ergebnis hat ich dann durch den Datawrapper gejagt und einfach als Balkendiagramm anzeigen lassen.

Und das Ergebnis: Die Einwohnerzahl spielt nur eine kleine Rolle bei der Frage, ob in einem Land viel oder wenig Regierungsanfragen an Facebook gestellt werden. Absoluter Spitzenreiter ist das kleine Malta mit gut 410 000 Einwohnern und dabei 97 Anfragen im ersten Halbjahr 2013 gestellt haben. Damit käme Malta auf 214 Anfragen pro (rechnerische) Millionen Einwohner, Deutschland zum Beispiel auf 23 Anfragen pro Millionen.

Dirk hat bei Google+ noch angeregt, auch die Zahl der Facebook-Nutzer pro Land einzubeziehen. Das habe ich jetzt auch noch gemacht. Quelle für die Nutzerzahlen war die Statistik vom Juni 2013 bei allfacebook.com, außer die Elfenbeinküste, deren Zahl ich von Facebook habe.

Nach Sekunden brennen die Augen: Ein Konferenzraum voll mit leuchtenden Google-Symbolen

Datenjournalismus und die bunte Google-Welt in Hamburg

Datenjournalismus — zumindest in Deutschland eine relativ neue Form des Journalismus und auf jeden Fall immer gefragter. Mit Daten Geschichten erzählen, ist eine Kunst für sich. Man muss sich oft durch trockene Zahlenwüsten kämpfen, muss Computerprogramme schreiben, um an die Daten zu kommen und sie in eine brauchbare Form zu biegen. Die Daten müssen journalistisch überprüft werden, der Datenjournalist sollte sich mit Datenformaten auskennen und im Idealfall sie auch noch ästhetisch und benutzbar visualisieren können. Ein unter Umständen komplexer, aber unter Umständen sehr interessanter Beruf.

Um unser Wissen in Sachen Datenjournalismus zu verbessern, waren mein Kollege von der Main-Post und ich  in der letzten Woche an der Akademie für Publizistik in Hamburg beim Seminar “Datenjournalismus II”. Dozenten waren Michael Kreil und Lorenz Matzat, beide von OpenDataCity und beide Mitgewinner des Grimme Online Awards 2011 für ihre datenjournalistische Arbeit zur Vorratsdatenspeicherung für Zeit Online anhand der Handy-Positionsdaten des Grünen-Politikers Malte Spitz. Die Jungs wissen also wirklich, was sie tun! 🙂

Zwei Tage lang durften wir im Seminar an einem konkreten Fallbeispiel arbeiten. Wir wollten die Messdaten der Pegel aller Flüsse in Deutschland automatisch auslesen und diese auf einer Karte visualisieren. Dazu gab es Übungen zur Datenrecherche,  im Säubern von Daten mit Excel bzw. LibreOffice oder im Texteditor per regulären Ausdrücken, Einführung in das ScraperWiki und ich habe zum ersten Mal etwas von den sehr lästigen Gauß-Krüger-Koordinaten gehört, mit denen die Pegel auf der Originalkarte leider geocodiert wurden.

Ich muss leider gestehen, dass ich — mit zehn Jahren Webentwicklung und -design auf dem Buckel — nicht sonderlich gefordert wurde. Am meisten noch mit der Tastaturbelegung am MacBook! 😉

Überhaupt habe ich die Dozenten nicht beneidet. Die Vorkenntnisse der Teilnehmer waren sehr unterschiedlich und die Erwartungen recht verschieden, die alle unter einen Hut zu bekommen war nicht einfach. Der Teil der Entwicklung der Visualisierung der Daten — ein Punkt, der mich sehr interessiert hätte — wurde leider nur kurz und nebenbei behandelt, Michael Kreil programmierte sehr schnell den Prototypen einer Anwendung mit Leaflet.

Ulrike Koeppen, eine Kollegin vom BR, hat mit mir am Seminar teilgenommen und ein kleines Storify aufgesetzt.

Datenjournalismus-Treffen und die Innenarchitektur Googles

Schön war es auch Abseits des Seminars. Am Montagabend fand ein Datenjournalismus-Treffen in Hamburg statt — in den Räumen von Google.

Schon das Treffen war interessant, coole Anwendungen wurden gezeigt, die Links stehen im Etherpad der Veranstaltung. Aber wenn man schon mal bei Google im Haus ist, darf eine Führung durch die Firmenräume nicht fehlen. Denn in Hinsicht auf die Inneneinrichtung ist ein Blick in die Büroräume schon ein Erlebnis.

Pressesprecher Stefan Keuchel von Google Deutschland wurde nicht müde zu erwähnen, dass hier auch wirklich hart gearbeitet wird, eine Tatsache, die man bei der bunten und verspielten Einrichtung vieler Gänge und Räume schon mal vergessen kann. 🙂 Ich habe eine paar Schnappschüsse von der Führung gemacht, was auf den Fotos nicht zu sehen ist: dort gibt es auch viele Räume mit Großraumbüros, die einfach wie Großraumbüros aussehen. 😉

Visualisierung des laut.fm-Netzwerks mit Google Fusion Table

Netzwerke mit Google Fusion Tables

Das Netzwerk von Radio Würzblog
bei der alten laut.fm-Seite.

Die Webradio-Plattform laut.fm, die kleine Schwester der Musik-Website laut.de, arbeitet gerade an einem Relaunch, der schon als Beta-Version zu sehen ist. Eine Funktion, die, wie es im Moment aussieht, dem Umbau zum Opfer fallen wird, ist das sogenannte Netzwerk. Hier konnte ein Radiosender befreundete Radiostationen bei laut.fm eintragen – eine gute Möglichkeit, um den Hörer über den musikalischen Tellerrand lenken zu können.

Um Stand des Netzwerks auf den letzten Metern seiner Existenz zu dokumentieren, durfte wieder mal Google Fusion Tables herhalten.

An die kompletten Netzwerkdaten kam ich über die laut.fm-API. Über den Aufruf von http://api.laut.fm/stations kam ich an die Liste aller Stationen im JSON-Format. Für jeden Sender habe ich dann die jeweilige Netzwerk-Liste über die Network-API erhalten, z. B. http://api.laut.fm/station/wuerzblog/network. Die ganze Schleife lief in PHP und gab eine CSV-Datei aus, die ich dann in eine Google Fusion Table importierte. In der Spalte Station1 steht die Station, dessen Netzwerk-Daten ich aufgerufen hatte, in Station2 die jeweiligen Netzwerk-Sender. Ein Netzwerkpfeil geht also von Station1 zu Station2.

Die Tabelle mit den Netzwerk-Daten in Google Fusion Tables

Über den Punkt “Experiment” kann man diese Daten dann als Netzwerk darstellen lassen

Visualisierung des laut.fm-Netzwerks mit Google Fusion Table

Die interaktive Karte kann gezoomt werden, die einzelnen Punkte mit der Maus verschoben werden — das Netzwerk verschiebt sich über einen Gummiband-Effekt mit — und wohl aus Perfomancegründen kann die Anzahl der angezeigten Netzwerkpunkte verändert werden. Die Farben geben die Spalte an, in diesem Fall aber uninteressant, da jede Station sowohl in der ersten als auch in der zweiten Spalte auftauchen kann. Ich habe die Farboption eher aus optischen Gründen verwendet.

Und hier sieht man – welcher Sender mag welchen anderen Sender! 🙂


>> Die Netzwerk-Karte in einem eigenen Fenster

Laut.fm-Stationen in Deutschland-1

Knabberkarte: Laut.fm-Stationen in Deutschland

Ich habe ein wenig mit der API von laut.fm herumgespielt, der Webradio-Plattform, bei der ich auch selbst ein Radio laufen habe.

Über die API kann man allerhand Informationen über die Webradios und deren Programm auslesen. Leider bisher nur auslesen, eine Möglichkeit die API schreibend zu nutzen und damit von außen z. B. das Sendeprogramm zu ändern, gibt es noch nicht.

Die API spuckt als Daten im JSON-Format aus. Praktischerweise liest Google Refine JSON-Daten ein — und damit steht einem ein großer Spielplatz zur Verfügung! 🙂

Als einfachen Testlauf wollte ich eine Karte erstellen, auf denen die Standorte der Webradios von laut.fm zu sehen sind. Die Radiomacher haben im Backend von laut.fm die Möglichkeit die Stadt aus der sie Senden anzugeben. Daraus wird ein Datensatz mit der Längen- und Breitenangabe der Stadt angelegt, den man auch über die API auslesen kann.

Dummerweise gibt es in manchen Städten mehrere Radios. Und da mein keine Straße in den laut.fm-Einstellungen angeben kann oder freie Koordinaten, landen alle Radios in der Stand am selben Punkt. Es entsteht also ein Stapel aus Markierungen auf der Karte, von denen aber nur die oberste Sichtbar ist. Was tun?

Die einzige Möglichkeit ist, die Koordinaten der einzelnen Webradios ein klein wenig zu verändern — Google Refine Basic zeigt, wie das geht. Leider sitzen durch diese Transformation der Koordinaten die Punkte auf der Karte auf einer Line — was recht unschön aussieht und bei großen Städte wie Berlin einen “Strich aus Webradios” durch die Landschaft zieht. Eine natürlicher wirkende Verteilung wäre schöner.

Ein Lösungsansatz — noch nicht perfekt — ist folgender:

In der Spalte mit der Längenangabe “Edit cells – Transform …” anwählen. Dann diesen GREL-Code verwenden:

value+(toNumber(row.index - row.record.fromRowIndex) *
toNumber(sin(length(cells["name"].value))) * 0.004)

Die erste Zeile ist analog zu der oben genannten linearen Methode. In der zweiten Zeile wird als Faktor ein “zufallsähnlicher Wert” gebildet. Über die Länge des Wortes in der Spalte “name” wird der Sinuswert berechnet — da sind wir schon nah am Zufall dran. Und dieser Wert wird mit 0.004 multipliziert. Dieser Wert ist noch der Knackpunkt — er bestimmt letztlich, wie nahe die Punkte auf der Karte beieinander liegen sollen. Und das hängt davon ab, ab welchem Zoomfaktor dir Punkte optisch unterscheidbar sein sollen. Und auch davon, wie groß die Stadt ist. In Berlin passen viel mehr Punkte mit größeren Abständen als nach Altötting. Hier muss man einfach Werte ausprobieren.

Dann exportiert man die Karte von Google Refine nach Google Fusion Table, gibt den beiden Koordinatenspalten den Typ “location” und lässt sich schon die Karte visualisieren! 🙂


Link zur Google Fusion Table der Karte