Spuren am Himmel: Wie stellt man Millionen von Flugpassagieren auf einer Karte dar?
Regelmässig wertet das BFS den Schweizer Flugverkehr aus. 2012 kam die Schweiz zum Beispiel auf rund 450’000 Flugbewegungen und 44 Millionen Passagiere.
Genauere Daten geben einen Überblick über die wichtigsten Destinationen von den hiesigen Flughäfen aus. So lassen sich etwa die aktuellen Daten vom ersten Quartal 2013 als Grundlage nehmen, um die Passagierströme auf einer Karte zu visualisieren.
Mit etwas Aufräumarbeit lässt sich aus Tabellenblatt B2 des Spreadsheets eine schnörkellose CSV-Datei der Zahlen erstellen. Die Ortsnamen können per mit einem Batch-Geocoder (Beispiel) einfach in Koodinaten übersetzt werden. Mit R lassen sich die Verbindungen anhand der Koordinaten auf eine Weltkarte projizieren. Das Resultat:
Einfache Weltkarten in R lassen sich mit map
erstellen.
map(database="world", col="#191919", fill=TRUE, bg="#000000")
Die Verbindungen nicht nur als Linien, sondern als Bögen zu haben, ermöglicht die Funktion gcIntermediate
aus dem Paket geosphere. Sie hilft dabei, einen Kreis durch zwei Punkte zu legen.
inter <- gcIntermediate(c(start$longitude, start$latitude), c(land$longitude, land$latitude), n=30, addStartEnd=TRUE) lines(inter, col=colors[shade], lwd=1)
Die Flug- und Ortsdaten als aufbereitetes Google Spreadsheet und beim BFS