Ich bin jetzt im Herbst fleissig mit dem Velo und zu Fuss unterwegs. Dabei zeichne ich mit der App von sensorly gleich noch die Salt-Netzabdeckungskarte fürs 4G-Netz auf. Weil die tollen modernen Züge aber das GPS-Signal recht gut blocken und es nur in Fensternähe halbwegs akzeptabel wird, muss halt das Smartphone ans Fenster. Nur die ganze Zeit den Arm hochhalten wollte ich auch nicht. Also: die Magnethalterung an die Türstange (zwischen Wil und Flughafen kein Ausstieg auf der Seite) geklemmt und schön GPS und 4G-Netzstärke aufgezeichnet.
In der Mittagspause war ich dann zum Üetliberg unterwegs und hab auf dem Abstieg (zu Fuss) gleich noch zwei schicke Geocaches gefunden. Der Aufstieg war mit der SZU ziemlich bequem.
Auf den morgendlichen Touren vom Flughafen via Rümlang, Affoltern und/oder Höngg hab ich jetzt auch schon relativ viele Geocaches abgegrast. Die Flughafenauswirkungen (Abgase, Kerosin (?), Lärm) bemerkt man noch recht weit weg. Trotzdem ist alles nur ein paar Kilometer von Zürich weg sofort sehr ländlich.
Und ja, die herbstliche Aussicht vom Balkon zum Sonnenaufgang ist auch nicht zu verachten. Neulich waren die Berggipfel schon frisch geschneepudert, inzwischen ist davon nichts mehr zu sehen.
In Navihalterung Reloaded hatte ich mein damals neues Schlaufon mit einer Metallplatte versehen, um es in meiner magnetischen Saugnapf-Autohalterung verwenden zu können. Da ich seltenst ein Auto habe, aber viel öfter und lieber mit dem Zug Velo unterwegs bin, musste natürlich auch eine Velohalterung her. Die magnetische Befestigung hatte sich bewährt, also verwende ich auch hier dasselbe Prinzip.
Als Basis dient eine billig(st)e Alle-Versionen-Smartphone-Halterung. Deren Basis wird mit zwei starken Ringmagneten (z.B. von supermagnete.ch) beklebt. Dann ist es eigentlich schon fertig. Zur planen Ausrichtung der beiden Magnete sollte man am besten das Telefon (bzw. eine ebene Metallplatte) benutzen, damit es auch nach dem Aushärten noch passt.
Das Telefon kann jetzt einfach draufgelegt werden und hält ziemlich bombensicher. Bzw. bei einem allfälligen Sturz, bei dem sich das Telefon löst, hab ich glaub auch andere Probleme, die ein verschwundenes Telefon in den Hintergrund treten lassen sollten. Das Abnehmen des Telefons geht auch ganz schnell und einhändig, einfach zur Seite verschieben.
Ob das Telefon jemals einen Magnetkompass gehabt hat oder ob ich selbigen durch die Supermagnete erfolgreich dauerhaft abgestellt habe, ist mir unklar.
Mal wieder ein Wochenende zum Geocachen und Wandern in der Innerschweiz. Am Samstag war die längere Runde um Schindellegi dran, quasi auf der Grenze vom Kanton Schwyz zum Kanton Zürich bzw. zum Kanton Zug. Auf dem Rundweg hab ich noch ein Portemonnaie gefunden und dank der enthaltenen Daten konnten wir den Eigentümer telefonisch ausfindig machen und es zurückgeben. Gut, wenn man zwischendurch mal irgendwo die Blase leeren muss und dabei ein Portemonnaie findet 🙂
Am Sonntag war dann wieder ein Stück am Vierwaldstättersee dran: erst mit dem Schiff bis nach Treib und dort mit der Standseilbahn hoch nach Seelisberg, weiter dann auf dem Weg der Schweiz bis nach Bauen. Da bleiben noch etliche Kilometer zu laufen. Bauen war vom Mikroklima her komplett anders, mit Palmen, gefühlt fünf Grad wärmer, muss wohl wirklich an der lokal beeinflussten bzw. geschützten Lage liegen. Der Weg der Schweiz geht vom Rütli bis nach Brunnen, vollständig am Urnersee entlang, die 26 Wegteile sind proportional zur Einwohnerzahl der Kantone lang: Weg der Schweiz.
Auf dem Weg (per Velo) vom Flughafen zum Limmatplatz fiel mir heute morgen nach ein paar Metern auf, dass die Tretlagerachse zu wackeln schien. Ein kurzer Blick nach unten bestätigte allerdings schnell, dass sich nur die rechte Lagerschale (die mit dem Linksgewinde natürlich) herausgedreht hatte. Eine Zange hatte ich natürlich nicht dabei, und ein Lagerwerkzeug inklusive Kurbelabzieher auch nicht. Bis ins Büro hat es aber handfest angezogen noch ausgereicht.
Offensichtlich geht es direkt von der Hitze- in die Heizperiode: 5°C morgens, Nebel, der Herbst ist also da. Perfekt jedenfalls, um morgens mit dem Velo durch den Flughafen zu fahren und von dort die 10km ins Büro zu pedalieren.
Auch wenn kein Nebel da ist, muss man immerhin nicht so früh aufstehen, um den Sonnenaufgang mitzubekommen.
Der Titel klingt ähnlich wie Schwerter zu Pflugscharen, aber technisch geht’s nur darum, die knapp 340’000 Hektarrasterzellen vom BfS (mit Bevölkerung/Haushalten) bestimmten Postleitzahlen zuzuordnen. Sicher gibt’s die Zuordnung schon irgendwo, aber man kann sie ja auch berechnen. Ein Anwendungsfall wäre, dass man pro Postleitzahl die Bevölkerung ausrechnen möchte, aber nur die Zählung pro Hektarrasterzelle hat. Ein weiterer Anwendungsfall, etwas allgemeiner: ich möchte für einen beliebigen Flächenumriss wissen, wieviele Leute dort wohnen, das könnten also auch Gemeindegrenzen, Kantonsgrenzen, Verkaufsgebiete o.ä. sein.
Damit lässt sich schon mal eine Karte der PLZ erstellen. Im QGIS sind das drei Layer: PLZ-Polygone, Wasserwege und Bahnlinien, bisschen Transparenz, passende Farben, fertig.
Dazu kommen dann die BfS-Hektarrasterzellendaten z.B. aus STATPOP, wie bereits hier schon verlinkt: Grenznäheberechnung mit R. Erstmal gucken wir uns die Hektarrasterzellendaten im GIS an und stellen ein Problem fest:
Die Hektarrasterzellen sind aber Zellen von 100x100m, also geometrische Flächen, keine Punkte. Dementsprechend ungeeignet sind sie für die Berechnung eines Verschnitts von HR-Zellen und Postleitzahl-Polygonen. Eine Umwandlung der Hektarraster-Punkte in Hektarraster-Polygone ist notwendig. “Klingt komisch, is aber so”, um es mal mit der Sendung mit der Maus zu sagen.
Nach ein bisschen Berechnung und Umwandlung (auch in R, kombiniertes Skript s.u.) sieht die Karte schon viel schöner aus:
Ein Kartenausschnitt zeigt es noch deutlicher, dass die Punkte jetzt Polygone mit scharfen Grenzen sind:
Jetzt sind die PLZ-Polygone und die Hektarrasterzellen-Polygone in der Form, die es braucht, um eine Überschneidung zu berechnen. Da treten wieder zwei Fälle auf: einerseits kann eine HR-Zelle vollständig in einer Postleitzahl liegen; andererseits kann sie zu mehreren PLZ gehören. Der Einfachheit halber wird am Ende also eine Tabelle ausgegeben, die zu jeder HR-Zelle eine Postleitzahl aufführt und den Zugehörigkeitsgrad zu dieser PLZ. Den flächenmässigen Verschnitt habe ich nicht weiter berücksichtigt. D.h. wenn eine HR-Zelle sich mit drei PLZ überschneidet, dann bekommt sie einen Zugehörigkeitsgrad von jeweils 1/3 zu jeder der PLZ.
Für die Berechnung des Verschnitts gibt es die R-Funktion “over” aus dem allseits bekannten sp-package. Die scheint nicht besonders effizient zu sein oder es dauert einfach ziemlich lange. Aber mit Parallelisierung geht’s wiederum in akzeptabler Zeit und auch hier muss man das ja nicht permanent neu berechnen, sondern macht es nur einmal.
Eine Beispielausgabe des Skripts kann jetzt so aussehen: CSV-File (Sample). RELI der HR-Zelle, PLZ, Zugehörigkeitsgrad und als Zahlenbeispiel die Totalbevölkerung der Zelle (gewichtet und ungewichtet).