visualisiert. » Making-Of http://visualisiert.net Ein deutschsprachiges Blog über Visualisierungen und Infografiken. Endlich! Wed, 24 Dec 2014 04:24:50 +0000 de-DE hourly 1 http://wordpress.org/?v=4.1 Making-Of: Die Entwicklung des Parteiengesetzes http://visualisiert.net/article/making-of-parteiengesetz-vis/ http://visualisiert.net/article/making-of-parteiengesetz-vis/#comments Sun, 25 Nov 2012 12:04:12 +0000 http://visualisiert.net/?p=901 Letzte Woche habe ich eine Visualisierung der Entwicklung des Parteiengesetzes veröffentlicht. Zu sehen sind die verschiedenen Versionen des Gesetzes seit dessen Verabschiedung im Jahr 1967. Die Spalten repräsentieren je eine Fassung des Gesetzes und sind mit dem Jahr der Verabschiedung überschrieben. Jedes Rechteck stellt einen Gesetzesparagraphen dar, gruppiert zu Abschnitten.

Motivation

Auf dieses Thema aufmerksam geworden war ich während der Recherche zu den Parteispenden in Deutschland, bei der mich vor allem Änderungen der Grenze der Spender-Veröffentlichungspflicht interessiert hatten. Diese wurde etwa in einer Gesetzesänderung vom 1989 von 20.000 auf 40.000 DM angehoben.

In der Antragsbegründung, die dem von der CDU/CSU, SPD und FDP eingebrachten Gesetzesentwurf voran ging, wurde die Änderung der Veröffentlichungsgrenze für Parteispenden im Übrigen mit keinem Wort erwähnt. Stattdessen fand sich lediglich die Anweisung dass im entsprechenden Paragraphen der Betrag “20 000″ durch “40 000″ zu ersetzen sei.

Es gehört nicht viel Phantasie dazu, sich vorzustellen wie viele solcher, komplett aus dem Kontext gerissenen Änderungen vom Bundestag so beschlossen werden. Wer da beim Lesen der Anträge nicht in den bisherigen Gesetzen nachliest, weiß schlichtweg nicht worüber eigentlich abgestimmt wird. Dass solche Änderungsgesetze auch gerne im Paket verabschiedet werden, macht die Sache zusätzlich kompliziert.

Höchste Zeit also für einen benutzerfreundlichen und visualisierten Zugang zu unseren Gesetzestexten. Aufgrund der mangelhaften Datenlage musste ich mich dabei auf ein Gesetz reduzieren. Ich wollte wenigstens einmal zeigen, was möglich ist. So habe ich mich also an die Recherche gewagt.

Mühsame Datenrecherche

Um von der aktuellen Version eines Gesetzes (die man etwa auf juris.de oder inzwischen auch auf Github findet) zur ersten Fassung zu kommen bin ich wie folgt vorgegangen: In jeder Version eines Gesetzes steht vermerkt, wann selbiges zuletzt geändert wurde. So erfährt man zum Beispiel, dass die derzeitige Fassung vom PartG zuletzt am 23. August 2011 geändert wurde, und dass diese Änderung im Bundesgesetzblatt I auf Seite 1748 bekanntgegeben wurde (BGBl. I S. 1748).

Im Online-Archiv des Bundesanzeiger Verlags sucht man sich nun die entsprechende Ausgabe. Leider wird nur die Seitenzahl erwähnt, nicht aber die Nummer der Ausgabe. Da die Seiten pro Jahr fortlaufend nummeriert sind ist dies theoretisch auch nicht nötig; es würde aber die Suche nach dem Änderungsgesetz erleichtern. In diesem Fall wurde das Gesetz in der Ausgabe 48 geändert, die am 26. August 2011 erschienen ist.

Da das Bundesgesetzblatt leider nur im XAV-Format zum Download bereit steht, muss man die Dokumente zunächst ins PDF konvertieren. Möglich ist dies etwa mit dem Kommandozeilen-Tool convert der Bildbearbeitungs-Bibliothek ImageMagick:

convert -density 300 PartG-2011.xav PartG-2011.pdf

Zu Beginn jedes Änderungsgesetzes findet man die Referenz auf die jeweils vorherige Version, die man wiederum im Bundesgesetzblatt findet, ins PDF-Format umwandelt und so weiter. So landet man schließlich bei der ersten Fassung des Gesetzes und kann mit der eigentlichen Arbeit beginnen.

Von den Änderungsgesetzen zu Gesetz-Fassungen

Um die Änderungen in Gesetzen zu visualisieren benötigt man eine genaue Beschreibung der geänderten Stellen. Ich habe mich dazu entschlossen auf bereits vorhandene Techniken aus der Software-Entwicklung zurückzugreifen. So gibt es etwa diverse Werkzeuge, mit denen man zwei Versionen einer Textdatei visuell vergleichen kann (diff view).

Bei den Gesetzesveröffentlichung muss man zwischen zwei grundsätzlichen Arten unterscheiden. Zum einen gibt es die Erst- bzw. Neufassungen, bei denen der komplette Gesetzestext im Bundesgesetzblatt erscheint. Kleinere Änderungen werden in der Regel aber in sogenannten Änderungsgesetzen veröffentlicht.

Zur Speicherung musste zunächst ein geeignetes Datenformat her. Da es sich um Gesetzestexte handelt, lag nahe, auf das einfachste aller Formate zurückzugreifen: die Textdatei. Strukturierte Formate wie JSON oder XML hätten dagegen den Nachteil, dass man die Versionen nicht ohne weiteres miteinander vergleichen kann.

Zur Texterkennung habe ich die Software FineReader verwendet, die PDF-Dokumente mit einem Mausklick in maschinenlesbare Formate wie RTF oder DOC umwandelt, und dabei auch zweispaltige Texte erkennt.

Den Gesetzestext der Erst- bzw. Neufassungen habe ich dann Paragraph für Paragraph in eine Textdatei kopiert. Die Einrückung der Absätze ist dabei entscheidend für die Gliederung des Gesetzes. Zeilen mit einer Einrückung enthalten Paragraphen, zwei Einrückungen markieren die Absätze, drei Einrückungen die Unterpunkte usw.

Bei den Änderungsgesetzen war glücklicherweise etwas weniger zu tun. Man kopiert die alte Version in eine neue Datei, sucht die betreffenden Stellen im Gesetz und ändert den Text. Nach einer gewissen Anzahl von Änderungsgesetzen erscheint dann scheinbar automatisch irgendwann eine Neufassung, anhand der ich gut überprüfen konnte, ob die bisherigen Änderungen korrekt eingetragen wurden.

Visualisierung

Im Vergleich zur Datenrecherche war das Erstellen der Visualisierung ein reines Kinderspiel. Natürlich war es praktisch, dass das Parteiengesetz einen relativ überschaubaren Umfang hat und auch nur relativ selten geändert wurde. Die Idee mit den Kästchen pro Paragraph lag nahe und hat auf Anhieb funktioniert. Für die die Paragraphen verbindenden Linien habe ich RaphaelJS eingesetzt, der Rest ist reines HTML und CSS.

Relativ einfach zu lösen war auch das Problem der Visualisierung der Textunterschiede zwischen verschiedenen Versionen (siehe Bild). John Resig, der Schöpfer von jQuery, hat dazu praktischerweise schon eine JavaScript-Funktion veröffentlicht. Insgesamt dürfte die Visualisierung nicht mehr als ein paar Stunden gedauert haben.

An der mühsamen Datenrecherche saß ich hingegen fast zwei Wochen..

]]>
http://visualisiert.net/article/making-of-parteiengesetz-vis/feed/ 2
Last.fm Visualisierung http://visualisiert.net/article/last-fm-visualisierung/ http://visualisiert.net/article/last-fm-visualisierung/#comments Tue, 21 Feb 2012 20:55:01 +0000 http://visualisiert.net/?p=800 Das Internetradio Last.fm ist eine bekannte Plattform, um Nutzern die Möglichkeit zu bieten, ihren Musikgeschmack mit anderen auszutauschen. Dabei wird es ihnen ermöglicht, ihre favorisierten Musikkünstler, Alben oder Musikstücke durch Tags anzureichern. Aufgrund der völlig freien Eingabe werden Schlagwörter (Tags) mit unterschiedlichsten Thematiken verwendet, wie z.B. pop oder rock für das Genre aber auch Emotionen durch z.B. fun, diva oder epic. Dadurch wird ein hörerspezifisches Bild über den Künstler gebildet.

Diese Datengrundlage bildet eine spannende Herausforderung, die Musikkünstler und deren hinterlegten Tags zu visualisieren. Hierbei wurde auf einen öffentlich zugänglichen Last.fm Datensatz von musicmachinery.com zurückgegriffen. Ziel war es, die Musikkünstler mit ihren Tags als Visualisierung darzustellen. Dabei sollten die Gemeinsamkeiten und die Unterschiede von Musikkünstlern im Vordergrund stehen.

Im Ergebnis entstand die folgende Visualisierung, die immer zwei Musikkünstler im Kontrast zueinander zeigt. Dabei wurde die zwei Künstler jeweils rechts und links positioniert. Dies bietet genügend Freiraum, die Tags in der Mitte der Fläche auszubreiten. Aus der Visualisierung wird ersichtlich, dass sich die Tags, welche gleichermaßen den Künstlern zugewiesen wurden, in der Mitte ansammeln. So wird der Tag seen live  mit den Künstlerinnen Britney Spears und Nelly Furtado gleichermaßen verbunden. Tendieren jedoch bestimmte Tags zur rechten oder linken Seite, werden sie mit dem jeweiligen Künstler stärker in Verbindung gebracht. Dadurch wird nur aus der Darstellung ersichtlich, welche Tags im Kontrast zum gegenüberliegenden Künstler stehen. Es wird einfacher, gerade die Tags zu erkennen, die den Künstler in besonderer Weise auszeichnen, bspw. das Schlagwort dance wird mehr mit Britney Spears als mit Nelly Furtado in Verbindung gebracht.

In der Umsetzung erinnert die Visualisierung an einer Normalverteilung, in der sich die gemeinsamen Tags in der Mitte ballen und sich die jeweiligen Unterschiede auf der rechten oder linken Seite ansammeln. Als Design Prinzip wurde auf eine symmetrische Balance geachtet, dadurch gewinnt die Visualisierung an Ästhetik.

Entstehung

Abstrakte Datenvisualisierung bietet eine der vielseitigsten Möglichkeiten, ästhetische sowie physikalische Ansätze zu verbinden. Eine der am häufigsten verwendeten Visualisierungen von Tags ist die Darstellung durch eine Wort-Wolke (engl. Tag-Cloud). Dabei werden die einzelnen Tags nach Ihrer Nutzerhäufigkeit kleiner oder größer dargestellt und nach einem Algorithmus zur Positionierung angeordnet. Dabei konnten gerade die Größenverhältnisse der Tags mit in die neue Visualisierung einfließen.

Solche Folksonomien mit  physikalischen Ansätzen neue Erkenntnisse aufzeigen. Wenn ein Tag als Kreis dargestellt wird und seine Nutzungshäufigkeit den Radius bestimmt, entsteht eine Art Ballon. Je größer der Ballon ist, desto höher steigt er. Durch eine dünne Linie, die an eine Schnur erinnert, wird der Tag-Ballon mit den Künstlern verbunden.

Während die vertikale Position des Ballons von dessen Größe bestimmt wird, wird die horizontale Position durch die “Anziehungskraft” zwischen Ballon und Künstler definiert. Wenn ein Tag zu einem Künstler einen höheren Verbindungswert aufweist, bewegt sich der Ballon zum Künstler hin. Durch  die Verwendung dieser Ansätze wird die Verbindung von Künstlern und deren Tags greifbar und zeigt deutlich deren Verwendung auf.

Zum Schluss wird durch eine Kontrastfärbung sämtlicher Elemente vorgenommen. Hierbei sollte der Künstler mit der stärksten Anziehungskraft durch eine rote Färbung hervorgehoben werden. Dieser den Künstler mit der höchsten Anzahl an Tags und Nutzerassoziation wider. Die Kontrastwirkung konnte durch die Ausrichtung der Künstler rechts und links sowie der zwei Farben prägnant dargestellt werden.

Technik

Für die Umsetzung wurde eine klassische Client-Server-Architektur genutzt. Der Client ist als Flex Anwendung realisiert worden und läuft im Flash-Player. Besonders Flex bot die Möglichkeit sämtliche Objekte als Vektorgraphiken darzustellen und durch ActionScript interaktiv  animieren. Für die Datenverarbeitung wurde eine Kombination von PHP und MySQL als Datenbank verwendet. Als Tools wurden frei verfügbare (Open-Source) Werkzeuge eingesetzt. Zur Entwicklung des Flex Clients wurde FlashDevelop und für das Backend Notepad++ für PHP sowie MySQL mit phpMyAdmin eingesetzt.

Links

]]>
http://visualisiert.net/article/last-fm-visualisierung/feed/ 0
Visualisierung der Fraktionsdisziplin bei Bundestagsabstimmungen http://visualisiert.net/article/fraktionszwang/ http://visualisiert.net/article/fraktionszwang/#comments Tue, 13 Sep 2011 08:15:47 +0000 http://visualisiert.es/?p=391 Seit die Grünen in NRW vor etwa einem Jahr via Twitter bekannt gaben, dass sie zwar weiterhin gegen den JMStV seien, die Fraktion sich aber aufgrund parlamentarischer Zwänge anders entschlossen habe, war das Thema Fraktionszwang auf meiner Tagesordnung gelandet. Obwohl der erste Prototyp der Visualisierung schon im Januar fertig war, bin ich erst vor kurzem dazu gekommen das Projekt abzuschließen und auszuwerten. Mit diesem Artikel möchte ich etwas den Designprozess verdeutlichen, der hinter der Grafik steht.

Es beginnt mit der Datensuche

Die Rohdaten zu den namentlichen Abstimmungen gibt es auf der Webseite des Bundestags. Für jede Abstimmung findet man ein PDF-Dokument mit der Liste aller Abgeordneten und ihrem Votum. Glücklicherweise hat sich das Team von Abgeordnetenwatch den Daten bereits angenommen und diese in einer strukturierten Datenbank aufbereitet. Auf freundliche Nachfrage bekommt man eine CSV-Datei, andernfalls lassen sich die Daten aber auch gut scrapen. Für meine Zwecke brauchte ich nicht mal die Abstimmungen jedes einzelnen Abgeordneten sondern nur die Gesamtzahl der Ja- und Neinstimmen sowie Enthaltungen.

Transformation der Daten

Der nächste Schritt besteht darin, die den Rohdaten in geeigneter Weise zu transformieren. Da mich interessiert hat, wie geschlossen die Fraktionen abstimmen, habe ich aus den Stimmenverteilungen ein Maß für die Geschlossenheit der Fraktionen berechnet. Es berechnet sich für jede Partei und jede Abstimmung aus der Anzahl der Votierungen der jeweiligen Fraktionsmehrheit geteilt durch die Gesamtzahl der Stimmen der Fraktion. Angenommen in einer Abstimmung haben 100 Fraktionsmitglieder für Ja gestimmt (=Fraktionsmehrheit), 50 für Nein und 30 Abgeordnete haben sich enthalten, dann ergibt sich eine Geschlossenheit von 100 / (100 + 50 + 30) = 100 / 180 = 55%. Die maximal erreichbare Geschlossenheit ist 100%, im Falle einer einstimmigen Abstimmung. Die untere Grenzwert liegt bei 33%, in diesem Fall spaltet sich eine Fraktion in drei gleich große Lager für Dafür, Dagegen und Enthalten. Abwesende Abgeordnete werden in meiner Berechnung wie Stimmenthaltungen gewertet.

Was mir bei der Transformation der Daten wichtig erscheint ist die “Lesbarkeit” der resultierenden Werte. Ein Wert von 70% lässt sich zum Beispiel wie folgt lesen: 70% der Abgeordneten einer Fraktion haben gleich abgestimmt. Anstatt meiner eigenen Berechnung hätte ich zum Beispiel auch den Rice-Index benutzen können. Da dieser aber die Übereinstimmung zwischen 0% und 100% normiert, wäre die Lesbarkeit verloren gegangen.

Visualisierung

Nachdem die Daten transformiert sind, stellt sich die Frage, wie sich die Daten am besten visualisieren lassen. Da die Visualisierung sich an eine breite Zielgruppe richtet, macht es Sinn, sich dabei an aus dem Alltag bekannten Konzepten zu orientieren. Nach einer Weile kam mir die Idee, die Abstimmungen in einem radialen Scatterplot darzustellen, wobei die maximale Geschlossenheit im Zentrum steht. Eine Übereinstimmung von 100% ist somit das Bulls-Eye einer Dartscheibe. Die Idee lässt sich ohne großen Aufwand mit Programmen wie Excel oder OpenOffice ausprobieren, wie im folgenden Beispiel der SPD-Abstimmungen in der 17. Wahlperiode:

Mir gefiel die Idee, also weiter mit der Verfeinerung der Darstellung. Die Gitter aus Hilfslinien erschienen mir als etwas zu störend, weshalb ich zunächst die radialen Linien weggelassen habe. Jetzt wurde der Zielscheiben-Charakter noch deutlicher.

So richtig zufrieden war ich aber noch nicht. Der Hintergrund wirkte immer noch etwas unruhig, was daran zu liegen scheint, dass unser Auge die Hilfskreise nicht besonders gut wahrnehmen kann – vor allem wenn der Fokus auf die Abstimmungssymbole fällt. Nach der Lektüre in David McCandless großartigem Buch ist mir dann ein guter Trick aufgefallen. Anstatt den Hintergrund mit den Hilfskreisen zu “zerschneiden”, kann man ihn auch einfach in abwechselnd eingefärbte Zonen einteilen, etwa so wie man es bei langen Tabellen auch macht. Es ist erstaunlich, wie sehr sich die Grafik dadurch entspannt.

Beim Betrachten der verschiedenen Fraktionen ist mir schließlich aufgefallen, dass sich sehr viele Abstimmungen innerhalb der 80% Zone befinden. Dasselbe Bild hat sich auch für die anderen Fraktionen gezeigt. Um den Platz besser auszunutzen und die Überscheidungen von Symbolen zu reduzieren, habe ich mich entschlossen statt der linearen Skala eine Wurzelskala zu verwenden.

Die aus der Wurzelskala resultierende ungleiche Verteilung der Hintergrundzonen habe ich durch die Wahl anderer Zonengrenzen korrigiert. Darüber hinaus hatte ich noch ein kleines Problem mit der Wahl des radialen Scatterplots zur Darstellung nicht-periodischer Daten. Zwar stellt die Grafik jeweils den Zeitraum einer Wahlperiode dar. Allerdings können Wahlperioden erstens unterschiedlich lang sein (z.B. bei vorgezogenen Neuwahlen) und zweitens ändert sich die Anzahl und Verteilung der Abstimmungen von Periode zu Periode – anders als etwa bei Monaten innerhalb eines Jahres. Deshalb fand ich es angebracht, den Kreis “aufzubrechen” und so den Anfang und das Ende der Wahlperiode kenntlich zu machen– ein Trick, den ich mir übrigens von Cinemetrics abgeguckt habe.

Verfeinerung und Interaktivität

Der letzte Teil der Arbeit lag in der Verfeinerung der Visualisierung und der Erweiterung um interaktive Features. Das Abstimmungssymbol hat ein Label bekommen, so dass man auf einen Blick sehen kann, wie sich die Fraktionsmehrheit entschieden hat. Besonders wichtig sind die Tooltips, die den Titel und das genaue Ergebnis der Abstimmungen anzeigen. Über ein Menü können Fraktion und Wahlperiode ausgewählt werden. Mit RaphaelJS war es relativ einfach, den Wechsel zwischen Fraktionen zu animieren, was allerdings nur im Chrome-Browser wirklich flüssig läuft. Während der Umsetzung kam mir zudem die Idee, die Selektion von mehreren Fraktionen im selben Diagramm zu erlauben, wodurch Gegenüberstellungen wie die folgende möglich werden:

Auswertung und Fazit

Besonders interessant finde ich den Vergleich der Fraktionsdisziplinen der Regierungskoalitionen der letzten beiden Legislaturperioden. Während die große Koalition noch vergleichsweise uneins war, erreicht die schwarz-gelbe Koalition fast durchgehend Geschlossenheiten von über 90%. Der Grund dürfte vermutlich an den deutlich knapperen Mehrheiten liegen. Interessant ist ebenfalls der Bezug zu den Themen der Abstimmungen. Die hohe Fraktionsdisziplin der CDU/CSU-Fraktion scheint nur bei Fragen der Gentechnik und Stammzellenforschung aufgelöst zu werden. Bei den Grünen sind hingegen die Auslandseinsätze der Bundeswehr die Abstimmungen, bei denen am wenigsten geschlossen abgestimmt wird. Die naheliegende Vermutung, dass Regierungsfraktionen geschlossener votieren als Fraktionen in der Opposition zeigt sich am Vergleich der FDP in der 16. und 17. Wahlperiode besonders gut.

Bei den Linken ist mir die Abstimmung zum Anbauverbot von Genmais aufgefallen, bei der sich die Uneinigkeit der Partei allein durch die Abwesenheitsquote von 43% errechnet hat. Es stellt sich die Frage, ob Enthaltungen und Abwesenheit nicht vielleicht weniger stark gewichtet werden sollten, als klare Ja- und Nein-Stimmen. Die interaktive Version gibt es übrigens hier.

]]>
http://visualisiert.net/article/fraktionszwang/feed/ 4
Die Straßen von Berlin http://visualisiert.net/article/berlins-strassen/ http://visualisiert.net/article/berlins-strassen/#comments Mon, 01 Aug 2011 08:33:32 +0000 http://visualisiert.net/?p=16

Jeder, der schon mal durch mit einer Wegbeschreibung von Google Maps durch Berlin gefahren ist weiß, wovon die Rede ist. Wege, die auf der Karte einfach aussehen, erweisen sich im realen Straßenverkehr als schier unmöglich. Ursache für Diskrepanz zwischen Plan und Wirklichkeit ist der Grundgedanke, der hinter den meisten Karten steckt: Komplexität reduzieren. Von den über 14.000 Berliner Straßen bleibt in der Regel nur ein Bruchteil in Karten wie Google Maps sichtbar.

Um der Komplexität des realen Straßennetzes etwas näher zu kommen, habe ich in der folgenden Karte von Berlin bewusst auf Vereinfachungen und (störende) Straßennamen verzichtet und nur die Wege, Straßen und Schienen dargestellt. Die Idee zu solchen Karten stammt von Ben Fry, der 2008 eine ähnliche Karte für die Straßen der USA erstellt hat. Interessanterweise erkennt man auch geographische Details, die gar nicht eingezeichnet sind, wie z.B. die Spree oder den Müggelsee.

Die Erstellung der Karte war erstaunlich einfach, da das Berliner Kartenmaterial von OpenStreetMaps freundlicherweise von CloudMade als Illustratordatei zur Verfügung gestellt wurde. So musste ich die Karte eigentlich nur öffnen, etwas mit den Farben experimentieren und das Ganze wieder als PNG speichern.

Analog ließen sich auch Karten für beliebige andere Regionen erstellen, allerdings würde das gängigen Grafikprogramme deutlich überfordern. So ist z.B. die Illustrator-Datei für Nordrhein-Westfalen allein 1,1 Gigabyte groß. Um Straßenkarten von ganz Deutschland oder Europa zu rendern, würde es also noch etwas Programmieraufwand bedürfen, etwa indem man die OpenStreetMap-Shapefiles mit einem Python-Script einliest und direkt als Bild rendert.

Übrigens war ich neugierig, wie sich die Karte an meiner Wand machen würde und habe sie mir auf 120*80cm als Poster bestellt. Mit dem Ergebnis bin ich ganz zufrieden. Interessanterweise fallen einem viele Details der Karte wirklich erst auf, wenn man eine Weile davor sitzt, wie z.B. der Hügel am Volkspark Friedrichshain oder der hexagonale Tower am Flughafen Tegel.

  
]]>
http://visualisiert.net/article/berlins-strassen/feed/ 1
Gammastrahlung in Deutschland http://visualisiert.net/article/gammastrahlung-in-deutschland/ http://visualisiert.net/article/gammastrahlung-in-deutschland/#comments Wed, 27 Jul 2011 13:52:24 +0000 http://visualisiert.es/?p=119

Seit März diesen Jahres fragt sich vielleicht mancher, wie sich die Freisetzung von Radioaktivität in Fukushima/Japan hierzulande auswirkt. Durch Tschernobyl haben wir auch in Deutschland erfahren, dass radioaktive Partikel nicht an Staatsgrenzen Halt machen. Dank den Messungen des Bundesamts für Strahlenschutz (BfS) kennen wir die aktuelle Situation an etwa 1760 Orten in Deutschland. Zusammengefasst: In Deutschland besteht nach allem, was man sehen kann, aktuell kein Grund zur Besorgnis.

Es bleiben allerdings, wenn man sich die Karte mit Messdaten des BfS ansieht, einige Fragen offen. Mich hat beispielsweise interessiert, wie sich die gemessene Gammastrahlung über die Zeit verändert. Da das BfS seine Daten seit einigen Wochen einzelnen Nutzern, die eigens einen Account dafür bekommen, bereitstellt, gibt es nun das Rohmaterial, um dieses Verhalten zu visualisieren. Das Video zeigt die gemessenen Werte im Zeitraffer, anhand ungeprüfter Werte mit 2 Stunden Zeitabstand.

Video auf vimeo

Ganz schön viel los, was? Das BfS erklärt den örtlichen Anstieg von Messwerten in der Regel mit Niederschlag. Sehr gerne würde ich das in der Visualisierung belegen. Bislang fehlen mir aber flächendeckende Niederschlagsdaten für Deutschland mit einer annährend vergleichbaren zeitlichen und räumlichen Auflösung. (Für Hinweise, die zur legalen und unentgeltlichen Beschaffung beitragen, bin ich dankbar!)

Für diejenigen, die sich für die Technik dahinter interessieren: Die Daten der Stationen (ID und Geo-Koordinaten) sowie die einzelnen Messwerte je Zeitpunkt und Station sammle ich in einer MySQL-Datenbank. Die Verarbeitung erfolgt mit Python, unter anderem mit dem pygame Modul. Für das Mapping von Geo-Koordinaten auf eine flache x/y-Projektion hat sich Basemap auf Basis von matplotlib als sehr hilfreich erwiesen. Für den Verlauf in der Skala kommt das Modul gradients zum Einsatz. Angenehm an pygame ist, dass die Ausgabe während der Entwicklung am Bildschirm erfolgt. Sitzt alles, fügt man im Hauptteil den Aufruf von pygame.image.save() hinzu, um einzelne Frames in PNG-Dateien zu speichern. Die werden dann z.B. mit Quicktime 7 Pro zu einem Video verarbeitet.

Der momentan aktuelle Quellcode des Python-Scripts und das Datenbank-Schema mit je einem Beispieldatensatz liegen als Github Gist bereit.

Einen Beitrag zu diesem Projekt in englischer Sprache gibt es übrigens in meinem Blog.

]]>
http://visualisiert.net/article/gammastrahlung-in-deutschland/feed/ 2