Animierte Kartenanamorphoten erstellen

In den letzten Jahren sind Web-Anwendungen für Kartenvisualisierungen förmlich explodiert. Die Choroplethenkarte oder auch Flächenkartogramm genannt, begegnet uns häufig. Die Darstellungen von Kartenanamorphoten oder gar animierten Karten ist dagegen weniger populär. Dabei eignet sich diese Form der Visualisierung hervorragend für viele Darstellungen.

Choroplethenkarte

Worlsmap_conflict_border

Eine Choroplethenkarte ist eine thematische Karte, bei der die Gebiete im Verhältnis zur Verteilungsdichte des thematischen Objektes eingefärbt, schattiert, gepunktet oder schraffiert sind. Die Flächen einheitlich zugeordneter gleicher Werte werden scharf voneinander abgegrenzt. Choroplethenkarten bedienen sich in der Regel einer flächentreuen Kartengrundlage. Geläufige Beispiele sind Karten zur Darstellung von Bevölkerungsdichte oder der Anzeige von Wahlergebnissen nach Wahlkreis.

Dargestellt werden damit flächenbezogene ordinalskalige oder gestufte quantitative Daten. Die von den Flächen dargestellten Sachdaten beziehen sich nicht auf einen einzelnen Ort, sondern mehr oder weniger weit gefasste Flächen wie z. B. Staaten, Bundesländer, Gemeinden, Wahlbezirke oder andere statistische Raumbezugseinheiten.

Die Choroplethen-Darstellung kann bei falscher Wahl der Bezugsflächen, wegen der meist starren Aufteilung in feste Untereinheiten, Fehler erzeugen. Dies betrifft etwa scharfe, nicht mit den vorgegebenen Grenzen zusammenfallende Schwankungen der Verteilungsdichte. Diesen Nachteil kann die asymmetrische Kartierung ausgleichen, indem sie ihre Untereinheiten an die vorliegenden Daten anpasst und Gebiete mit ähnlichen Eigenschaften zusammenfasst.

Kartenanamorphote

Eine Kartenanamorphote (auch Kartenanamorphose) ist eine kartografische Darstellung mit variablem Maßstab. Topologische Beziehungen bleiben bei der Abbildung erhalten.

Wahlergebnisse in den USA - By M. E. J. Newman, CC BY 2.0, WikiMedia

Wahlergebnisse in den USA – By M. E. J. Newman, CC BY 2.0, WikiMedia

Insbesondere antike Karten waren oft Anamorphotendarstellungen, auf denen die wenig erforschten Gebiete unverhältnismäßig klein dargestellt waren. Umgekehrt wurden religiöse und kulturelle Hochburgen auf diesen Karten oft übertrieben groß dargestellt. Auch in heutigen Stadtplänen werden die Stadtzentren oft etwas vergrößert dargestellt (Fischaugeneffekt), um genügend Platz für die dichteren Innenstadtstrukturen zu haben. Bei den Stadtplänen des Falk-Verlages aus den 1950er und 1960er Jahren wurde diese, die Innenstadt vergrößernde Projektion „Hyperboloid-Projektion“ genannt.

Kartenanamorphoten können für thematische Darstellungen benutzt werden. Hier wird die Größe in der Darstellung nicht proportional zur tatsächlichen geometrischen Größe gewählt, sondern in Abhängigkeit von einem beliebigen Attribut (zum Beispiel: Länge proportional zur Fahrzeit oder Fläche proportional zur Einwohnerzahl).

Der Begriff der Kartenanamorphote ist jedoch nur für jene Darstellungen in Gebrauch, deren Geometrie nach bestimmten Regeln gegenüber einer Ausgangskarte bewusst verzerrt wird.

Choroplethenkarte vs. Kartenanamorphote

Choroplethenkarten eignen sich besonders für einfache Unterscheidungen wie: „Ist Land A bevölkerungsreicher als Land B“. Wenn es aber um die Frage nach der Größenordnung geht, stoßen sie an ihre Grenzen. Sie können auch sehr kleine Gebiete trotz geeigneter Färbung nur aufgrund ihrer geringen geographischen Größe unterrepräsentierteren. Wer würde anhand dieser Darstellung darauf schließen, dass Nigeria 2050 das Land mit der drittgrößten Bevölkerung der Welt sein wird? Die nachfolgende Darstellung zeigt eine Kartenanamorphote bei der schnell klar ist, dass die Bevölkerung in China, Indien und Nigeria zu den größten der Welt gehören werden.

Ein Blick auf die Karte reicht, um die bevölkerungsreichsten Länder zu identifizieren. Allerdings vermittelt diese Darstellung die Größenordnung nicht wirklich. Das Beispiel zeigt eine Choroplethenkarte, basierend auf Zahlen des Population Reference Bureau.

Beispiel
http://www.prb.org/

Beispiel
Das Wachstum der Weltbevölkerung im Jahre 1800,1900, 2000, und 2100. Die Prognose für 2100 basierte auf Zahlen der UN’s Population Division.

-> http://metrocosm.com/population-cartogram-history.html

Eine Kartenanamorphote animieren

Ein Problem der Kartenanamorphote ist, dass es manchmal schwer fällt eine Region aufgrund der Verzerrungen zu identifizieren. Einen Ausweg stellen Animationen dar. Eine Animation kann sie wieder in den richtigen Kontext setzen und die Lesbarkeit wiederherstellen. Diese animierte Karte zeigt die Werte von Wohnimmobilien nach Landkreisen in den USA. Eine statische Karte wäre schlicht unlesbar.

cartogram-property-values

Um eine solche animierte Karte zu erstellen sind grundlegende GIS-Kenntnisse nötig. Ein hervorragendes Tool um Kartenanamorphoten zu erstellen, ist die Open Source Software namens Scapetoad. Bevor wir dazu kommen, ist allerdings einige Vorarbeit nötig. Als Erstes sollte sichergestellt werden, dass die Attribute (Beispiel: U.N. Bevölkerungsentwicklung bis zum Jahr 2100) der Daten korrespondieren. In QGIS kann das mit table join durchgeführt werden.

Werte mit QGIS bearbeiten
  • Lade die Dateien (Shapefiles) mit den Ländergrenzen in QGIS (Download „world borders“ im Shapefile– oder geojson-Format)
  • Lade die Attribute in Excel oder LibreCalc (Download U.N. Bevölkerungsentwicklung 2100 in csv)
  • Stelle sicher, dass die Namen der Dateien in beiden Dateien korrespondieren (z.B. “United States” und “United States of America”)
  • Speichere die Daten im CSV-Format und lade sie in QGIS über die Reiter:  Layer >> Add Layer >> Add Delimited Text Layer
  • Stelle sicher, dass QGIS die Attribute als Zahlen erkennt. Öffne dazu die CSV-Tabelle.
  • Wenn die Nummern links ausgerichtet sind, werden sie als „strings“ erkannt. An dieser Stelle muß die CSV-Datei als  CSVT file neu importiert werden, um den Datentyp zu definieren.
  • Öffne die Layer Properties dialogue, and join die CSV-Datei.
  • Im letzten Schritt gibt es noch ein wichtige Stelle: Die Datei sollte im shapefile-Format mit der gleichen Projektion mit der anschließend die Karte dargestellt werden soll, gespeichert werden. Sonst stimmen die Proportionen nicht. Die Datei sollte ungefähr so aussehen: shapefile. Im nächsten Schritt wird die Kartenanamorphote erstellt.

Kartenanamorphe Animationen erstellen

Statische Kartenanamorphe mit Scapetoad erstellen

scapetoad

Scapetoad ist ein sehr einfach zu bedienendes Tool. Nach dem Laden eines Shapefiles führt ein Wizard Schritt-für-Schritt durch die gesamte Prozedur. Das einzige Problem, dass manchmal auftaucht, ist die falsche Größe. Es macht Sinn, die Fehlermeldung bzw. Error Statistics nach dem Vorgang zu prüfen.

Um eine Karte mithilfe von D3 anzuzeigen, müssen die Daten im GeoJson-Format gespeichert werden. Scapetoad wirft die Daten als shapefile aus. Shapefiles ins GeoJson-Format können entweder mit QGIS oder mit Mapshaper konvertiert werden. Letzteres Tool ist einfach in der Bedienung und kann gleichzeitig auch die Dateigröße reduzieren.

Herausforderungen beim Erstellen von animierten Kartenanamorphoten

An dieser Stelle macht es Sinn sich bereits mit D3 beschäftigt zu haben. Diese Tutorials erleichtern den Einstieg und setzen nur basale Kenntnisse von HTML, CSS, und Javascript voraus. Mit D3 fällt es einfach, Animationen mit der transition-Methode zu erstellen.

Beispiel
http://metrocosm.com/d3-transition-example.html

Nur vier Zeilen Code sind notwendig, um diesen animierten Kreis zu erstellen. Theoretisch sollten es genauso einfach sein, den Übergang zwischen zwei Polygonen zu schaffen. Die Methode ist im Grunde die gleiche. Das sieht aber nur dann gut aus, wenn die Linien der Polygone sauber miteinander verbunden sind.

Beispiel 

http://metrocosm.com/shape-transition.html

Der Übergang in D3.js kollabiert, weil die Linien nicht korrekt verbunden sind. In diesem Fall ist es notwendig, den unteren Teil des ersten Polygons mit dem oberen deformierten Polygon zu verbinden. Selbst wenn die Polygone sauber verbunden sind, ist es unwahrscheinlich, dass die Polygone die gleiche Anzahl an Punkten haben.

Ein gutes Beispiel dazu, kann hier eingesehen werden: transition between California and a circle. Im Falle der USA Übergang können die Grenzen manuell korrigiert werden. Für mehr als 100 Länder der Welt  ist das allerdings kein brauchbarer Weg.

Ein verzerrtes Gitternetz erstellen

inputoutput

Dieses Mal ist die Ausgabe, die wir von Scapetoad wollen, nicht das Kartogramm selbst, sondern ein Verzerrungsraster. Das Verfahren zur Erstellung des Verzerrungsrasters ist identisch mit dem der statischen Kartogramme, die bereits weiter oben im Text beschrieben wurde. Das Gitternetz  (Standard WGS 84 Koordinatenbezugssystem) dieses Beispiels kann als shapefile oder csv heruntergeladen werden.

cartogram-deformation-gridVerzerrungsraster erstellen

  • Füge zwei Layer in Scapetoad hinzu: eine Karte und das Punkteraster.
  • Erstelle das Kartogramm
  • Nachdem Scapetoad die Berechnung durchgeführt hat, erhälst Du zwei Resultate: Das Kartogramm und das Verzerrungsraster.
  • Konvertiere das Shapefile zu CSV z.B. mit dem MMQGIS plugin (QGIS). So sollte es aussehen: Download Verzerrungsraster csv.
  • Führe das Verzerrungsraster sowie das Original Raster in Excel zusammen. Wenn die Punkte zwischen den beiden Dateien übereinstimmen, können die Offsets für jeden Punkt berechnen werden. Speichere diese Offsets als neue Datei ab. Sie sollte wie folgt aussehen (Download Verzerrungsraster).

Verzerrungsraster für eigene Daten einsetzen

Dieses Kartogramm sollte wie von Scapetoad erstellt aussehen, jedoch eignet es sich besser für die Animation über D3, weil seine Punkte besser mit denen der Basiskarte übereinstimmen.  Im nächsten Schritt soll die Karte auf Grundlage des Verzerrungsraster deformiert werden. Falls die Punkte zwischen der Karte und dem Verzerrungsraster nicht perfekt übereinstimmen , hilft an der Stelle die bilinear interpolation.

Das Resultat: ein animierte Kartenanamorphote

http://code.paderta.com/01_embed/02_cartogram/build-cartogram.html?initialWidth=722&childId=example

Klick auf den Kreis zum Wechseln
im neuen Tab öffnen
Quelltext einsehen

Das Beispiel enthält die Basiskarte als Grundlage(Download Basiskarte geojson) sowie das Verzerrungsraster (Download Verzerrungsraster csv).

Damian Paderta
Damian Paderta

WebGeograph