Choro… was?! – Geografische Visualisierung mit R

Choropleth heisst diese Art von Grafiken, Choroplethenkarte oder Choropleth Map. Nenne das Kind beim Namen. Dann purzeln dir die Lösungen aus dem Internet nur so entgegen. Auch für R. Zwei, drei Hürden sind zu nehmen. Danach ist’s Malen nach Zahlen für Data Scientisten. – Dieser Beitrag macht den Einstieg auf der Gemeindekarte des Kantons Luzern.

Motivation

Es geht um die Vorhersage von Matura-Noten anhand individueller Bildungsverläufe. Dass es dabei Korrelationen mit Eigenschaften der Wohngemeinde der Schüler gibt, wurde bereits erkannt. Was liegt da näher als geographische Visualisierung der Ergebnisse aus Quelldaten-Analyse und Vorhersage?

Grundlagen

Etwas Starthilfe zum Umgang mit Choroplethen in R kommt von Prabhas Pokharel auf  Popular Blocks. Das lauffähige R-Projekt zu den nachfolgenden Beispielen steht hier zum Download bereit.

Shapefile

Die Gemeindekarte ist auf dem kantonalen Geoportal frei verfügbar. Trotz Quasi-Standard von ESRI ist Shapefile nicht gleich Shapefile. Der Download enthält ein gezipptes Konglomerat von verschiedenen Dateiformaten.

Die RGDAL (Geospatial Data Abstraction Library für R) hilft bei der Analyse. Die SHP-Datei enthält 89 Flächen. Das ist bei 85 Gemeinden und ein paar Exklaven plausibel. Als Koordinatensystem wird das LV03-Meterraster mit Ursprung in Bern verwendet.

Die RGEOS (Geometry Engine – Open Source für R) plottet die leeren Umrisse aus dem SHP-File. Ein Quercheck zu anderem Kartenmaterial bestätigt: Kanton Luzern mit Gemeinden.

Welche Fläche ist welche Gemeinde? – Neben den Polygonzügen liefern das Shapefile weitere Attribute zur Identifikation. Die Metadaten dazu wurden in der Analyse durch die RGDAL bereits beschrieben. Die Attribute liegen in der DBF-Datei. Diese lässt sich mit Excel anschauen (aber Finger weg vom Save-Button!).

Der erste Wurf

Zur Analyse der Rohdaten wird das Merkmal «Steuerbelastung» dargestellt. Es handelt sich dabei um ein Ranking der 1’000 wichtigsten Gemeinden der Schweiz. Die Werteverteilung im Kanton Luzern ist unklar. Kleine Gemeinden fehlen wahrscheinlich.

Hier hilft eine gradiente Farbabstufung. Gültige Ranks aus der Quelle steigen ab von Weiss nach Blau. Rot steht für Fehler. Die Gemeindenummern als Label sind ein Kompromiss. Die Gemeindenamen hätten entweder die Karte zugetextet oder wären unlesbar klein geworden.

Nicht schlecht für einen etwas aufgepeppten R-Zweizeiler aus dem Web!

Die Verwendung der analysierten Datenquelle wurde allerdings aufgrund dieser Visualisierung verworfen. Nicht nur wegen dem vielen Rot. Die Steuerparadiese, z.B. 1063 Meggen, sind gut zu erkennen. Die mangelnde Ausnützung der blauen Hälfte der Skala deutet aber auf einen schwachen Information Gain des Rankings hin. Die Luzerner Gemeinden liegen steuerlich im Vergleich zum Rest der Schweiz zu nahe beieinander.

Der zweite Wurf

Noch einmal mit Steuern: Diesmal werden die effektiven Steuereinheiten ohne Kirchensteuer für 2018 mit einem KNIME-Binner klassifiziert. (Siehe auch Th. Weingartner, KNIME – Ein mächtiges Tool zur Daten- und Textanalyse im Baukastensystem)

Erwartungsgemäss sind Agglomeration und Talschaften jetzt als zusammenhängende Gebiete in derselben Steuerklasse erkennbar. So unterschiedlich kann die Steuerpolitik benachbarter Gemeinden ja nicht sein.

Aufgrund der diskreten Werte der Steuerklasse ist das Ergebnis zu bunt. Die Farben wurden automatisch vergeben. Die Legende sortiert die Klassen zwar zufällig richtig. Im Vergleich zum Gradienten des ersten Wurfs ist der Wechsel von einer Farbe zur anderen per se nicht mehr als Schritt nach gut oder schlecht zu erkennen. Es gibt aber Möglichkeiten zur expliziten Farbgebung pro Klasse.

Erkenntnisse

  • «Lass es gut sein!» – Die Möglichkeiten der Parametrierung sind unendlich. Ebenso die zufälligen Wechselwirkungen der verschiedenen Stellrädchen. Der Weg von schön nach noch schöner ist aufwändig und frustbeladen. Aus dem robusten Zweizeiler wird schnell ein wackeliges Kartenhaus.
  • «Choroplethe sind keine Wanderkarten.» – Die verwendeten Libraries optimieren die Skalierung der Achsen auf Bildfülle. Die Flächenverhältnisse stimmen. Automatisch gibt es aber weder Strecken- noch Winkeltreue.
  • «Mach Dir ein Bild!» – Die geplotteten Ergebnisse lassen sich in Grafik-Dateien exportieren. Neben den gängigen Pixel-Formaten JPG und PNG stehen auch hervorragend skalierende Vektorgrafiken wie SVG zur Verfügung.

Fazit

Die befürchtete Komplexität in der Behandlung der Karten bleibt aus. Anhand der Code-Beispiele aus dem Internet kommt eine mächtige Visualisierungstechnik schnell und schlank ins Repertoire. Choroplethe sind trotz ihres sperrigen Namens die wirklichen Hingucker in der Präsentation.

Beitrag teilen

Thomas Lütolf

Thomas Lütolf ist Systemarchitect bei der Mobilar Versicherung und bloggt aus dem Unterricht des CAS Big Data Analyticts.

Alle Beiträge ansehen von Thomas Lütolf →

Schreibe einen Kommentar