Multi-Sprint Projekt zu einer individualisierbaren Wohnlagenkarte von Bielefeld
Wir haben uns ein sprichwörtlich bildliches Projekt ausgesucht: Wir möchten uns mit der offiziellen Wohnlagenkarte der Stadt Bielefeld beschäftigen, welche im Rahmen der Open-Data-Initiative der Stadt veröffentlicht wurde.
Diese interaktive Karte wollen wir als Vorlage nehmen und für den Nutzer individualisierbar machen. D.h. wir möchten die Möglichkeit schaffen Präferenzen einzugeben und diese dann für die Bewertung der Wohlagen in Bielefeld verwenden. Wenn es jemandem also wichtig ist nah an der Stadtbahn und an Eisdielen zu wohnen, dann möchten wir dies berücksichtigen können.
Hierfür sind eine Vielzahl an Schritten notwendig, welche wir in mehreren Code- Springs bearbeiten wollen:
- Wohnlagenkarte als 2D-Grafik erstellen
- Karte interaktiv gestalten
- OpenStreetMap-API abfragen um GPS-Koordinaten von Präferenzen im Stadtgebiet abzufragen
- Algorithmus bestimmen um Bewertung der Wohngebiete zu erzeugen
- ...
Das Ergebnis einer jeden Iteration dieses Projektes möchten wir als Web- Applikation öffentlich verfügbar machen. Hierfür verwenden wir Frameworks für R und Python, mit welchen auf einfache Weise selbst Web-Applikationen erzeugt werden können – Shiny und Dash.
Wenn ihr mehr Informationen erhalten oder mit uns über dieses Projekt unterhalten möchtet, so schaut bei dem nächsten MeetUp vorbei!
Eine erste Version der Wohnlagenkarte wurde mit Shiny in R umgesetzt und befindet sich im entsprechenden Unterordner dieses Repositories.
Als Vorlage haben wir die auf der Shiny-Seite verfügbare App Superzip verwendet. Die Funktionen der wichtigsten Dokumente sind:
prepare_data.R
- Die App verwendet ausschließlich öffentlich verfügbare Daten. Diese werden in diesem Skript verarbeitet und haben als Ausgabe die SQLite-Dateien desdata
-Ordners - dort abgelegt in komprimierter Form.ui.R
- Stellt die Frontend-Programmierung der App dar.server.R
- Dies ist das Backend-Skript der App. Hier werden insbesondere die reaktiven Elemente verwaltet und verarbeitet, welche den User-Input steuern und die Karte generieren.
Die einfachste Art diese App lokal auszuführen ist mit
RStudio. Hierfür einfach in das App-Verzeichnis
im Dateiexplorer innerhalb von RStudio navigieren, dieses zum
Working Directory machen, die Datei ui.R
öffnen und auf den Button
Run App klicken.