CO2 Ausstoss Visualisierung mit Processing

Zeigt den globalen CO2 Ausstoss pro Kopf eines Landes an.

Im vorletzten Semester meines Studiums programmierte ich eine Visualisierung zum Thema „weltweiten Kohlenstoffdioxid-Ausstoss“. Dabei habe ich mir den Umgang mit der Processing-Bibliothek angeeignet und weitere Java-Kenntnisse erworben.

Bevor es mit der Programmierung beginnen konnte, musste ein Konzept verfasst werden, welches alle Arbeitsschritte genau aufschlüsselt. Ein Brainstorming, welches einige Ideen aufwarf, war der erste Schritt. Dabei enstanden Ideen Webcam-Bilder oder Audiodaten zu visualisieren. Eine andere Idee befasste sich damit, Serverdaten im internen Netzwerk oder globalen Internet zu visualisieren, indem eine Reihe von Servern auf bestimmte Befehle abgefragt werden. Dabei hätte ebenfalls ein globaler Vergleich gezogen und die Leistung verglichen werden können. Jedoch entschied ich mich für den globalen CO2 Ausstoss.

Zum nächsten Arbeitsschritt gehörte die Datenerfassung und -sammlung. Da ich keine Geräte zur Ermittlung von Kohlenstoffdioxid in der Luft zur Verfügung habe, musste eine geeignete Datenquelle ausgewählt werden. Hierbei viel die Wahl auf die „World Databank„. Sie beinhaltet eine Reihe von globalen Datenbanken mit unzähligen Indikatoren. Die gewählte Datenbank „World Development Indicators & Global Development Finance“ und die Indikatoren „CO2 emissions (kt)“ und „CO2 emissions (metric tons per capita)“ für alle verfügbaren Länder und Jahre erbrachten die verwendeten Daten im XLS-Format (Excel).

Nachdem einige Screendesigns erstellt wurden, wurde angefangen zu programmieren. Einige Bibliotheken halfen, den Arbeitsaufwand zu verringern, Sicherheit zu erhöhen und das Auftreten von Fehlern zu minimieren. Die gewählten Libraries „controlP5“ für User-Interface-Elemente, „shapeTween“ für Animationen und „XLSReader“ für das Auslesen von XLS-Dateien sind lizenzfrei nutzbar und quelltextoffen (opensource).

Des Weiteren wurde darauf Wert gelegt, dass der erzeugte Programmcode wiederverwendbar und leicht zu warten ist. Die Anwendung von verschiedenen Entwurfsmustern spielte dabei eine wichtige Rolle. Besonders intensiv wurde das Model-View-Controller-Entwurfsmuster, Inversion of Control und das Observer-Muster angewendet.

Um das Programm für andere Programmierer leichter zu vermitteln, wurde eine JavaDoc-Referenz erzeugt, welche alle Packages, Klassen und Methoden beschreibt.

Unter den folgenden Links kann der Quellcode in Eclipse importiert oder das Programm getestet werden.

Weiterempfehlen: