Im Artikel "Radweganalyse per Smartphone" in Ausgabe 35 vom Dezember 2022 beschrieben die Autoren eine Möglichkeit, mittels Smartphone die Qualität von Radwegen zu ermitteln. Im vorliegenden Artikel soll diese Methode nun angewendet und die erhobenen Daten weitergehend analysiert werden.
Die Messungen wurden wie im oben genannten Artikel mittels der Software PhyPhox auf einem Xiaomi Smartphone durchgeführt. Da eine "echte" Smartphone-Halterung fürs Fahrrad nicht zur Verfügung stand wurde das Smartphone fix in einem Karton eingepackt und dieser dann auf dem Gepäckträger festgezurrt.
Die beispielhaft gefahrene Strecke im Norden von München bietet unterschiedliches Terrain: von Wurzeln durchbrochener Asphalt, kiesbedeckter Feldweg mit Schlaglöchern, neue glatte Asphaltdecke sowie ältere, geflickte Asphaltstraße.
Die Programmiersprache Python hat für diese Art Daten viele Funktionen an Bord und kann einfach mittels externer Bibliotheken erweitert werden. Hinzu kommt, dass mit den Jupyter Notebooks eine komfortable browserbasierte Oberfläche zur Visualisierung zur Verfügung steht.
Sie finden das Jupyter Notebook zusammen mit dem beschriebenen Beispieldatensatz in GitLab. Das Git-Repository ist frei verfügbar und kann mit den üblichen Git-Tools lokal geclont und bearbeitet werden:
Wer nur einen schnellen Blick auf die Analysen werfen will kann dies über folgenden Link tun:
Radweganalyse Notebook auf MyBinder
In MyBinder Service ist noch ein weiterer Schritt nötig um die Karte anzuzeigen im Notebook anzuzeigen: klicken Sie auf "View / Activate Command Palette", Suchen Sie nach "Trust" und aktivieren Sie die Funktion "Trust Notebook".
Was passiert nun in dem Notebook? Die enthaltene Zip-Datei "whg-forschungszentrum.zip" enthält die Daten eines mittels PhyPhox erstellten Experiments. Das Script liest die Daten des Bewegungs- und des GPS-Sensors aus. Anschließend werden diese wie folgt analysiert und visualisiert:
Die roten Punkte auf der Karte stellen also die größten "Hüpfer" dar die das Smartphone auf dem Weg aufgezeichnet hat.
Haben Sie selber Daten mittels PhyPhox aufgezeichnet, so können Sie sie im ZIP-Format in das laufende Jupyter Notebook hochladen (Seitenleiste links aufklappen, Button "Upload Files"). Das PhyPhox-Experiemnet muss mindestens die Daten des Bewegungssensors (Datei "Accelerometer.csv") sowie die GPS-Daten ("Location.csv") beinhalten. Anschließend ändern Sie am Anfang des Notebooks die folgende Zeile ab:
archiveFile = "whg-forschungszentrum.zip"
Statt der enthaltenen Zip-Datei geben Sie den Namen Ihrer Zip-Datei an und lassen das Notebook anschließend über den Menüpunkt "Run / Run all cells" alle Zellen neu berechnen.
Wer weitergehendes Interesse an dem Python-Code hat: die meiste Arbeit wird im Modul "SensorCode.py" verrichtet. Neben dem Jupyter-Notebook gibt es das Script "batch-analysis.py" welches eine ganze Reihe an Zip-Dateien im PhyPhox-Format analysiert und unterschiedlichste Analysen und Ausgaben tätigt. Dieses Script gibt die errechneten Maximal-Werte zusammen mit dem GPS-Koordinaten in unterschiedlichster Form aus. Unter anderem auch als einfache CSV-Datei, die als Grundlage der Analyse im nächsten Artikel dient.
Die oben gezeigte Analyse der aufgezeichneten Daten mittels Python ist sehr flexible, mit wenigen Zeilen Code lässt sich problmelos an eigene Fragestellungen und Datenbestände anpassen. Allerdings muss es nicht immer Programmcode sein: die mittels Python berechneten und den GPS-Punkten zugeordneten "Maximalen Werte" können auch in fertiger Software analysiert werden (oben beschrieben CSV-Datei).
Ein sehr umfangreiches Programm zur Analyse geographischer Daten ist QuantumGIS. In dieses wird die CSV-Datei mit Maximalwerten und GPS-Koordinaten als "Layer" eingeladen. Ein weiterer Layer zeigt im Hintergrund die OSM-Karte an.
In den Eigenschaften des Layers finden sich unter "Symbolisierung" nun vielfältige Möglichkeiten, die GPS-Punkte aufgrund ihrer Maximal-Werte einzufärben. Es lohnt sich, hier die unterschiedlichen mathematischen Klassifizierungen und Visualisierungen auszprobieren.
Wie sieht es nun aber aus mit unserem Beispieldatensatz? Im folgenden einige Screenshots der in Quantum GIS angelegten Analyse. Die einzelnen GPS-Punkte sind nach ihrem Maximalwert eingefärbt - je dunkler, desto kleiner der Wert, über verschiedene Rottöne geht es dann bis hin zu einem fast weißen Farbton (siehe auch Screenshot oben). Es wurde der Algorithmus "Gleiches Intervall" mit 10 Klassen gewählt.
Der erste Ausschnitt zeigt einige hellere Punkte - also "holprigeren" Weg - beim Umfahren einer Straßenmündung. Hier sind jeweils zwei größere Bordsteine im Spiel, die für das Verwackeln einiger GPS-Punkte sorgen:
Der zweite Abschnitt beginnt mit einer kleinen Steigung - auch diese ist gut sichtbar durch einige hellere Punkte. Danach folgt ein kiesbedeckter Feldweg, der sich generell gut fahren läßt aber durchgehend kleinere "Wackler" zeigen sich in etwas helleren Punkten.
Last not least - ganz neu asphaltierter Weg. Hier finden sich fast ausschließlich dunkle Punkte was auf eine ruhige und ungestörte Fahrt hinweist:
Die Radweganalyse mit dem Smartphone funktioniert. Mittels der PhyPhox-App lassen sich die Daten der Smartphone-Sensoren leicht kombiniert aufzeichnen und zur Weiterverarbeitung bequem exportieren. Dabei sind die hier gezeigten Analysen via Python oder QuantumGIS nur als Beispiele gedacht. Weitere Algorithmen, Visualisierungen oder Parametrisierungen eröffnen nahezu unendliche Möglichkeiten zur Auswertung der Sensor-Daten.