Bürgerentscheid „Zentralbad stoppen!“: Oha.

Die vorläufigen Abstimmungsergebnisse zum Bürgerentscheid »Zentralbad stoppen!« sind da. Die perfekte Gelegenheit, diese Zahlen zu nehmen und sie auf eine Karte zu werfen!

Zunächst einmal schauen wir uns an, wie die einzelnen Wahlbezirke abgestimmt haben.

Bürgerentscheid "Zentralbad stoppen!": Oha.

Blau: Überwiegend NEIN, Gelb: Überwiegend JA

Moment mal, kennen wir diese Grafik nicht bereits? Aber hallo!

Bürgerentscheid "Zentralbad stoppen!": Oha.

Bei der Geburt getrennt: Ergebnisse des letzten (links) und des aktuellen (rechts) Bürgerentscheids

Wie konnte es passieren, dass der letzte Bürgerentscheid mit einem knappen „Nein“ ausging, der aktuelle hingegen mit einem knappen „Ja“?

Wie es scheint, haben sich die Kräfteverhältnisse in den „Ja“-Bezirken nicht so stark verändert, der Anteil der „Nein“-Stimmen hingegen ist in einigen Stadtbezirken stark zurückgegangen und liegt zwar immer noch über 50 %, aber halt nicht mehr so deutlich wie noch vor einem Jahr.

Die Bonner seien von der erneuten Abstimmung genervt, hieß es gelegentlich. Hat sich das in einer niedrigeren Wahlbeteiligung niedergeschlagen?

Bürgerentscheid "Zentralbad stoppen!": Oha.

Nein.

Fast vier Prozentpunkte mehr, von 39,1 % auf 42,9 %, ist die Beteiligung gestiegen.

Die interaktive Karte zur Zentralwasserspaßlandbad-Abstimmung gibt es hier, eine geteilte Ansicht mit beiden Abstimmungen nebeneinander hier.

Viel Spaß!

git? git gud.

Maps

Wer ein Android-Gerät mit sich herumträgt, schickt in mehr oder weniger regelmäßigen Abständen Informationen über den eigenen Standort an Google1.

In einem Tool namens „Google Standortverlauf“ kann man sich die vergangenen Standorte seiner Mobilgeräte netterweise hübsch aufbereitet anzeigen lassen. Außerdem kann man die Standorte als kml-Datei exportieren.

Was könnte man damit alles machen? In meinem Artikel Nachts in Bonn hatte ich bereits die zurückgelegte Wegstrecke aus dem Standortverlauf exportiert und in einer OpenStreetMap-Karte dargestellt2.

Nun wollte ich etwas leicht anderes machen: Die innerhalb eines Monats erfassten Standorte und Bewegungen dynamisch auf einer Karte darstellen. Eine zweiminütige Internetrecherche brachte kein Tool zum Vorschein, das das konnte, was ich mir vorstellte. Außerdem macht alles viel mehr Spaß, wenn man es selbst gemacht hat.

Ich habe mir also ein Python-Skript gebastelt, das aus einer kml-Datei Zeitstempel und Standorte ausliest, diese nach Tagen, Stunden und Viertelstunden clustert und dann sukzessive auf eine vorgegebene Karte malt.

Diese 2784 Einzelkarten habe ich mit avconv in ein Video zusammengeführt. Für den Januar 2013 sieht das dann beispielsweise so aus wie im folgenden Video 3.

Es ist faszinierend zu sehen, wie stark die Frequenz der Datenpunkte schwankt: Mal ist die gesamte Straßenbahnlinienführung erkennbar, mal springt der Standort ohne bestimmtes Muster von einem Punkt zum anderen. Auch die fehlerhaften Standorte sind teilweise sehr lustig anzusehen, wenn sich z. B. plötzlich Strahlenbündel bilden. Und sooo oft habe ich auch noch nicht im Rhein gebadet.

Generell lässt sich aus dem Standortverlauf ein relativ gutes Abbild des Lebens der verfolgten Person rekonstruieren. Deshalb habe ich auch einen zwei Jahre alten Ausschnitt genommen. Ein Video aus Daten von 2014 sieht in einigen relevaten Punkten bereits etwas anders aus.

Das Python-Skript zum Übertragen der Pfade auf die Karte gibt es hier ausnahmsweise mal nicht, das ist nämlich noch sehr quick-and-dirty.

Notiz an mich selbst: Bilder und Musik mit avconv zu einem Video machen

avconv -r 10 -start_number 60 -i movie-%d.jpg -b:v 1000k -i music_file.mp3 -strict experimental output.mp4
  1. Sofern man nicht alle Standortdienste deaktiviert hat
  2. Wie ich eben sehe, klappt die Einbindung der Karte dort irgendwie nicht mehr. Timing!
  3. Hinweis: Die Tage und Uhrzeiten entsprechen nicht den realen Zeiten

Eine Minecraft-Straßenkarte für den Nether basteln

Für den Minecraft-Server auf ironhide.de gibt es seit Mitte Juli eine mit Mapcrafter erstellte Google-Maps-artige Onlinekarte. Die ist sehr cool, da sich mit ihr gut Entfernungen und relative Positionen abschätzen lassen. Und natürlich kann man auf ihr die vielen prächtigen Bauwerke bewundern.1

Im Nether, der anderen Dimension, klappt das leider nicht ganz so gut: Der hat nämlich unten und oben eine Decke, man kann also nur sehr schlecht von oben reinsehen. Abhilfe schaffen entweder die (sehr bunte und unübersichtliche) Cave-Ansicht oder ein Abschneiden aller Blöcke ab einer bestimmten Höhe. Während das auf der betreffenden Karte im Startgebiet noch relativ ansehlich aussieht, weil nach oben relativ viel Platz ist, sieht man anderswo nur noch die rote Decke.

Ich hätte deshalb gerne eine 2D-Karte, auf der die Verkehrswege übersichtlich eingezeichnet und vor allem die Bahnstrecken gut zu erkennen sind. Das lässt sich zwar händisch malen, aber da ich faul bin, suchte ich einen Weg, das Ganze zu automatisieren.

Zum Glück gibt es eine Python-Bibliothek, mit der sich Minecraft-Maps bearbeiten lassen: pymclevel. Mehr brauchte ich eigentlich nicht.

Praktischerweise sind die meisten wichtigen Wege auf unserer Karte aus ästhetischen und sonstigen Gründen aus Stein gebaut, der in dieser Dimension nicht „natürlich“ vorkommt. Wenn man also die Position aller Steinblöcke kartographiert, sollte man ein akzeptables Abbild des Wegenetzes bekommen.

Ich schrob also zwei Skripte: Eins, das die Karte lädt, daraus die Nether-Dimension lädt und dann die Position aller Steinblöcke, Schienen, Obsidianblöcke (für Portale) und Netherziegel (für Netherfestungen) ausliest. Und ein zweites, das daraus eine SVG-Karte bastelt.

Für den ironhide-Server sieht die dann zum Beispiel so aus:

mcpaths

Klick misch für die interaktive Version!

Hübsch.

Das Projekt gibt es auf GitHub zum selbst ausprobieren. Bitte zunächst die README.md lesen 😉

Hinweis: Wie wir festgestellt haben (*hust*), sollte man das Tool nicht auf einer Karte ausführen, die gerade bespielt wird. pymclevel setzt offenbar einige Schreibsperren, wodurch sich Minecraft verschluckt und alle Änderungen an der Welt wieder verschwinden, sobald der entsprechende Teil der Welt (Chunk) aus dem Speicher fliegt und eigentlich auf der Festplatte gesichert werden müsste.

Mit Karten der neuen Version 1.8 funktioniert das Tool auch (eben getestet).

Oh, und pymclevel benötigt übrigens die python-Pakete numpy und PyYaml.

  1. Seit dem Upgrade auf die Minecraft-Version 1.8 verschwinden leider die Markierungen wieder, sobald man das betreffende Gebiet der Karte betritt. Hier wäre wohl mal ein Mapcrafter-Upgrade fällig.