Visualisierung des Zustandes und der Entwicklung unserer Umwelt
Dank den Klimademonstrationen ist die Umwelt in aller Munde. Die vorherrschende Umweltpolitik wird kiritsiert und es wird zur Veränderung aufgerufen. Natürlich liegt es nicht fern, dabei auch einen Blick hinter die Kulissen des Bundes zu werfen. Das BAFU definiert seine Aufgabe u.a. folgendermassen: "Bereitstellung von faktenbasierenden Informationen zum Zustand und zur Entwicklung der Umwelt".Nach einer ersten Datensichtung musste ich mich für einen anderen Datensatz entscheiden. Dieser Wechsel war mit einem nicht zu unterschätzenden Mehraufwand verbunden, da ich für meinen ursprünglichen Datensatz schon einige Ideen, Skizzen und Recherchen angestellt hatte.
Nicht alle Daten sind für eine Visualisierung geeignet:
Wenn Ihr unsicher seit, ob der Datensatz wirklich richtig ist oder genügend bietet, dann fragt direkt nach.
Schaut bei den Visualisierung im Internet immer auch die Version der d3.js Library an, dann habt ihr später keine Probleme und könnt clever kombinieren.
Erste Visualisierungs-Skizzen zeigten schnell, dass eine Art Mind Map zur Visualisierung die optimale Lösung ist, da Abhängigkeiten und Beziehungen dargestellt werden müssen. In Frage kam, nach einiger Recherchezeit eigentlich nur der «Directed Force Graph». Zu Beginn habe ich ein einfaches Beispiel kopiert und dieses versucht an meine Bedürfnisse anzupassen. Dies ist eigentlich keine schlechte Variante, aber irgendwann kommt man einen Punkt, an dem das grundlegende Verständnis für den kopierten Code fehlt und eine weitere Anpassung am Ursprungscode, aufgrund der zunehmenden individuellen Bedürfnisse, nicht mehr möglich ist.
Die Angst, dass aus dem Graph keine wirklichen Erkenntnisse gewonnen werden können, ohne dass zusätzlich Informationen für den Nutzer bereitgestellt werden, bestätigte sich relativ schnell. Es klingt logisch, dass der Privatpersonenverkehr ein Indikator des Elements «Treibhausgasemission» ist, aber wie wird den dieser Indikator gemessen/ bewertet und definiert? Die Entscheidung fiel auf eine zwei Spalten-Layout. Links der Graph, Rechts die Details. Diese Entscheidung zog weitere Arbeiten mit sich: Darstellung der Details und Anpassung des Graphs an diese Bedürfnisse.
Visualisierungsidee genau niederschreiben und durchdenken. Eine Änderung/ Ergänzung der Visualisierung zieht viel Arbeit nach sich.
Von Anfang an versuchen den kompletten Code zu verstehen, damit Ihr Anpassungen und Ergänzungen auch vornehmen könnt.
Damit ich den Programmiercode des «Directed Force Graph» einigermassen verstehe, musste ich diesen nochmals von Grund auf neu aufbauen und eine sinnvolle Aufteilung und Einbindung der verschiedenen Dateien überlegen. Zusätzlich wurde, mit der Entwicklung eines zweispaltigen Layouts, mehr Programmierarbeit nötig. Per Klick sollten die Informationen automatisch aus dem JSON-File gelesen werden. Die Elemente und Indikatoren sollten also «dynamisch» eingebunden werden. Da die Indikatoren alle eine unterschiedliche Statistik besitzen, habe ich mich dazu entschieden die c3.js-Library einzubinden und eine Funktion zu schreiben, welche, je nach übergebenen Daten die Statistiken generiert.
Damit die Funktion alle Statistiken möglichst dynamisch aus der Datenbasis lesen kann, musste die Datenbasis angepasst werden. Bis zum jetzigen Zeitpunkt, dachte ich die Programmierarbeit sei der Elefant, aber rückblickend ist die Datenarbeit und die individuelle Bearbeitung der 68 Datensätze die effektiv zeitaufwendigste Arbeit an dieser ganzen App gewesen.
Die Datenbearbeitung ist ein wesentlicher Teil, nicht unterschätzen.
Das Styling und das Schreiben der Texte für die Website ist ebenso wichtig und zeitintensiv, wie die Programmierung und die Datenbearbeitung.
Am Samstag vor der Präsentation habe ich die Datenarbeit und die grundlegenden Funktionen zu Ende programmiert, mit dem Styling der Page begonnen und erste Textstücke vollendet. Auch für diese, scheinbar einfachen, Abschlussarbeiten braucht man unglaublich viel Zeit. Die Website soll ja auch gut aussehen und nicht nur funktionieren. Zusätzlich konnte ich einige Dinge, die ich noch einbauen wollte, nicht mehr realisieren, weil die Zeit nicht ausgereicht hätte.
Datenbasis: Umweltindikatoren und Wirkungsbeziehungen (BAFU) |
Indikatoren (Excel/ JSON) Netzwerk (Excel/ JSON) |
Converter von CSV to JSON | www.convertcsv.com |
Programmierung | d3.js c3.js jQuery bootstrap w3schools.com Force Directed Graph |
Bildquellen | Bild im Header Html, Css und JS Bootstrap 4 D3.js C3.js |