Daten der Weltbank mit Google Maps visualisieren

Eine der verheißungsvollen Aussichten im Zuge der zunehmenden Verfügbarkeit von Schnittstellen zu offenen Datensätzen aus politischen und gesellschaftlichen Institutionen ist die Möglichkeit, Daten schnell und unkompliziert visualisieren zu können. Journalisten und Blogger können so mit ein wenig Programmierkenntnis oder diesbezüglicher Unterstützung Aussagen in ihren Artikeln durch Diagramme oder Karten auf anschauliche Art und Weise mit Fakten unterlegen oder auch durch die Zusammenführung unterschiedlicher Datensätze neue Zusammenhänge herstellen oder verdeutlichen.

Sehr aktiv im Hinblick auf die Bereitstellung dererlei Programmierschnittstellen (APIs) ist die Weltbank, über dessen Open Data-Aktivitäten wir hier im Blog schon zweimal in den letzten Wochen berichtet haben. Diese bietet seit einiger Zeit unter http://data.worldbank.org eine Schnittstelle an, über die unzählige – für den Entwicklungszustand der Welt relevante – Indikatoren wie Geburtsraten, CO2- Emissionslevel, Daten zu Bildungsausgaben, usw. für unterschiedliche Länder abgerufen werden können. In diesem Artikel soll einmal aufgezeigt werden, wie man solche Daten nutzen und z.B. mit Hilfe von Google Maps auf einer Karte visualisieren kann. So zeigt die folgende Karte das Einkommensniveau unterschiedlicher Länder anhand farbiger Pins, beim Klick auf einen Pin erhält man zusätzlich die Hauptstadt des Landes und die inhaltliche Bedeutung der jeweiligen Farbmarkierung angezeigt. Die Beschreibung ist (hoffentlich) nicht zu technisch gehalten, so dass sie auch für Nicht-Informatiker in den Grundzügen nachvollziehbar seien sollte. Ganz ohne Programmierkenntnisse wird man bei einer Umsetzung dennoch nicht auskommen, der Aufwand sollte sich allerdings auf max. 2-3 Std. beschränken.


Größere Kartenansicht

Folgende drei Schritte sind notwendig auf dem Weg zum eigenen Weltbank-Open Data-Mashup:

1. Weltbank-API – Indikator(en) auswählen und Anfrage stellen

Die API der Weltbank kann direkt per URL im Browser abgefragt werden. Über die Angabe entsprechender Parameter wird dann z.B. gesteuert, welcher Indikator abgerufen werden soll oder über welches Land man Daten erhalten möchte. So liefert die Abfrage http://open.worldbank.org/countries?per_page=100&incomeLevel=LIC eine Liste aller Länder mit einem niedrigen Einkommenslevel (LIC = “Low income”) (eine strukturiertere Ansicht des Ergebnisses erhält man u.U., wenn man sich im Browser direkt den ausgegebenen Quelltext anzeigen lässt). Eine detailliertere Dokumentation von Möglichkeiten zur API-Nutzung findet sich direkt auf der Weltbank-Seite. Durch die direkte Abrufbarkeit der API im Browser kann man auch gut ein wenig mit unterschiedlichen Parametern der API herumspielen, um ein Gefühl dafür zu bekommen, wie die Benutzung funktioniert und was die API zu leisten vermag. Die so zusammengebaute API-URL (in unserem Beispiel: http://open.worldbank.org/countries?format=json&per_page=500) kann man dann über den entsprechenden Programmier-Befehl (für die im Beispiel verwendete Programmiersprache PHP z.B. cURL) für die weitere Verarbeitung und Umwandlung auslesen.

2. Ergebnis in ein für Google Maps lesbares Format umwandeln

Jetzt müssen die ausgelesenen Daten noch in ein für Google Maps lesbares Format umgewandelt werden. Hier bietet sich der Standard KML an, einer Beschreibungssprache für Geo-Daten, mit der man z.B. Orte auf einer Karte auszeichnen und mit ergänzenden Informationen versehen kann.  Alternativ kann auch die von Google bereitgestellte Google Maps-API direkt verwendet werden, um die Daten zu visualisieren. Die KML-Variante bietet jedoch den Vorteil, dass sie als Endresultat ein per Copy-and-Paste übertragbaren Code-Schnipsel hervorbringt, der sich einfach in Weblogs oder Content-Management-Systeme übertragen lässt, weshalb dieser Variante hier der Vorzug gegeben werden soll.

Die Daten aus der API der Weltbank werden in den Formaten XML oder JSON bereitgestellt, jeweils strukturierten Textdateien, die dazu geeignet sind, einzelne Datensätze und ihre Eigenschaften zu erfassen. Für diese Formate gibt es in den unterschiedlichen Web-Programmiersprachen in der Regel Befehle um diese einlesen und weiterverarbeiten zu können, für PHP ist dies z.B. der Befehl “json_decode()” zum Einlesen von Dateien im JSON-Format. Die so erhaltenen Datensätze (bzw. Objekte) kann man jetzt einzeln durchlaufen, und Eigenschaften, die auch auf einer Karte eingetragen werden sollen, in einen entsprechenden KML-String schreiben, eine Auflistung, was dies so alles seien kann, findet sich bei Google in der KML-Dokumentation. In unserem Beispiel waren dies im Wesentlichen der Name des Landes, der Einkommenslevel, der dann auf den PINs in der Google Maps-Karte erscheinen soll, sowie die Längen- und Breitengrade von der Hauptstadt des jeweiligen Landes (siehe Abb. unten). Im Zuge dieser Umwandlung kann man dann auch entsprechende grafische Formatierungen vornehmen, und z.B. allen Ländern mit niedrigem Einkommenslevel einen roten PIN verpassen. Die so erzeugte Datei speichert man dann als KML-Datei auf seinem Web-Server, so dass diese über das Internet erreichbar ist.

3. In eigenem Blog/Artikel einbinden

Puh, zugegebenermaßen: Punkt 2 war wirklich etwas technisch! Das gute ist: jetzt ist man quasi schon fertig! Google Maps kann KML-Dateien direkt verarbeiten, indem man die zugehörige URL direkt ins Suchfeld bei Google Maps kopiert. Hat man alles richtig gemacht, erscheinen die von der Weltbank-API übernommenen Daten dann direkt auf der entsprechenden Karte. Wer dies ausprobieren möchte, kann dafür die für dieses Beispiel verwendete KML-Datei verwenden (http://www.opendata-network.org/wp-content/uploads/2010/07/Worldbank_Data-API_GoogleMaps_IncomeLevel.kml), einfach den Link kopieren, ins Suchfeld einfügen und schauen, was passiert! Über “Link” -> “Eingebette Karte anpassen und Vorschau anzeigen” kann man dann noch einen gewünschten Kartenausschnitt und Zoom-Level wählen. Und: Fertig! Der so erzeugte HTML-Code kann jetzt in den eigenen Artikel oder die eigene Webseite kopiert werden, die Karte mit dem Daten-Overlay wird dann automatisch von Google nachgeladen!

Fazit: Dieser Artikel zeigt hoffentlich ein wenig, wie einfach es auch mit den aktuell zur Verfügung stehenden Bordmitteln schon seien kann, Daten aus offen verfügbaren Datenquellen in eigene Seiten einzubinden. Natürlich lässt sich mit ein wenig mehr Fantasie und Programmierkenntnissen noch deutlich mehr realisieren als hier im Beispiel gezeigt. So können z.b. mehrere Datensätze übereinandergelegt werden, um diese zu vergleichen, zeitliche Vergleiche angestellt werden, oder Karten noch mit eigenen Daten oder Daten aus anderen offenen Schnittstellen ergänzt werden. Also: ran an die Tasten! :-) Wer ein wenig rumgebastelt hat, und andere spannende Visualisierungen erstellt hat: ein Posting im Kommentar-Bereich wäre toll!

No related posts.

Dieser Eintrag wurde veröffentlicht in API, Datenjournalismus, Google Maps, Open Data, Visualisierung, Weltbank. Bookmarken: Permanent-Link. Kommentieren oder ein Trackback hinterlassen: Trackback-URL.

Ein Trackback

  1. Von Die Daten der Weltbank « tangogruppe am Juni 6, 2011 um 8:14 am

    [...] diese Date auch grafisch über Google Earth visualisieren zu können, wie das die Macher der Site . http://www.opendata-network.org) beschreiben und [...]

Ihr Kommentar

Ihre E-Mail wird niemals veröffentlicht oder verteilt. Benötigte Felder sind mit * markiert

*
*

Du kannst diese HTML Tags und Attribute verwenden: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>