SlideShare ist ein Scribd-Unternehmen logo
1 von 106
Downloaden Sie, um offline zu lesen
OKLab Leipzig
Licensed under CC-by v4.0 (any jurisdiction)
Update
2023
4 – 8 Leute
2014 –
Basislager.co
Meetup.com Github.com
Basislager.co
okfn.de codefor.de codeforleipzig.de
codefor.de/mitmachen
Arbeit an Projekten Workshops
Input-Sessions / Vorträge Hackathons
Vorgehen
● Was: Nutzung offener Daten mit Bezug zu Stadt / Region
● Zielgruppe: direkt oder indirekt Bürger, Unterstützung im Alltag
● Daten befreien: Scraper schreiben, um Daten zu parsen
● Harmonisieren: gewonnene Daten in standardisiertes Format
bringen
● Analyse: Muster in Daten erkennen, Anreichern mit Metadaten
● Aufbereitung: Suche, Datenvisualisierung, Geolokalisierung
programmieren
● Redeployment: Anwendung für andere Städte
nutzbar machen
5stardata.info
Ten principles for opening up government information Was sind offene Daten?
Wie alles anfing...
EinUndLeipzig (2014): Mietpreise
einundleipzig.de
Wie alles anfing...
EinUndLeipzig (2014): Stadtteil-Umzüge
einundleipzig.de
Wie alles anfing...
EinUndLeipzig: Architektur
● Daten: Leipzig Statistik / recherchiert von Journalistik-Studenten,
die wir damals beim Aufbau der Seite unterstützt hatten
● Technologie: HTML, Javascript, D3.js
einundleipzig.de
Wie alles anfing...
EinUndLeipzig: Wie unterstützen?
● Daten auf den aktuellen Stand von 2018/19 bringen
●
Aktuellen Mietspiegel verwenden
https://www.leipzig.de/buergerservice-und-verwaltung/aemter-
und-behoerdengaenge/behoerden-und-dienstleistungen/diens
tleistung/mietspiegel-der-stadt-leipzig-5360b46eb0425/
●
Monitorbericht Wohnen
https://www.leipzig.de/bauen-und-wohnen/stadtentwicklung/ra
umbeobachtung-und-monitoring/monitoring-wohnen/
● Veränderungen der letzten Jahre journalistisch nachvollziehen
●
Stand der Gentrifizierung jetzt
● Analyse der Immobilien-Firmen in Leipzig
● Renovierungen / Neubauten über OpenStreetMap Diffs
nachvollziehen
● Kontakt zum Datenjournalismus-Studiengang in Leipzig
aufnehmen
● http://leipzig-stadtfueralle.de / http://leipzigfueralle.blogsport.eu
● Engagement Deutsche Wohnen in Leipzig
https://ratsinfo.leipzig.de/bi/vo020.asp?VOLFDNR=1011413
OKLab Leipzig
Luftqualität Sachsen
https://luftqualitat.readthedocs.io
OKLab Leipzig
Luftqualität Sachsen: Architektur
luftqualitat.readthedocs.io
● Daten: gescrapt vom Umweltamt Sachsen
● Technologie: Django
Wie unterstützen?
● Wieder zum Laufen bringen
● Aktuelle Daten verwenden
● Verbindung zu www.luftdaten.info und www.opensensemap.org
● Code auf https://github.com/CodeforLeipzig/luftqualitaet_sachsen
OKLab Leipzig
Kids LE: Kindergärten und Schulen
kidsle.leipzig.codefor.de
OKLab Leipzig
Kids LE: Architektur
● Daten: OpenStreetMap extrahiert / selbst recherechiert
● Technologie: Django / GeoJSON
● Daten auf den aktuellen Stand bringen (neu entstandene
Kindergärten und Schulen nachtragen)
● Verknüpfung mit Kiwan (https://www.meinkitaplatz-leipzig.de)
● Idee von https://www.facebook.com/KitaPlatzTauschboerse wieder
aufgreifen
● Kinderärzte erfassen
● https://github.com/CodeforLeipzig/osm4kids war ein geplantes
Nachfolgeprojekt
● Code auf https://github.com/CodeforLeipzig/kidsle
Wie unterstützen?
kidsle.leipzig.codefor.de
OKLab Leipzig
Kids LE: Architektur
● Daten: OpenStreetMap extrahiert / selbst recherechiert
● Technologie: Django / GeoJSON
● Daten auf den aktuellen Stand bringen (neu entstandene
Kindergärten und Schulen nachtragen)
● Verknüpfung mit Kiwan (https://www.meinkitaplatz-leipzig.de)
● Idee von https://www.facebook.com/KitaPlatzTauschboerse wieder
aufgreifen
● Kinderärzte erfassen
● https://github.com/CodeforLeipzig/osm4kids war ein geplantes
Nachfolgeprojekt
● Code auf https://github.com/CodeforLeipzig/kidsle
Wie unterstützen?
kidsle.leipzig.codefor.de
OKLab Leipzig
Stadtratmonitor
stadtratmonitor.leipzig.codefor.de
OKLab Leipzig
Stadtratmonitor: Architektur
● Daten werden mit einem in Ruby geschriebenen Scraper (
https://github.com/jrlover/city_council_leipzig_recent_papers)
jeden Tag über www.morph.io über einen CronJob (
https://morph.io/jrlover/city_council_leipzig_recent_papers) vom
Leipzig Ratsinformationssystem (https://ratsinfo.leipzig.de/) als
CSV-Daten gezogen
● Ruby-Rails-Anwendung wird vom morph.io CronJob nach dessen
Beendigung über einen Webhook benachrichtigt
● Ruby-Rails-Anwendung holt die neuen CSV-Daten und importiert
sie eine SQLite Datenbank von der sie wiederum in einen
ElasticSearch-Server importiert und dort indiziert werden
● neben dem Suchformular in der Webanwendung gibt es
außerdem noch die Möglichkeit, Suchen als RSS-Feed zu
abonnieren
stadtratmonitor.leipzig.codefor.de
OKLab Leipzig
Stadtratmonitor: Wie unterstützen
● Scraper ablösen und stattdessen die Daten aus dem nun
verfügbaren Oparl-REST-Endpunkt des RIS-Systems nutzen:
https://ratsinfo.leipzig.de/bi/oparl/1.0/bodies.asp?id=2387
● Karte mit geolokalisierten Papers bauen analog zu
https://www.muenchen-transparent.de
● Beschlussstatus der einzelnen Vorlagen expliziter machen (also
ob beschlossen, geändert beschlossen, oder abgelehnt), analog
zu https://github.com/sascha11110/hackatum-citygraph
(alternativ vielleicht auch in Form eines Kanban-Boards)
● PDF-Dokumente scrapen und durchsuchbar machen (z.B. mit
http://givemetext.okfnlabs.org)
● https://politik-bei-uns.de und https://meine-stadt-transparent.de
als weitere Referenz
● https://github.com/CodeforLeipzig/stadtratmonitor – Code als
auch Issue Tracker
stadtratmonitor.leipzig.codefor.de
OKLab Leipzig
Stadtratmonitor: Wie unterstützen (2)
● Online-fähig machen (aktuell wird auf die Artikel in der Original-
Seite verlinkt, die sind aber nicht mobil-fähig)
● Karte mit Stadtbezirksräten und Ortschaftsräten (Adresse +
nächstes angesetztes Treffen + Protokoll vom letzten Treffen)
● Personen bei Einreichern verlinken
● Harmonisieren der Einreicher-Namen (z.B. SR, Stadtrat,
Stadträtin, Name ausgeschrieben, abgekürzt, usw.), eventuell
kann man dazu das Tool http://openrefine.org nutzen
● Wordle generieren aus häufigen Worten in den Vorlagen
(Zeitraum-basiert)
● Statistische Auswertungen (meiste Antragssteller, usw.) (grafisch)
● Amtsblatt verlinken:
https://www.leipzig.de/buergerservice-und-verwaltung/stadtverwa
ltung/amtsblatt/
● Livestream aus Stadtrat verlinken und taggen:
https://www.l-iz.de/tag/livestream
stadtratmonitor.leipzig.codefor.de
OKLab Leipzig
LVZ Polizeiticker
lvz-viz.leipzig.codefor.de
OKLab Leipzig
LVZ Polizeiticker Statistiken
lvz-viz.leipzig.codefor.de
OKLab Leipzig
LVZ Polizeiticker: Architektur
● Java Spring Boot Anwendung im Backend
● von http://www.lvz.de/Leipzig/Polizeiticker/Polizeiticker-Leipzig
werden vom CronJob die Artikel gescrapt und in einen
ElasticSearch Index geladen
● aus dem Text des Artikels werden mittels Named-Entity-
Recognition-(NER)-Bibliothek potenziell geolokalisierbare Namen
extrahiert: https://nlp.stanford.edu/software/CRF-NER.shtml
● gegen https://nominatim.openstreetmap.org/ werden diese
Namen in Geokoordinaten aufgelöst
● Frontend ist in AngularJS 1! (https://angularjs.org) programmiert
und nutzt Leaflet (https://leafletjs.com) als Plugin für die
Kartendarstellung (darüber wird auch die Heatmap unterstützt)
● Frontend kommuniziert über REST-Aufrufe mit dem Backend, um
Suchanfragen, Blättern in den Suchergebnissen darstellen zu
können
lvz-viz.leipzig.codefor.de
OKLab Leipzig
LVZ Polizeiticker: Wie unterstützen?
● AngularJS 1 auf die letzte Version (z.B. 7) aktualisieren oder
gleich ein anderes Frontend-Framework (z.B. Vue.js) benutzen
● Geolokalisierung aus den Texten heraus ist nicht immer richtig,
deswegen sollte es die Möglichkeit, über das UI die Geo-Marker
nachträglich manuell permanent umzusetzen (vielleicht sogar als
Crowd sourcing realisierbar)
● Beidseitig Verlinkung von Text auf Marker und von Marker auf
Text, momentan wird nur Popup angezeigt
● Taggen / Kategorisieren von Artikeln (Verbrechen) durch die
Nutzer ermöglichen
● Accordion-Widget, um Platz in Artikel-Leiste zu sparen:
https://api.jqueryui.com/accordion/#entry-examples
● Code befindet sich auf https://github.com/CodeforLeipzig/lvz-viz
dort gibt es auch nochmal einen Issue Tracker:
https://github.com/CodeforLeipzig/lvz-viz/issues
lvz-viz.leipzig.codefor.de
OKLab Leipzig
wo-ist-markt.de/#leipzig
OKLab Leipzig
Wo ist Markt (Leipzig): Architektur
● HTML, Javascript, Leaflet
● Web-Anwendung nicht von uns in Leipzig entwickelt, wir haben
nur die folgende JSON-Datei bereitgestellt
● https://github.com/CodeforLeipzig/wo-ist-markt.github.io/blob/ma
ster/cities/leipzig.json
editieren (am besten auf einen eigenen Branch) und
anschließend einen Pull-Request gegen das Haupt-Repo stellen
● um Änderungen nicht manuell nachtragen zu müssen, gibt es
jetzt auch einen Javascript-basierten Scraper für die Leipziger
Behörden-Seite:
https://github.com/CodeforLeipzig/wo-ist-markt-scraper die eben
diese JSON-Datei als Ergebnis erzeugt
● Scraper nutzt https://github.com/cheeriojs/cheerio für das
Navigieren im DOM und https://mozilla.github.io/nunjucks/ als
Templating-Engine
wo-ist-markt.de/#leipzig
OKLab Leipzig
Wo ist Markt (Leipzig): Wie unterstützen?
● Kombinieren mit https://farmshops.eu
● Weitere Städte in der Region erfassen
● Scraper-Code:
https://github.com/CodeforLeipzig/wo-ist-markt-scraper
● https://github.com/CodeforLeipzig/wo-ist-markt.github.io die
geforkte Web-Anwendung von
https://github.com/wo-ist-markt/wo-ist-markt.github.io
wo-ist-markt.de/#leipzig
OKLab Leipzig
Amikeco (Prototype)
jrlover.github.io/amikeco
OKLab Leipzig
Amikeco: Architektur
● Entstanden im Rahmen des Digital Refugees Lab 2016:
https://codefor.de/digitalrefugeelabs/
● als Meetup-Clone geplant für Leute die neu in Leipzig sind und
Kontakte zu anderen über Freizeitaktivitäten knüpfen wollen
● HTML, Javascript, Bootstrap-Anwendung (
https://getbootstrap.com) (Web-Komponenten-Framework)
Wie unterstützen?
● Backend-Logik implementieren (Anmelden, Termin anlegen,
Favoriten pflegen, usw.)
● Code auf https://github.com/jrlover/amikeco
jrlover.github.io/amikeco
OKLab Leipzig
Trinkwasser (Redeployment)
trinkwasser.codeforleipzig.de
OKLab Leipzig
Trinkwasser: Architektur
● Daten wurden von MIDEWA bereitgestellt
● Redeployment der Web-Anwendung (HTML, JS) von
https://github.com/opendata-heilbronn/trinkwasser
●
Branding und Texte ausgetauscht
●
Andere Mineralwasser-Quellen (Vergleichswerte)
●
Einpflegen der bereitgestellten CSV-Datensätze
● Leaflet-Karte wurde zusätzlich von uns gebaut
● Gemeinde-Kreise wurden über eine entsprechende Abfrage der
Administrations-Grenzen in https://ww.overpass-turbo.eu als
GeoJSON extrahiert (
https://github.com/CodeforLeipzig/trinkwasser/tree/master/utils/D
rinkingWaterGenerator
) und nachträglich über einen TopologyPreservingSimplifier aus
dem JTS vereinfacht
● Im GeoJSON sind die Trinkwasser-Daten nachgepflegt
trinkwasser.codeforleipzig.de
OKLab Leipzig
Trinkwasser: Wie unterstützen?
● Aktuelle Daten bekommen und nachpflegen
● Daten für Leipzig direkt bekommen und entsprechend dann auch
Mineralwasser aus dem Leipziger Land als Vergleichwerte
nehmen
● Interessante Daten bekommen (z.B. Nitrat-Belastung,
Grundwasserspiegel)
● Trinkwasser-Qualität selber messen (Sensoren dazu sind aber
teuer)
● Inspriation vielleicht:
https://blog-smartcountry.de/eine-lorawan-tonne-fuer-muensters-
aasee/
● Verlegte Wasser-Rohre in Augmented Reality (mit Anzeige der
letzten Wartung / Austauschs)
trinkwasser.codeforleipzig.de
OKLab Leipzig
Gläsernes Klärwerk
codeforleipzig.github.io/glaeserne-klaeranlage/
OKLab Leipzig
Gläsernes Klärwerk
Architektur Wie unterstützen?
● Daten wurden von MIDEWA
bereitgestellt
● Mit https://c3js.org erstellt
● Aktuelle Daten bekommen
● Weitere interaktive Diagramme
bauen, z.B. Sankey diagrams:
codeforleipzig.github.io/glaeserne-klaeranlage/
OKLab Leipzig
OpenSenseMap (Leipzig)
opensensemap.org
OKLab Leipzig
OpenSenseMap: Architektur
● Von Uni-Münster uns im Rahmen von https://sensebox.de
bereitgestellt
● Die senseBox:home ist eine modulare Umweltmessstation zum
selber bauen (auf Arduino Basis) zur kontinuierlichen
ortsbezogenen (mobilen oder stationären) Messung von
Temperatur, Luftfeuchte, Luftdruck, Beleuchtungsstärke, UV-
Strahlung oder Feinstaubbelastung
● Installations-Beschreibung findet sich hier:
https://sensebox.github.io/books-v2/home/de/index.html?Deutsch
=Deutsch
opensensemap.org
OKLab Leipzig
OpenSenseMap: Wie unterstützen?
● Wir haben im Lab keinen geeigneten Aufstellplatz gefunden
● Inzwischen ist einer der Sensoren kaputt, die Temperatur wird
falsch ausgegeben, an sich ist noch ein weiterer Sensor verbaut,
der auch Temperatur-Daten liefert, Software-mäßig werden
dessen Werte aber bei der Ausgabe von den Daten des kaputten
Sensors überschrieben
● d.h. man könnte die Sensebox entweder durch einen neuen
Sensor (teuer) reparieren oder über Anpassung der Software
teilweise reparieren
opensensemap.org
OKLab Leipzig
damals.in/museums
Museen Mitteldeutschlands
OKLab Leipzig
Museen Mitteldeutschlands: Architektur
● HTML mit Leaflet-Plugin
● Daten wurden aus einem lokal gehosteten Nominatim Server (via
Docker und OSM Extrakten von http://download.geofabrik.de)
extrahiert (um das Aufruf-Limit zu umgehen)
● Die Mittelpunkte der Shapes wurden selber programmatisch
berechnet
● Die Daten werden als GeoJSON in Leaflet geladen und als Cluster-
Karte dargestellt
damals.in/museums
OKLab Leipzig
Museen Mitteldeutschland: Wie unterstützen?
● Noch mehr Informationen aus https://www.museum-digital.de/
oder auch www.deutsche-digitale-bibliothek.de an die Museen
hinterlegen (z.B. Ausstellungsstücke)
● Museums-Kategorien extrahieren (oder vergeben lassen):
Heimatmuseum, Naturkundemuseum, DDR-Museum, usw.
● Filtern der Marker nach Kategorie
● Filtern nach Öffnungszeiten
● Code liegt auf
https://github.com/CodeforLeipzig/codingdavinciost2018/tree/mas
ter/de.oklab.leipzig.cdv.glams
damals.in/museums
OKLab Leipzig
damals.in/leipzig
OKLab Leipzig
damals: Architektur
● HTML mit Leaflet-Plugin
● Die Bilder wurden bereitgestellt von
https://codingdavinci.de/daten/#stadtgeschichtliches_leipzig und
https://codingdavinci.de/daten/#stadtarchiv_leipzig im Rahmen
des https://codingdavinci.de/events/ost/ Hackathons
● Außerdem wurden CSV / XLSX Dateien mit den dazugehörigen
Metadaten bereitgestellt
● Fotos wurden inzwischen auch auf Wiki commons hochgeladen
und werden von dort auch referenziert
● Neben der Hauptanwendung (Karte mit geolokalisierten Fotos)
gibt es noch ein Spiel (http://damals.in/leipzig/spiel/) bei dem
man den Aufnahmeort eines Fotos möglichst nah erraten soll
sowie ein Quiz (http://damals.in/leipzig/quiz/) bezogen auf die
Fotos (bzw. ihrer dargestellten Orte / Elemente)
damals.in/leipzig
OKLab Leipzig
damals: Wie unterstützen?
● Mehr freie Fotos auch aus unterschiedlichen Epochen
geolokalisieren und referenzieren
● mehr Quizfragen (statt nur einer, wie aktuell)
● Suchen in Metadaten der Fotos filtert die entsprechenden Marker
auf der Karte
● Motive, die in mehreren Fotos vorkommen taggen und suchbar
machen (z.B. Neues Rathaus am Horizont)
● Weitere Ideen gibt es in der Präsentation
https://github.com/CodeforLeipzig/codingdavinciost2018/blob/ma
ster/docs/presentation/damals.pdf
ab Folie 17 sowie Links zu verwandten Projekten
https://altes-leipzig.net und http://altes-leipzig.de fehlen da noch
in der Aufstellung
● Collage alt und neu wie z.B. in Heilbronn gemacht:
http://heilbronn.apps-1and1.net/marktplatz
damals.in/leipzig
codeforleipzig.github.io/opendata-leipzig-playground
OKLab Leipzig
Leipzig openData
OKLab Leipzig
Leipzig openData
codeforleipzig.github.io/opendata-leipzig-playground
OKLab Leipzig
Leipzig openData: Architektur
● HTML mit Leaflet-Plugin und GeoJSON / JSON-Dateien
● Teil eines Tutorials, wie man nach und nach immer komplexere
Karten-Anwendungen mit Leaflet erstellt, die Dateien hierzu
können hier heruntergeladen werden:
https://github.com/CodeforLeipzig/opendata-leipzig-playground/re
leases
● Jede der enthaltenen HTML-Dateien lässt sich einzeln im Browser
öffnen, sie sind aber dazu gedacht im einfachen Text-Editor
geöffnet und bearbeitet zu werden, sie enthalten Kommentare
und austauschbare Teile, mit denen man den Umgang mit Leaflet
lernen kann (nach Speichern der Änderungen sieht man deren
Auswirkungen direkt im Browser)
● nutzt die Shape-Daten und die statistischen Daten von
http://opendata.leipzig.de
codeforleipzig.github.io/opendata-leipzig-playground
OKLab Leipzig
Leipzig openData: Wie unterstützen?
● Weitere Redeployments für andere Städte wie bereits für
Wuppertal (
https://github.com/joergreichert/GeohackDesGutenLebens /
https://joergreichert.github.io/GeohackDesGutenLebens/) und
Moers (https://github.com/joergreichert/hackday-moers-2019 /
https://joergreichert.github.io/hackday-moers-2019/) geschehen
● Legende generisch aus der Werte-Spanne der errechnen lassen
● Javascript-Code in wiederverwendbare Dateien extrahieren
● Auswahlbox für dynamische Attributauswahl, so dass nicht nur
Einwohnerdaten sondern andere Daten anzeigbar sind
● Andere Visualisierungen (z.B. Kuchendiagramm) je nach
Attributauswahl
● Radarchart aus Moers-Redeployment mit Auswahl von höchstens
3 Attributen auf einmal und mit Karte in Beziehung setzen
● https://github.com/CodeforLeipzig/opendata-leipzig-playground/tr
ee/master/docs
codeforleipzig.github.io/opendata-leipzig-playground
app.klimabot.de
https://docs.google.com/forms/d/18FiR3sGQMKI5g6AR38uD5Q-Iwl_
CnVrlseJg1WlTwHg/edit#responses
● Bot (aktuell in Form einer Webapp), der in natürlicher Sprache
formulierte Fragen zum Klima-Wandel beantworten kann
● Neben Wissensfragen sollen auch statistische Fragestellungen
mit Orts- und Zeitbezug beantwortet werden können
– Beispiel: Wie viel CO2 hat Deutschland im Jahr 2017
produziert?
Klimabot - Ziele
OKLab Leipzig
● App: https://app.klimabot.de
● Entwicklung:
– Server: https://gitlab.com/gerbsen/climatebot
– UI: https://gitlab.com/gerbsen/climatebot-ui
● Verwendete Technologien
– Snips NLU: https://github.com/snipsco/snips-nlu
– Flask
– Wikipedia Python Bibliothek
– React
● Fragensammlung
Klimabot - Links
OKLab Leipzig
OKLab Leipzig
github.com/CodeforLeipzig/fancy_LVB_Telegram_Bot
Fancy LVB Telegram Bot
gtfs.leipzig.codefor.de/otp/router
s/default/index/stops/1:0012829
/stoptimes/20190702
...
{
"stopId": "1:0012829",
"stopIndex": 10,
"stopCount": 32,
"scheduledArrival": 43200,
"scheduledDeparture": 43200,
"realtimeArrival": 43200,
"realtimeDeparture": 43200,
"arrivalDelay": 0,
"departureDelay": 0,
"timepoint": true,
"realtime": false,
"realtimeState": "SCHEDULED",
"serviceDay": 1562018400,
"tripId": "1:27159",
"headsign": "Leipzig, Möckern,
Slevogtstr."
},
...
OKLab Leipzig
Fancy LVB Telegram Bot: Architektur
● NodeJS Anwendung, die das Framework
https://github.com/yagop/node-telegram-bot-api nutzt, um einen
ChatBot für den Telegram-Messenger https://telegram.org unter
einem freiwählbaren Namen (der auf Bot endet, wir haben uns für
fancyLVBot entschieden) zu registrieren, der dann als Kontakt von
jedem hinzugefügt werden kann
● Nutzer-Eingaben werden über Reguläre Ausdrücke gematcht und
in entsprechende Kommandos umgesetzt
● Wir haben den Zugang zu den aktuellen MDV-Daten in GTFS-
Format (https://gtfs.org) bekommen, die wir auf
gtfs.leipzig.codefor.de in einer http://www.opentripplanner.org
Anwendung hosten und somit auch als REST-API zur Verfügung
haben
● des Weiteren nutzen wir https://www.npmjs.com/package/lvb für
die Live-Abfahrten-Abfrage
github.com/CodeforLeipzig/fancy_LVB_Telegram_Bot
OKLab Leipzig
Fancy LVB Telegram Bot: Wie unterstützen?
● Haltestellen zusammenfassen, die geografisch sehr nah
beieinander liegen und logisch als ein Haltestellenpunkt
betrachtet werden können
● Unscharfe Suche (Fuzzy Search), um auch Haltestelle zu finden,
wenn man sich verschrieben hat, bzw. nicht genauen Wortlaut
der Haltestelle trifft
● ChatBot aus anderen Chats heraus nutzen können
● EasyGo API nutzen, da GTFS API nur statische Daten liefert und
das lvb npm Package noch auf eine veraltete API geht, die nicht
alle neuen Haltestellen enthält (deren Abfahrten werden aktuell
noch aus den statischen GTFS Daten aufgefüllt, dort bekommt
man dann aber keine aktuellen Verspätungen)
● Code: https://github.com/eisc/fancy_LVB_Telegram_Bot
● Issues: https://github.com/eisc/fancy_LVB_Telegram_Bot/issues
github.com/CodeforLeipzig/fancy_LVB_Telegram_Bot
OKLab Leipzig
schulinternet.sachsen.codefor.de
Internetgeschwindigkeit an Sachsens Schulen
OKLab Leipzig
Schulinternet: Architektur
● stellt Internetverbindungen von Schulen in Sachsen auf einer
Karte dar und soll damit den weiteren Breitbandausbau vor allem
im Bildungssektor anregen
● Nutzt https://cheerio.js.org zum Scrapen der Web-Seiten,
https://www.npmjs.com/package/fast-csv zum Parsen der CSV-
Dateien und https://github.com/hiddentao/fast-levenshtein für
das Abgleichen der Schulnamen aus den unterschiedlichen
Quellen nach Ähnlichkeit und schließlich https://leafletjs.com zum
Visualisieren der zuvor generierten GeoJSON-Datei auf einer Karte
Wie unterstützen?
● Kombinieren mit https://jedeschule.de (stellt Informationen über
rund 30.000 allgemeinbildende Schulen in Deutschland
maschinenlesbar bereit)
● Code: https://gitlab.com/gerbsen/internet-an-sachsens-schulen
schulinternet.sachsen.codefor.de
OKLab Leipzig
bebauung.codeforleipzig.de
Gentrifizierung
OKLab Leipzig
Gentrifizierung: Umsetzung
● Alle Polygone, die mit „building“ getaggt sind wurden aus alten
OpenStreetMap-Ständen, verfügbar auf
http://download.geofabrik.de/europe/germany/sachsen.html unter
raw directory index) als GeoJSON Dateien ausgelesen
(geografisch eingeschränkt auf die BoundingBox von Leipzig)
● Über das obere rechte Menü kann man nun die Gebäude-
Polygone der verschiedenen Jahre ein- und ausblenden, sowie die
Luftbildaufnahme von 2014 oder 2018 anzeigen, um so sehen zu
können, wo Dinge neu gebaut (bzw. in OSM eingepflegt) wurden
Wie unterstützen?
● Mit http://www.baustelle-leipzig.de verschneiden; mit offiziellen
Bebauungsplänen abgleichen; recherchieren, welche
Immobilienfirma verantwortlich war; Mietpreise;
● Code: https://github.com/CodeforLeipzig/Gentrification
bebauung.codeforleipzig.de
OKLab Leipzig
wahldaten.codeforleipzig.de
Wahldaten
OKLab Leipzig
Wahldaten: Umsetzung
● da keine Shapefile mit den sächsischen Wahlkreisen gefunden
werden konnte, sondern nur eine Aufstellung, welche PLZs zu
welchen Wahlkreisen gehören, mussten die Shapes der PLZ-
Gebiete programmatisch zu den Wahlkreis-Shapes
zusammengemergt werden
● neben den PLZ- und Wahlkreise, werden auch die
Gemeindegrenzen angezeigt
Wie unterstützen?
● für die Großstädte noch die Stadtteile mit als Shapes hinzufügen
● die Wahlergebnisse beim Klick auf die einzelnen Gebiete als D3.js
Grafik (Säulendiagramm, Tortendiagramm, Veränderungen)
anzeigen lassen
● Code: https://github.com/CodeforLeipzig/wahldaten
wahldaten.codeforleipzig.de
OKLab Leipzig
Klimabot: Umsetzung
● Backend: Python, Flask, https://github.com/snipsco/snips-nlu als
Machine Learning Library zum automatischen Matchen von
eingegebenen Fragen zum Klimawandel auf vorgefertigte Frage-
Antworte-Paarungen, Python-Wikipedia-Library für die Bedienung
von Was-ist-Fragen
● Frontend: React
Wie unterstützen?
● Fragen-Antworten-Katalog erweitern
● Bot mit Beispiel-Eingaben trainieren
● Code: https://gitlab.com/gerbsen/climatebot und
https://gitlab.com/gerbsen/climatebot-ui
● OKFN Slack-Channel: #climatebot
app.klimabot.de
OKLab Leipzig
DresDenRallye
geo3eck.github.io/dresden-rallye-web/
OKLab Leipzig
DresDenRallye
● entstanden als Prototyp auf dem Open Data Camp Hackathon in
Dresden am 9. und 10.11.2019
● über Gamification (Nudging, Serious Game) die verschiedenen
Mobilitätsangebote der Stadt bekannt machen und die Nutzer
dazu bringen, von ihrem gewohnten Mobilitätsverhalten
abzuweichen und so sich potenziell umweltfreundlicher und
abwechslungsreicher fortzubewegen
● Nutzt die Daten der Verkehrsbetriebe als auch von Teilauto und
Nextbike, Open Routing Service und Turf.js als Technologien
Wie unterstützen?
● Mobile-fähig machen, bessere Performance durch Backend,
Routen-Editor, kreative Challenges, Team-Player-Modus
● Code: https://github.com/Geo3eck/dresden-rallye-web
geo3eck.github.io/dresden-rallye-web/
klimawatch.de
OKLab Leipzig
Klimawatch
OKLab Leipzig
Klimawatch
● Erreicht man die Klimaschutzzielen zur CO2-Reduktion in Leipzig?
● oder muss Druck auf Politik und Gesellschaft ausgeübt werden?
● Ursprünglich von Code for Münster initiiert, inzwischen tragen
andere OKLabs die Daten ihrer Stadt hier ein
● in Leipzig entwickeln wir jeweils eine Backend- und eine Frontend-
Anwendung, um besser weitere Datenquellen anzubinden und
interaktivere Visualisierungen umsetzen zu können
● Nutzt die Daten aus dem ESKP der Stadt Leipzig sowie des
Statistikamts, Vue.js im Frontend, Spring Boot im Backend
Wie unterstützen?
● Daten im Backend als LinkedOpenData annotieren
● Interessante Visualierungen sich ausdenken, z.B. wie hier
● Code: https://github.com/CodeforLeipzig/klimawatch-leipzig
und https://github.com/CodeforLeipzig/klimawatch-leipzig-vue
klimawatch.de
majmys.art
OKLab Leipzig
Majorelle Mystery
OKLab Leipzig
Majorelle Mystery
● Mischung aus Point-and-Click-Adventure und Room-Escape-Spiel,
entstanden im Coding da Vinci Hackathon Saar-Lor-Lux 2020
● Nutzt die aktuelle und historischen Fotos aus der Jugendstil-Villa
Majorelle in Nancy, Frankreich
● Technologien: Godot Engine mit Escoria, läuft (außer im Web) auf
allen Plattformen (Windows, Linux, MacOS, iOS, Android)
● Übrigens das Point-and-Click-Adventure Casebook 1899 - The
Leipzig Murders ist gerade von Gregor Müller in Entwicklung und
spielt in Leipzig um 1900
Wie unterstützen?
● auch Leipzig hat noch viele Gebäude aus der Gründerzeit, könnte
ein solches Spiel wäre vielleicht auch was für eine Leipziger Villa
● Eventuell reicht auch eine Umsetzung als Graphic Novel
majmys.art
majmys.art
majmys.art
klimadashboard.danielgerber.eu
OKLab Leipzig
OKLab Leipzig
Klimadashboard
● versucht den Fortschritt der Energie-, Verkehrs- und
Landwirtschaftswende in Sachsen zu dokumentieren
● Technologien: Django, Angular 2
Wie unterstützen?
● Weitere interessante Auswertungen / Visualisierungen hinzufügen
● Mobile freundlicher machen (aktuell Seitenleiste auf Handy nicht
optimal dargestellt)
klimadashboard.danielgerber.eu
baumstatistik.codeforleipzig.de
OKLab Leipzig
Baumfilter
OKLab Leipzig
Baumfilter
● Spin-Off (bzw. Vorläufer) von Leipzig giesst
● generelle Baum-Informationen anzeigen
● Bäume nach ihren Eigenschaften filtern können
● Technologien: Leaflet, jQuery, Daten: Baumkataster Leipzig
Wie unterstützen?
● Mobile freundlicher machen (aktuell nicht wirklich auf Handy
bedienbar)
● Integration von Wikidata-Informationen (wie teilweise schon bei
Leipzig giesst geschehen)
● Gruppieren und Abfrage nach (Ober-)Gattungen, aktuell können
z.B. nicht alle Linden abgefragt, weil die Info, dass z.B. die Stadt-
Linde auch eine Linde ist, nicht hinterlegt ist
baumstatistik.codeforleipzig.de
app.leipziggiesst.de
OKLab Leipzig
Leipzig giesst
OKLab Leipzig
Leipzig giesst
● Kollaboratives Gießen der Straßen-Bäume in der Stadtgesellschaft
● Redeployment von GiessDenKiez aus Berlin
● Daten: Baumkataster Leipzig, Radolan-Daten vom DWD
● Technologien: React, Mapbox, Vercel, Netlify. Python, expo.dev
Wie unterstützen?
● Gamification-Ideen beitragen
● Organisieren von Gießevents
● Bereitstellen von Wasserquellen
● Mitgießen
app.leipziggiesst.de
OKLab Leipzig
wo-ist-testzentrum.de
OKLab Leipzig
Wo ist Testzentrum?
● Informationen über die offiziellen Corona-Testzentren
● Filtern nach Leistungsumfang und Öffnungszeiten
● Abwandlung von woistmarkt.de
● Daten: Corona-Testzentren aus dem OpenDataPortal Leipzig
● Technologien: Plain Javascript, Bootstrap, Leaflet
Wie unterstützen?
● Daten nachpflegen (sofern das ab 2023 überhaupt sinnvoll ist)
wo-ist-testzentrum.de
OKLab Leipzig
kieznotiz.codeforleipzig.de
Kiez Notiz
OKLab Leipzig
Kieznotiz
● Informationen über die Akteure und Veranstaltungen im Leipziger
Osten (speziell Neustadt-Neuschönefeld und Volkmarsdorf)
● Weitere Infos: Uhrzeit, Wetter
● Daten: JSON API von Leipziger-Ecken.de
● Technologien: Grafana, Leaflet
Wie unterstützen?
● Anzeige der Live-ÖPNV-Abfahrtzeiten
● Weitere Infos: Luftqualität, Rad- und KFZ-Zählstellen-Daten
● Umsetzungen für weitere Stadtteile Leipzigs
kieznotiz.codeforleipzig.de
pumpenkarte.codeforleipzig.de
OKLab Leipzig
Leipzig pumpt
OKLab Leipzig
Leipzig pumpt
● Informationen über die aktuellen, aber auch abgebaute und
kaputte Handschwengelpumpen in Leipzig
● Daten: Wikipedia, OpenstreetMap, eigene Datenerfassung
● Technologien: Leaflet
Wie unterstützen?
● Kontrolle der Standorte, von denen der aktuellen Zustand nicht
klar ist
● Splash-Screen
● Anbindung Backend, um die Kontrollgänge erfassen zu können
● Weitere Fotos beisteuern
pumpenkarte.codeforleipzig.de
OKLab Leipzig
leipzigmaps.codeforleipzig.de
Leipzig Maps
OKLab Leipzig
Leipzig Maps
● Visualisieren der Daten des Statistikamts pro Stadtteil
● Anzeige von POIs (zum Teil aus Statistikamt-Daten, zum Teil aus
OpenStreetMap, zum Teil selbst gescrapt von Stadt-Webseiten)
● Daten: Statistikamt / OpenDataPortal
● Technologien: React
Wie unterstützen?
● Anbinden weitere Quellen
● Anziehen der offiziellen Gesamtleipzig-Zahlen (statt aktuell
Aggregation der Stadtteil-Zahlen (fehlerhaft bei Quotienten))
● Weiteres Drilldown (Gesamt auf Stadtteil, Jahres- auf Quartal- auf
Monatszahlen)
● Sinnvolle Bezugsgrößen (d.h. z.B. Delta Ärzte zu Delta
Gesamtbevölkerung oder Delta Bevölkerung älter 60 Jahre)
leipzigmaps.codeforleipzig.de
OKLab Leipzig
weihnachtsmaerkte.codeforleipzig.de
Wo ist Weihnachtsmarkt?
OKLab Leipzig
Wo ist Weihnachtsmarkt?
● Entdecken von Weihnachtsmärkten nach Angeboten (z.B.
viktorianischer Weihnachtsmarkt), Aktionsformaten,
Öffnungszeiten und Erreichbarkeit in Leipzig und nähere
Umgebung
● Daten: Statistikamt / OpenDataPortal, LeipzigLeben-Blog, eigene
Erfassung
● Technologien: Next.js
Wie unterstützen?
● mehr Fotos
● Preisvergleich
● Volltextsuche
weihnachtsmaerkte.codeforleipzig.de
Technologien
OKLab Leipzig
Tools: Scraper /
Scraper Runner
https://morph.io/jrlover/city_council_leipzig_recent_papers
OKLab Leipzig
Tools: Overpass Turbo / API / OSM TagInfo
Overpass API by Example
http://overpass-api.de/
http://overpass-turbo.eu/
https://taginfo.openstreetmap.org/
OKLab Leipzig
Tools: Nominatim (Reverse Geo-Koder)
nominatim.openstreetmap.org
nominatim.codeforleipzig.de
photon.komoot.de
OKLab Leipzig
Tools
gtfs.codeforleipzig.de
OpenTripPlanner REST API
opentripplanner.org
OKLab Leipzig
jupyterhub.codeforleipzig.de
OKLab Leipzig
Wie sich beteiligen
● Unsere Projekte befinden sich auf
https://github.com/CodeforLeipzig/
● In jedem Projekt sollte eine Beschreibung angezeigt werden, was
es macht und wie man es sich aufsetzt / einrichtet
● Was ist GitHub: https://t3n.de/news/eigentlich-github-472886/
● Git Grundlagen: https://git-scm.com/book/de/v2
● Docker Grundlagen:
https://jaxenter.de/einfuehrung-docker-tutorial-container-61528
● Am besten ihr forkt euch das Projekt, das euch interessiert, in
euren eigenen GitHub-Account, arbeitet dort an Features auf
einem Branch und stellt dann einen Pull Request gegen das
ursprüngliche Projekt
● https://help.github.com/en/articles/fork-a-repo
● https://help.github.com/en/articles/creating-a-pull-request
● Um sich beteiligen, muss man nicht zwingend programmieren
können, neue Ideen, Test-Unterstützung, UI-Mockups helfen auch
Angebote der Stadt Leipzig
Open-Data-Portal der Stadt Leipzig
opendata.leipzig.de
Themenstadtplan (hier z.B. Lärmkarte)
stadtplan.leipzig.de
Angebote der Stadt Leipzig
statistik.leipzig.de
Angebote der Stadt Leipzig
Dashboard Bevölkerungsentwicklung
Einwohner und Bevölkerungsentwicklung
Angebote der Stadt Leipzig
Dashboard Luftqualität
Messung der Luftschadstoffbelastung
Angebote der Stadt Leipzig
Verkehrszählungen
Verkehrsaufkommen in der Stadt Leipzig
Angebote der Stadt Leipzig
Sozialwohnungen
Angebote der Stadt Leipzig
Stadtklima-Analyse
Angebote der Stadt Leipzig
Stadtklima-Analyse
Bildungsreport
Angebote der Stadt Leipzig
Bildungsreport
Angebote der Stadt Leipzig
leipzig.de/wirtschaft-und-wissenschaft/digitale-stadt/aktuelle-projekte/urbane-daten
plattform-und-sensorik
digitalcampus.leipzig.de/referat-digitale-stadt
Informationen aus Stadtrat
muenchen-transparent.de
München
Transparent
Informationen aus Stadtrat
meine-stadt-transparent.de
Informationen aus Stadtrat
oparl.org
Karten-Apps
Rad-Unfallkarte
heatview.de/?kreis=14713
Karten-Apps
leipzig.equalstreetnames.eu
Karten-Apps
Häuser, die vor 1919 errichtet wurden
Handling Grid-Data from the German Census
Karten-Apps
Click your hood (gibt es noch nicht für LE)
click-that-hood.com
Weitere Datenquellen
https://www.govdata.de

Weitere ähnliche Inhalte

Ähnlich wie OKLab Leipzig - 2023 Update

Eine Typisierung von Mapbender, OpenLayers und MapFish
Eine Typisierung von Mapbender, OpenLayers und MapFishEine Typisierung von Mapbender, OpenLayers und MapFish
Eine Typisierung von Mapbender, OpenLayers und MapFishArnulf Christl
 
Digitalisate kuratieren mit KI - von unstrukturierten Daten zu strukturierten...
Digitalisate kuratieren mit KI - von unstrukturierten Daten zu strukturierten...Digitalisate kuratieren mit KI - von unstrukturierten Daten zu strukturierten...
Digitalisate kuratieren mit KI - von unstrukturierten Daten zu strukturierten...cneudecker
 
Microsoft und die Open Source Community - Leaving the death star behind
Microsoft und die Open Source Community - Leaving the death star behindMicrosoft und die Open Source Community - Leaving the death star behind
Microsoft und die Open Source Community - Leaving the death star behindChristian Heilmann
 
German: Softwareprodukte aus einem Source Code mit Javascript
German: Softwareprodukte aus einem Source Code mit JavascriptGerman: Softwareprodukte aus einem Source Code mit Javascript
German: Softwareprodukte aus einem Source Code mit JavascriptRalf Schwoebel
 
DB Infrastructure Challenge - Team 4M
DB Infrastructure Challenge - Team 4MDB Infrastructure Challenge - Team 4M
DB Infrastructure Challenge - Team 4MDBHackathon
 
Slides zum OpenTuesday: NeoMap – eine Offline-Karten-App
Slides zum OpenTuesday: NeoMap – eine Offline-Karten-AppSlides zum OpenTuesday: NeoMap – eine Offline-Karten-App
Slides zum OpenTuesday: NeoMap – eine Offline-Karten-AppDigicomp Academy AG
 
SharePointCommunity.ch SharePoint Lösungen für die Zukunft
SharePointCommunity.ch SharePoint Lösungen für die ZukunftSharePointCommunity.ch SharePoint Lösungen für die Zukunft
SharePointCommunity.ch SharePoint Lösungen für die ZukunftDavid Schneider
 
Hands-on: Coding for Data-Journalism
Hands-on: Coding for Data-JournalismHands-on: Coding for Data-Journalism
Hands-on: Coding for Data-JournalismOpen Data Network
 
OpenStreetMap und amtliche Geodaten (Workshop-Präsentation)
OpenStreetMap und amtliche Geodaten (Workshop-Präsentation)OpenStreetMap und amtliche Geodaten (Workshop-Präsentation)
OpenStreetMap und amtliche Geodaten (Workshop-Präsentation)Stefan Keller
 
Generische Kuratierungstechnologien für spezifische Anwendungsfälle: Hintergr...
Generische Kuratierungstechnologien für spezifische Anwendungsfälle: Hintergr...Generische Kuratierungstechnologien für spezifische Anwendungsfälle: Hintergr...
Generische Kuratierungstechnologien für spezifische Anwendungsfälle: Hintergr...Georg Rehm
 
Agiles Lernen und Software Entwicklung das OSGi Code Camp 2010
Agiles Lernen und Software Entwicklung das OSGi Code Camp 2010Agiles Lernen und Software Entwicklung das OSGi Code Camp 2010
Agiles Lernen und Software Entwicklung das OSGi Code Camp 2010Christian Baranowski
 
DVW Seminar zu Freier Software und Freien Daten
DVW Seminar zu Freier Software und Freien DatenDVW Seminar zu Freier Software und Freien Daten
DVW Seminar zu Freier Software und Freien DatenArnulf Christl
 
QGIS das Opensource GIS at Linuxwochen Wien 2019
QGIS das Opensource GIS at Linuxwochen Wien 2019QGIS das Opensource GIS at Linuxwochen Wien 2019
QGIS das Opensource GIS at Linuxwochen Wien 2019Anita Graser
 
Folien advisory board meeting
Folien advisory board meetingFolien advisory board meeting
Folien advisory board meetingJulia Kloiber
 
Transformieren, Manipulieren, Kuratieren: Technologien für die Wissensarbeit ...
Transformieren, Manipulieren, Kuratieren: Technologien für die Wissensarbeit ...Transformieren, Manipulieren, Kuratieren: Technologien für die Wissensarbeit ...
Transformieren, Manipulieren, Kuratieren: Technologien für die Wissensarbeit ...Georg Rehm
 
Django trifft Flutter
Django trifft FlutterDjango trifft Flutter
Django trifft Flutterroskakori
 
Überblick zum DFG-Projekt OCR-D
Überblick zum DFG-Projekt OCR-DÜberblick zum DFG-Projekt OCR-D
Überblick zum DFG-Projekt OCR-Dcneudecker
 
Vorstellung Open Social Ipc 2009
Vorstellung Open Social Ipc 2009Vorstellung Open Social Ipc 2009
Vorstellung Open Social Ipc 2009fruske
 
OpenSocial und Apache Shindig
OpenSocial und Apache ShindigOpenSocial und Apache Shindig
OpenSocial und Apache ShindigMayflower GmbH
 

Ähnlich wie OKLab Leipzig - 2023 Update (20)

Eine Typisierung von Mapbender, OpenLayers und MapFish
Eine Typisierung von Mapbender, OpenLayers und MapFishEine Typisierung von Mapbender, OpenLayers und MapFish
Eine Typisierung von Mapbender, OpenLayers und MapFish
 
Digitalisate kuratieren mit KI - von unstrukturierten Daten zu strukturierten...
Digitalisate kuratieren mit KI - von unstrukturierten Daten zu strukturierten...Digitalisate kuratieren mit KI - von unstrukturierten Daten zu strukturierten...
Digitalisate kuratieren mit KI - von unstrukturierten Daten zu strukturierten...
 
Microsoft und die Open Source Community - Leaving the death star behind
Microsoft und die Open Source Community - Leaving the death star behindMicrosoft und die Open Source Community - Leaving the death star behind
Microsoft und die Open Source Community - Leaving the death star behind
 
German: Softwareprodukte aus einem Source Code mit Javascript
German: Softwareprodukte aus einem Source Code mit JavascriptGerman: Softwareprodukte aus einem Source Code mit Javascript
German: Softwareprodukte aus einem Source Code mit Javascript
 
DB Infrastructure Challenge - Team 4M
DB Infrastructure Challenge - Team 4MDB Infrastructure Challenge - Team 4M
DB Infrastructure Challenge - Team 4M
 
Slides zum OpenTuesday: NeoMap – eine Offline-Karten-App
Slides zum OpenTuesday: NeoMap – eine Offline-Karten-AppSlides zum OpenTuesday: NeoMap – eine Offline-Karten-App
Slides zum OpenTuesday: NeoMap – eine Offline-Karten-App
 
SharePointCommunity.ch SharePoint Lösungen für die Zukunft
SharePointCommunity.ch SharePoint Lösungen für die ZukunftSharePointCommunity.ch SharePoint Lösungen für die Zukunft
SharePointCommunity.ch SharePoint Lösungen für die Zukunft
 
Hands-on: Coding for Data-Journalism
Hands-on: Coding for Data-JournalismHands-on: Coding for Data-Journalism
Hands-on: Coding for Data-Journalism
 
ENP_ONB_infday_GMuehlberger
ENP_ONB_infday_GMuehlbergerENP_ONB_infday_GMuehlberger
ENP_ONB_infday_GMuehlberger
 
OpenStreetMap und amtliche Geodaten (Workshop-Präsentation)
OpenStreetMap und amtliche Geodaten (Workshop-Präsentation)OpenStreetMap und amtliche Geodaten (Workshop-Präsentation)
OpenStreetMap und amtliche Geodaten (Workshop-Präsentation)
 
Generische Kuratierungstechnologien für spezifische Anwendungsfälle: Hintergr...
Generische Kuratierungstechnologien für spezifische Anwendungsfälle: Hintergr...Generische Kuratierungstechnologien für spezifische Anwendungsfälle: Hintergr...
Generische Kuratierungstechnologien für spezifische Anwendungsfälle: Hintergr...
 
Agiles Lernen und Software Entwicklung das OSGi Code Camp 2010
Agiles Lernen und Software Entwicklung das OSGi Code Camp 2010Agiles Lernen und Software Entwicklung das OSGi Code Camp 2010
Agiles Lernen und Software Entwicklung das OSGi Code Camp 2010
 
DVW Seminar zu Freier Software und Freien Daten
DVW Seminar zu Freier Software und Freien DatenDVW Seminar zu Freier Software und Freien Daten
DVW Seminar zu Freier Software und Freien Daten
 
QGIS das Opensource GIS at Linuxwochen Wien 2019
QGIS das Opensource GIS at Linuxwochen Wien 2019QGIS das Opensource GIS at Linuxwochen Wien 2019
QGIS das Opensource GIS at Linuxwochen Wien 2019
 
Folien advisory board meeting
Folien advisory board meetingFolien advisory board meeting
Folien advisory board meeting
 
Transformieren, Manipulieren, Kuratieren: Technologien für die Wissensarbeit ...
Transformieren, Manipulieren, Kuratieren: Technologien für die Wissensarbeit ...Transformieren, Manipulieren, Kuratieren: Technologien für die Wissensarbeit ...
Transformieren, Manipulieren, Kuratieren: Technologien für die Wissensarbeit ...
 
Django trifft Flutter
Django trifft FlutterDjango trifft Flutter
Django trifft Flutter
 
Überblick zum DFG-Projekt OCR-D
Überblick zum DFG-Projekt OCR-DÜberblick zum DFG-Projekt OCR-D
Überblick zum DFG-Projekt OCR-D
 
Vorstellung Open Social Ipc 2009
Vorstellung Open Social Ipc 2009Vorstellung Open Social Ipc 2009
Vorstellung Open Social Ipc 2009
 
OpenSocial und Apache Shindig
OpenSocial und Apache ShindigOpenSocial und Apache Shindig
OpenSocial und Apache Shindig
 

Mehr von joergreichert

SDGs und wo sind die Daten?
SDGs und wo sind die Daten?SDGs und wo sind die Daten?
SDGs und wo sind die Daten?joergreichert
 
Gieß a bit more the Bäume
Gieß a bit more the BäumeGieß a bit more the Bäume
Gieß a bit more the Bäumejoergreichert
 
Leipzig Giesst (Dezember 2020)
Leipzig Giesst (Dezember 2020)Leipzig Giesst (Dezember 2020)
Leipzig Giesst (Dezember 2020)joergreichert
 
Die Stadt als Schule der Demokratie
Die Stadt als Schule der DemokratieDie Stadt als Schule der Demokratie
Die Stadt als Schule der Demokratiejoergreichert
 
A Pattern Language - Patterns for Javascript
A Pattern Language - Patterns for JavascriptA Pattern Language - Patterns for Javascript
A Pattern Language - Patterns for Javascriptjoergreichert
 
Unit testing mit Javascript
Unit testing mit JavascriptUnit testing mit Javascript
Unit testing mit Javascriptjoergreichert
 
Mongo DB schema design patterns
Mongo DB schema design patternsMongo DB schema design patterns
Mongo DB schema design patternsjoergreichert
 
Using openArchitectureWare 4.0 in domain "registration"
Using openArchitectureWare 4.0 in domain "registration"Using openArchitectureWare 4.0 in domain "registration"
Using openArchitectureWare 4.0 in domain "registration"joergreichert
 
Modell-getriebene Softwareentwicklung für Lego Mindstorms NXT
Modell-getriebene Softwareentwicklung für Lego Mindstorms NXTModell-getriebene Softwareentwicklung für Lego Mindstorms NXT
Modell-getriebene Softwareentwicklung für Lego Mindstorms NXTjoergreichert
 
Using JIRA and Confluence to support ITIL like processes
Using JIRA and Confluence to support ITIL like processesUsing JIRA and Confluence to support ITIL like processes
Using JIRA and Confluence to support ITIL like processesjoergreichert
 
P3 - Building a corporate update site
P3 - Building a corporate update site P3 - Building a corporate update site
P3 - Building a corporate update site joergreichert
 
Spray Democamp Dresden 2011-11-08
Spray Democamp Dresden 2011-11-08Spray Democamp Dresden 2011-11-08
Spray Democamp Dresden 2011-11-08joergreichert
 
Advanced language testing with XPECT
Advanced language testing with XPECTAdvanced language testing with XPECT
Advanced language testing with XPECTjoergreichert
 

Mehr von joergreichert (20)

SDGs und wo sind die Daten?
SDGs und wo sind die Daten?SDGs und wo sind die Daten?
SDGs und wo sind die Daten?
 
Gieß a bit more the Bäume
Gieß a bit more the BäumeGieß a bit more the Bäume
Gieß a bit more the Bäume
 
OKLab Leipzig 2022
OKLab Leipzig 2022OKLab Leipzig 2022
OKLab Leipzig 2022
 
FAIRe Sensordaten
FAIRe SensordatenFAIRe Sensordaten
FAIRe Sensordaten
 
Leipzig Giesst (Dezember 2020)
Leipzig Giesst (Dezember 2020)Leipzig Giesst (Dezember 2020)
Leipzig Giesst (Dezember 2020)
 
Road to mauAR
Road to mauARRoad to mauAR
Road to mauAR
 
Die Stadt als Schule der Demokratie
Die Stadt als Schule der DemokratieDie Stadt als Schule der Demokratie
Die Stadt als Schule der Demokratie
 
A Pattern Language - Patterns for Javascript
A Pattern Language - Patterns for JavascriptA Pattern Language - Patterns for Javascript
A Pattern Language - Patterns for Javascript
 
Unit testing mit Javascript
Unit testing mit JavascriptUnit testing mit Javascript
Unit testing mit Javascript
 
damals.in/leipzig
damals.in/leipzigdamals.in/leipzig
damals.in/leipzig
 
Map technologies
Map technologiesMap technologies
Map technologies
 
Mongo DB schema design patterns
Mongo DB schema design patternsMongo DB schema design patterns
Mongo DB schema design patterns
 
MOOCs
MOOCsMOOCs
MOOCs
 
Log4j2
Log4j2Log4j2
Log4j2
 
Using openArchitectureWare 4.0 in domain "registration"
Using openArchitectureWare 4.0 in domain "registration"Using openArchitectureWare 4.0 in domain "registration"
Using openArchitectureWare 4.0 in domain "registration"
 
Modell-getriebene Softwareentwicklung für Lego Mindstorms NXT
Modell-getriebene Softwareentwicklung für Lego Mindstorms NXTModell-getriebene Softwareentwicklung für Lego Mindstorms NXT
Modell-getriebene Softwareentwicklung für Lego Mindstorms NXT
 
Using JIRA and Confluence to support ITIL like processes
Using JIRA and Confluence to support ITIL like processesUsing JIRA and Confluence to support ITIL like processes
Using JIRA and Confluence to support ITIL like processes
 
P3 - Building a corporate update site
P3 - Building a corporate update site P3 - Building a corporate update site
P3 - Building a corporate update site
 
Spray Democamp Dresden 2011-11-08
Spray Democamp Dresden 2011-11-08Spray Democamp Dresden 2011-11-08
Spray Democamp Dresden 2011-11-08
 
Advanced language testing with XPECT
Advanced language testing with XPECTAdvanced language testing with XPECT
Advanced language testing with XPECT
 

Kürzlich hochgeladen

Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...
Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...
Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...OPEN KNOWLEDGE GmbH
 
Slides (1) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (1) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...Slides (1) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (1) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...DNUG e.V.
 
FEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data Imputation
FEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data ImputationFEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data Imputation
FEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data ImputationOPEN KNOWLEDGE GmbH
 
Slides (2) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (2) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...Slides (2) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (2) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...DNUG e.V.
 
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die Cloud
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die CloudFrom Zero to still Zero: Die schönsten Fehler auf dem Weg in die Cloud
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die CloudOPEN KNOWLEDGE GmbH
 
Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...
Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...
Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...Markus Unterauer
 

Kürzlich hochgeladen (6)

Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...
Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...
Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...
 
Slides (1) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (1) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...Slides (1) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (1) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
 
FEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data Imputation
FEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data ImputationFEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data Imputation
FEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data Imputation
 
Slides (2) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (2) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...Slides (2) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (2) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
 
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die Cloud
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die CloudFrom Zero to still Zero: Die schönsten Fehler auf dem Weg in die Cloud
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die Cloud
 
Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...
Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...
Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...
 

OKLab Leipzig - 2023 Update

  • 1. OKLab Leipzig Licensed under CC-by v4.0 (any jurisdiction) Update 2023
  • 2. 4 – 8 Leute 2014 – Basislager.co Meetup.com Github.com Basislager.co
  • 5. Arbeit an Projekten Workshops Input-Sessions / Vorträge Hackathons
  • 6. Vorgehen ● Was: Nutzung offener Daten mit Bezug zu Stadt / Region ● Zielgruppe: direkt oder indirekt Bürger, Unterstützung im Alltag ● Daten befreien: Scraper schreiben, um Daten zu parsen ● Harmonisieren: gewonnene Daten in standardisiertes Format bringen ● Analyse: Muster in Daten erkennen, Anreichern mit Metadaten ● Aufbereitung: Suche, Datenvisualisierung, Geolokalisierung programmieren ● Redeployment: Anwendung für andere Städte nutzbar machen 5stardata.info Ten principles for opening up government information Was sind offene Daten?
  • 7. Wie alles anfing... EinUndLeipzig (2014): Mietpreise einundleipzig.de
  • 8. Wie alles anfing... EinUndLeipzig (2014): Stadtteil-Umzüge einundleipzig.de
  • 9. Wie alles anfing... EinUndLeipzig: Architektur ● Daten: Leipzig Statistik / recherchiert von Journalistik-Studenten, die wir damals beim Aufbau der Seite unterstützt hatten ● Technologie: HTML, Javascript, D3.js einundleipzig.de
  • 10. Wie alles anfing... EinUndLeipzig: Wie unterstützen? ● Daten auf den aktuellen Stand von 2018/19 bringen ● Aktuellen Mietspiegel verwenden https://www.leipzig.de/buergerservice-und-verwaltung/aemter- und-behoerdengaenge/behoerden-und-dienstleistungen/diens tleistung/mietspiegel-der-stadt-leipzig-5360b46eb0425/ ● Monitorbericht Wohnen https://www.leipzig.de/bauen-und-wohnen/stadtentwicklung/ra umbeobachtung-und-monitoring/monitoring-wohnen/ ● Veränderungen der letzten Jahre journalistisch nachvollziehen ● Stand der Gentrifizierung jetzt ● Analyse der Immobilien-Firmen in Leipzig ● Renovierungen / Neubauten über OpenStreetMap Diffs nachvollziehen ● Kontakt zum Datenjournalismus-Studiengang in Leipzig aufnehmen ● http://leipzig-stadtfueralle.de / http://leipzigfueralle.blogsport.eu ● Engagement Deutsche Wohnen in Leipzig https://ratsinfo.leipzig.de/bi/vo020.asp?VOLFDNR=1011413
  • 12. OKLab Leipzig Luftqualität Sachsen: Architektur luftqualitat.readthedocs.io ● Daten: gescrapt vom Umweltamt Sachsen ● Technologie: Django Wie unterstützen? ● Wieder zum Laufen bringen ● Aktuelle Daten verwenden ● Verbindung zu www.luftdaten.info und www.opensensemap.org ● Code auf https://github.com/CodeforLeipzig/luftqualitaet_sachsen
  • 13. OKLab Leipzig Kids LE: Kindergärten und Schulen kidsle.leipzig.codefor.de
  • 14. OKLab Leipzig Kids LE: Architektur ● Daten: OpenStreetMap extrahiert / selbst recherechiert ● Technologie: Django / GeoJSON ● Daten auf den aktuellen Stand bringen (neu entstandene Kindergärten und Schulen nachtragen) ● Verknüpfung mit Kiwan (https://www.meinkitaplatz-leipzig.de) ● Idee von https://www.facebook.com/KitaPlatzTauschboerse wieder aufgreifen ● Kinderärzte erfassen ● https://github.com/CodeforLeipzig/osm4kids war ein geplantes Nachfolgeprojekt ● Code auf https://github.com/CodeforLeipzig/kidsle Wie unterstützen? kidsle.leipzig.codefor.de
  • 15. OKLab Leipzig Kids LE: Architektur ● Daten: OpenStreetMap extrahiert / selbst recherechiert ● Technologie: Django / GeoJSON ● Daten auf den aktuellen Stand bringen (neu entstandene Kindergärten und Schulen nachtragen) ● Verknüpfung mit Kiwan (https://www.meinkitaplatz-leipzig.de) ● Idee von https://www.facebook.com/KitaPlatzTauschboerse wieder aufgreifen ● Kinderärzte erfassen ● https://github.com/CodeforLeipzig/osm4kids war ein geplantes Nachfolgeprojekt ● Code auf https://github.com/CodeforLeipzig/kidsle Wie unterstützen? kidsle.leipzig.codefor.de
  • 17. OKLab Leipzig Stadtratmonitor: Architektur ● Daten werden mit einem in Ruby geschriebenen Scraper ( https://github.com/jrlover/city_council_leipzig_recent_papers) jeden Tag über www.morph.io über einen CronJob ( https://morph.io/jrlover/city_council_leipzig_recent_papers) vom Leipzig Ratsinformationssystem (https://ratsinfo.leipzig.de/) als CSV-Daten gezogen ● Ruby-Rails-Anwendung wird vom morph.io CronJob nach dessen Beendigung über einen Webhook benachrichtigt ● Ruby-Rails-Anwendung holt die neuen CSV-Daten und importiert sie eine SQLite Datenbank von der sie wiederum in einen ElasticSearch-Server importiert und dort indiziert werden ● neben dem Suchformular in der Webanwendung gibt es außerdem noch die Möglichkeit, Suchen als RSS-Feed zu abonnieren stadtratmonitor.leipzig.codefor.de
  • 18. OKLab Leipzig Stadtratmonitor: Wie unterstützen ● Scraper ablösen und stattdessen die Daten aus dem nun verfügbaren Oparl-REST-Endpunkt des RIS-Systems nutzen: https://ratsinfo.leipzig.de/bi/oparl/1.0/bodies.asp?id=2387 ● Karte mit geolokalisierten Papers bauen analog zu https://www.muenchen-transparent.de ● Beschlussstatus der einzelnen Vorlagen expliziter machen (also ob beschlossen, geändert beschlossen, oder abgelehnt), analog zu https://github.com/sascha11110/hackatum-citygraph (alternativ vielleicht auch in Form eines Kanban-Boards) ● PDF-Dokumente scrapen und durchsuchbar machen (z.B. mit http://givemetext.okfnlabs.org) ● https://politik-bei-uns.de und https://meine-stadt-transparent.de als weitere Referenz ● https://github.com/CodeforLeipzig/stadtratmonitor – Code als auch Issue Tracker stadtratmonitor.leipzig.codefor.de
  • 19. OKLab Leipzig Stadtratmonitor: Wie unterstützen (2) ● Online-fähig machen (aktuell wird auf die Artikel in der Original- Seite verlinkt, die sind aber nicht mobil-fähig) ● Karte mit Stadtbezirksräten und Ortschaftsräten (Adresse + nächstes angesetztes Treffen + Protokoll vom letzten Treffen) ● Personen bei Einreichern verlinken ● Harmonisieren der Einreicher-Namen (z.B. SR, Stadtrat, Stadträtin, Name ausgeschrieben, abgekürzt, usw.), eventuell kann man dazu das Tool http://openrefine.org nutzen ● Wordle generieren aus häufigen Worten in den Vorlagen (Zeitraum-basiert) ● Statistische Auswertungen (meiste Antragssteller, usw.) (grafisch) ● Amtsblatt verlinken: https://www.leipzig.de/buergerservice-und-verwaltung/stadtverwa ltung/amtsblatt/ ● Livestream aus Stadtrat verlinken und taggen: https://www.l-iz.de/tag/livestream stadtratmonitor.leipzig.codefor.de
  • 21. OKLab Leipzig LVZ Polizeiticker Statistiken lvz-viz.leipzig.codefor.de
  • 22. OKLab Leipzig LVZ Polizeiticker: Architektur ● Java Spring Boot Anwendung im Backend ● von http://www.lvz.de/Leipzig/Polizeiticker/Polizeiticker-Leipzig werden vom CronJob die Artikel gescrapt und in einen ElasticSearch Index geladen ● aus dem Text des Artikels werden mittels Named-Entity- Recognition-(NER)-Bibliothek potenziell geolokalisierbare Namen extrahiert: https://nlp.stanford.edu/software/CRF-NER.shtml ● gegen https://nominatim.openstreetmap.org/ werden diese Namen in Geokoordinaten aufgelöst ● Frontend ist in AngularJS 1! (https://angularjs.org) programmiert und nutzt Leaflet (https://leafletjs.com) als Plugin für die Kartendarstellung (darüber wird auch die Heatmap unterstützt) ● Frontend kommuniziert über REST-Aufrufe mit dem Backend, um Suchanfragen, Blättern in den Suchergebnissen darstellen zu können lvz-viz.leipzig.codefor.de
  • 23. OKLab Leipzig LVZ Polizeiticker: Wie unterstützen? ● AngularJS 1 auf die letzte Version (z.B. 7) aktualisieren oder gleich ein anderes Frontend-Framework (z.B. Vue.js) benutzen ● Geolokalisierung aus den Texten heraus ist nicht immer richtig, deswegen sollte es die Möglichkeit, über das UI die Geo-Marker nachträglich manuell permanent umzusetzen (vielleicht sogar als Crowd sourcing realisierbar) ● Beidseitig Verlinkung von Text auf Marker und von Marker auf Text, momentan wird nur Popup angezeigt ● Taggen / Kategorisieren von Artikeln (Verbrechen) durch die Nutzer ermöglichen ● Accordion-Widget, um Platz in Artikel-Leiste zu sparen: https://api.jqueryui.com/accordion/#entry-examples ● Code befindet sich auf https://github.com/CodeforLeipzig/lvz-viz dort gibt es auch nochmal einen Issue Tracker: https://github.com/CodeforLeipzig/lvz-viz/issues lvz-viz.leipzig.codefor.de
  • 25. OKLab Leipzig Wo ist Markt (Leipzig): Architektur ● HTML, Javascript, Leaflet ● Web-Anwendung nicht von uns in Leipzig entwickelt, wir haben nur die folgende JSON-Datei bereitgestellt ● https://github.com/CodeforLeipzig/wo-ist-markt.github.io/blob/ma ster/cities/leipzig.json editieren (am besten auf einen eigenen Branch) und anschließend einen Pull-Request gegen das Haupt-Repo stellen ● um Änderungen nicht manuell nachtragen zu müssen, gibt es jetzt auch einen Javascript-basierten Scraper für die Leipziger Behörden-Seite: https://github.com/CodeforLeipzig/wo-ist-markt-scraper die eben diese JSON-Datei als Ergebnis erzeugt ● Scraper nutzt https://github.com/cheeriojs/cheerio für das Navigieren im DOM und https://mozilla.github.io/nunjucks/ als Templating-Engine wo-ist-markt.de/#leipzig
  • 26. OKLab Leipzig Wo ist Markt (Leipzig): Wie unterstützen? ● Kombinieren mit https://farmshops.eu ● Weitere Städte in der Region erfassen ● Scraper-Code: https://github.com/CodeforLeipzig/wo-ist-markt-scraper ● https://github.com/CodeforLeipzig/wo-ist-markt.github.io die geforkte Web-Anwendung von https://github.com/wo-ist-markt/wo-ist-markt.github.io wo-ist-markt.de/#leipzig
  • 28. OKLab Leipzig Amikeco: Architektur ● Entstanden im Rahmen des Digital Refugees Lab 2016: https://codefor.de/digitalrefugeelabs/ ● als Meetup-Clone geplant für Leute die neu in Leipzig sind und Kontakte zu anderen über Freizeitaktivitäten knüpfen wollen ● HTML, Javascript, Bootstrap-Anwendung ( https://getbootstrap.com) (Web-Komponenten-Framework) Wie unterstützen? ● Backend-Logik implementieren (Anmelden, Termin anlegen, Favoriten pflegen, usw.) ● Code auf https://github.com/jrlover/amikeco jrlover.github.io/amikeco
  • 30. OKLab Leipzig Trinkwasser: Architektur ● Daten wurden von MIDEWA bereitgestellt ● Redeployment der Web-Anwendung (HTML, JS) von https://github.com/opendata-heilbronn/trinkwasser ● Branding und Texte ausgetauscht ● Andere Mineralwasser-Quellen (Vergleichswerte) ● Einpflegen der bereitgestellten CSV-Datensätze ● Leaflet-Karte wurde zusätzlich von uns gebaut ● Gemeinde-Kreise wurden über eine entsprechende Abfrage der Administrations-Grenzen in https://ww.overpass-turbo.eu als GeoJSON extrahiert ( https://github.com/CodeforLeipzig/trinkwasser/tree/master/utils/D rinkingWaterGenerator ) und nachträglich über einen TopologyPreservingSimplifier aus dem JTS vereinfacht ● Im GeoJSON sind die Trinkwasser-Daten nachgepflegt trinkwasser.codeforleipzig.de
  • 31. OKLab Leipzig Trinkwasser: Wie unterstützen? ● Aktuelle Daten bekommen und nachpflegen ● Daten für Leipzig direkt bekommen und entsprechend dann auch Mineralwasser aus dem Leipziger Land als Vergleichwerte nehmen ● Interessante Daten bekommen (z.B. Nitrat-Belastung, Grundwasserspiegel) ● Trinkwasser-Qualität selber messen (Sensoren dazu sind aber teuer) ● Inspriation vielleicht: https://blog-smartcountry.de/eine-lorawan-tonne-fuer-muensters- aasee/ ● Verlegte Wasser-Rohre in Augmented Reality (mit Anzeige der letzten Wartung / Austauschs) trinkwasser.codeforleipzig.de
  • 33. OKLab Leipzig Gläsernes Klärwerk Architektur Wie unterstützen? ● Daten wurden von MIDEWA bereitgestellt ● Mit https://c3js.org erstellt ● Aktuelle Daten bekommen ● Weitere interaktive Diagramme bauen, z.B. Sankey diagrams: codeforleipzig.github.io/glaeserne-klaeranlage/
  • 35. OKLab Leipzig OpenSenseMap: Architektur ● Von Uni-Münster uns im Rahmen von https://sensebox.de bereitgestellt ● Die senseBox:home ist eine modulare Umweltmessstation zum selber bauen (auf Arduino Basis) zur kontinuierlichen ortsbezogenen (mobilen oder stationären) Messung von Temperatur, Luftfeuchte, Luftdruck, Beleuchtungsstärke, UV- Strahlung oder Feinstaubbelastung ● Installations-Beschreibung findet sich hier: https://sensebox.github.io/books-v2/home/de/index.html?Deutsch =Deutsch opensensemap.org
  • 36. OKLab Leipzig OpenSenseMap: Wie unterstützen? ● Wir haben im Lab keinen geeigneten Aufstellplatz gefunden ● Inzwischen ist einer der Sensoren kaputt, die Temperatur wird falsch ausgegeben, an sich ist noch ein weiterer Sensor verbaut, der auch Temperatur-Daten liefert, Software-mäßig werden dessen Werte aber bei der Ausgabe von den Daten des kaputten Sensors überschrieben ● d.h. man könnte die Sensebox entweder durch einen neuen Sensor (teuer) reparieren oder über Anpassung der Software teilweise reparieren opensensemap.org
  • 38. OKLab Leipzig Museen Mitteldeutschlands: Architektur ● HTML mit Leaflet-Plugin ● Daten wurden aus einem lokal gehosteten Nominatim Server (via Docker und OSM Extrakten von http://download.geofabrik.de) extrahiert (um das Aufruf-Limit zu umgehen) ● Die Mittelpunkte der Shapes wurden selber programmatisch berechnet ● Die Daten werden als GeoJSON in Leaflet geladen und als Cluster- Karte dargestellt damals.in/museums
  • 39. OKLab Leipzig Museen Mitteldeutschland: Wie unterstützen? ● Noch mehr Informationen aus https://www.museum-digital.de/ oder auch www.deutsche-digitale-bibliothek.de an die Museen hinterlegen (z.B. Ausstellungsstücke) ● Museums-Kategorien extrahieren (oder vergeben lassen): Heimatmuseum, Naturkundemuseum, DDR-Museum, usw. ● Filtern der Marker nach Kategorie ● Filtern nach Öffnungszeiten ● Code liegt auf https://github.com/CodeforLeipzig/codingdavinciost2018/tree/mas ter/de.oklab.leipzig.cdv.glams damals.in/museums
  • 41. OKLab Leipzig damals: Architektur ● HTML mit Leaflet-Plugin ● Die Bilder wurden bereitgestellt von https://codingdavinci.de/daten/#stadtgeschichtliches_leipzig und https://codingdavinci.de/daten/#stadtarchiv_leipzig im Rahmen des https://codingdavinci.de/events/ost/ Hackathons ● Außerdem wurden CSV / XLSX Dateien mit den dazugehörigen Metadaten bereitgestellt ● Fotos wurden inzwischen auch auf Wiki commons hochgeladen und werden von dort auch referenziert ● Neben der Hauptanwendung (Karte mit geolokalisierten Fotos) gibt es noch ein Spiel (http://damals.in/leipzig/spiel/) bei dem man den Aufnahmeort eines Fotos möglichst nah erraten soll sowie ein Quiz (http://damals.in/leipzig/quiz/) bezogen auf die Fotos (bzw. ihrer dargestellten Orte / Elemente) damals.in/leipzig
  • 42. OKLab Leipzig damals: Wie unterstützen? ● Mehr freie Fotos auch aus unterschiedlichen Epochen geolokalisieren und referenzieren ● mehr Quizfragen (statt nur einer, wie aktuell) ● Suchen in Metadaten der Fotos filtert die entsprechenden Marker auf der Karte ● Motive, die in mehreren Fotos vorkommen taggen und suchbar machen (z.B. Neues Rathaus am Horizont) ● Weitere Ideen gibt es in der Präsentation https://github.com/CodeforLeipzig/codingdavinciost2018/blob/ma ster/docs/presentation/damals.pdf ab Folie 17 sowie Links zu verwandten Projekten https://altes-leipzig.net und http://altes-leipzig.de fehlen da noch in der Aufstellung ● Collage alt und neu wie z.B. in Heilbronn gemacht: http://heilbronn.apps-1and1.net/marktplatz damals.in/leipzig
  • 45. OKLab Leipzig Leipzig openData: Architektur ● HTML mit Leaflet-Plugin und GeoJSON / JSON-Dateien ● Teil eines Tutorials, wie man nach und nach immer komplexere Karten-Anwendungen mit Leaflet erstellt, die Dateien hierzu können hier heruntergeladen werden: https://github.com/CodeforLeipzig/opendata-leipzig-playground/re leases ● Jede der enthaltenen HTML-Dateien lässt sich einzeln im Browser öffnen, sie sind aber dazu gedacht im einfachen Text-Editor geöffnet und bearbeitet zu werden, sie enthalten Kommentare und austauschbare Teile, mit denen man den Umgang mit Leaflet lernen kann (nach Speichern der Änderungen sieht man deren Auswirkungen direkt im Browser) ● nutzt die Shape-Daten und die statistischen Daten von http://opendata.leipzig.de codeforleipzig.github.io/opendata-leipzig-playground
  • 46. OKLab Leipzig Leipzig openData: Wie unterstützen? ● Weitere Redeployments für andere Städte wie bereits für Wuppertal ( https://github.com/joergreichert/GeohackDesGutenLebens / https://joergreichert.github.io/GeohackDesGutenLebens/) und Moers (https://github.com/joergreichert/hackday-moers-2019 / https://joergreichert.github.io/hackday-moers-2019/) geschehen ● Legende generisch aus der Werte-Spanne der errechnen lassen ● Javascript-Code in wiederverwendbare Dateien extrahieren ● Auswahlbox für dynamische Attributauswahl, so dass nicht nur Einwohnerdaten sondern andere Daten anzeigbar sind ● Andere Visualisierungen (z.B. Kuchendiagramm) je nach Attributauswahl ● Radarchart aus Moers-Redeployment mit Auswahl von höchstens 3 Attributen auf einmal und mit Karte in Beziehung setzen ● https://github.com/CodeforLeipzig/opendata-leipzig-playground/tr ee/master/docs codeforleipzig.github.io/opendata-leipzig-playground
  • 48. ● Bot (aktuell in Form einer Webapp), der in natürlicher Sprache formulierte Fragen zum Klima-Wandel beantworten kann ● Neben Wissensfragen sollen auch statistische Fragestellungen mit Orts- und Zeitbezug beantwortet werden können – Beispiel: Wie viel CO2 hat Deutschland im Jahr 2017 produziert? Klimabot - Ziele OKLab Leipzig
  • 49. ● App: https://app.klimabot.de ● Entwicklung: – Server: https://gitlab.com/gerbsen/climatebot – UI: https://gitlab.com/gerbsen/climatebot-ui ● Verwendete Technologien – Snips NLU: https://github.com/snipsco/snips-nlu – Flask – Wikipedia Python Bibliothek – React ● Fragensammlung Klimabot - Links OKLab Leipzig
  • 50. OKLab Leipzig github.com/CodeforLeipzig/fancy_LVB_Telegram_Bot Fancy LVB Telegram Bot gtfs.leipzig.codefor.de/otp/router s/default/index/stops/1:0012829 /stoptimes/20190702 ... { "stopId": "1:0012829", "stopIndex": 10, "stopCount": 32, "scheduledArrival": 43200, "scheduledDeparture": 43200, "realtimeArrival": 43200, "realtimeDeparture": 43200, "arrivalDelay": 0, "departureDelay": 0, "timepoint": true, "realtime": false, "realtimeState": "SCHEDULED", "serviceDay": 1562018400, "tripId": "1:27159", "headsign": "Leipzig, Möckern, Slevogtstr." }, ...
  • 51. OKLab Leipzig Fancy LVB Telegram Bot: Architektur ● NodeJS Anwendung, die das Framework https://github.com/yagop/node-telegram-bot-api nutzt, um einen ChatBot für den Telegram-Messenger https://telegram.org unter einem freiwählbaren Namen (der auf Bot endet, wir haben uns für fancyLVBot entschieden) zu registrieren, der dann als Kontakt von jedem hinzugefügt werden kann ● Nutzer-Eingaben werden über Reguläre Ausdrücke gematcht und in entsprechende Kommandos umgesetzt ● Wir haben den Zugang zu den aktuellen MDV-Daten in GTFS- Format (https://gtfs.org) bekommen, die wir auf gtfs.leipzig.codefor.de in einer http://www.opentripplanner.org Anwendung hosten und somit auch als REST-API zur Verfügung haben ● des Weiteren nutzen wir https://www.npmjs.com/package/lvb für die Live-Abfahrten-Abfrage github.com/CodeforLeipzig/fancy_LVB_Telegram_Bot
  • 52. OKLab Leipzig Fancy LVB Telegram Bot: Wie unterstützen? ● Haltestellen zusammenfassen, die geografisch sehr nah beieinander liegen und logisch als ein Haltestellenpunkt betrachtet werden können ● Unscharfe Suche (Fuzzy Search), um auch Haltestelle zu finden, wenn man sich verschrieben hat, bzw. nicht genauen Wortlaut der Haltestelle trifft ● ChatBot aus anderen Chats heraus nutzen können ● EasyGo API nutzen, da GTFS API nur statische Daten liefert und das lvb npm Package noch auf eine veraltete API geht, die nicht alle neuen Haltestellen enthält (deren Abfahrten werden aktuell noch aus den statischen GTFS Daten aufgefüllt, dort bekommt man dann aber keine aktuellen Verspätungen) ● Code: https://github.com/eisc/fancy_LVB_Telegram_Bot ● Issues: https://github.com/eisc/fancy_LVB_Telegram_Bot/issues github.com/CodeforLeipzig/fancy_LVB_Telegram_Bot
  • 54. OKLab Leipzig Schulinternet: Architektur ● stellt Internetverbindungen von Schulen in Sachsen auf einer Karte dar und soll damit den weiteren Breitbandausbau vor allem im Bildungssektor anregen ● Nutzt https://cheerio.js.org zum Scrapen der Web-Seiten, https://www.npmjs.com/package/fast-csv zum Parsen der CSV- Dateien und https://github.com/hiddentao/fast-levenshtein für das Abgleichen der Schulnamen aus den unterschiedlichen Quellen nach Ähnlichkeit und schließlich https://leafletjs.com zum Visualisieren der zuvor generierten GeoJSON-Datei auf einer Karte Wie unterstützen? ● Kombinieren mit https://jedeschule.de (stellt Informationen über rund 30.000 allgemeinbildende Schulen in Deutschland maschinenlesbar bereit) ● Code: https://gitlab.com/gerbsen/internet-an-sachsens-schulen schulinternet.sachsen.codefor.de
  • 56. OKLab Leipzig Gentrifizierung: Umsetzung ● Alle Polygone, die mit „building“ getaggt sind wurden aus alten OpenStreetMap-Ständen, verfügbar auf http://download.geofabrik.de/europe/germany/sachsen.html unter raw directory index) als GeoJSON Dateien ausgelesen (geografisch eingeschränkt auf die BoundingBox von Leipzig) ● Über das obere rechte Menü kann man nun die Gebäude- Polygone der verschiedenen Jahre ein- und ausblenden, sowie die Luftbildaufnahme von 2014 oder 2018 anzeigen, um so sehen zu können, wo Dinge neu gebaut (bzw. in OSM eingepflegt) wurden Wie unterstützen? ● Mit http://www.baustelle-leipzig.de verschneiden; mit offiziellen Bebauungsplänen abgleichen; recherchieren, welche Immobilienfirma verantwortlich war; Mietpreise; ● Code: https://github.com/CodeforLeipzig/Gentrification bebauung.codeforleipzig.de
  • 58. OKLab Leipzig Wahldaten: Umsetzung ● da keine Shapefile mit den sächsischen Wahlkreisen gefunden werden konnte, sondern nur eine Aufstellung, welche PLZs zu welchen Wahlkreisen gehören, mussten die Shapes der PLZ- Gebiete programmatisch zu den Wahlkreis-Shapes zusammengemergt werden ● neben den PLZ- und Wahlkreise, werden auch die Gemeindegrenzen angezeigt Wie unterstützen? ● für die Großstädte noch die Stadtteile mit als Shapes hinzufügen ● die Wahlergebnisse beim Klick auf die einzelnen Gebiete als D3.js Grafik (Säulendiagramm, Tortendiagramm, Veränderungen) anzeigen lassen ● Code: https://github.com/CodeforLeipzig/wahldaten wahldaten.codeforleipzig.de
  • 59. OKLab Leipzig Klimabot: Umsetzung ● Backend: Python, Flask, https://github.com/snipsco/snips-nlu als Machine Learning Library zum automatischen Matchen von eingegebenen Fragen zum Klimawandel auf vorgefertigte Frage- Antworte-Paarungen, Python-Wikipedia-Library für die Bedienung von Was-ist-Fragen ● Frontend: React Wie unterstützen? ● Fragen-Antworten-Katalog erweitern ● Bot mit Beispiel-Eingaben trainieren ● Code: https://gitlab.com/gerbsen/climatebot und https://gitlab.com/gerbsen/climatebot-ui ● OKFN Slack-Channel: #climatebot app.klimabot.de
  • 61. OKLab Leipzig DresDenRallye ● entstanden als Prototyp auf dem Open Data Camp Hackathon in Dresden am 9. und 10.11.2019 ● über Gamification (Nudging, Serious Game) die verschiedenen Mobilitätsangebote der Stadt bekannt machen und die Nutzer dazu bringen, von ihrem gewohnten Mobilitätsverhalten abzuweichen und so sich potenziell umweltfreundlicher und abwechslungsreicher fortzubewegen ● Nutzt die Daten der Verkehrsbetriebe als auch von Teilauto und Nextbike, Open Routing Service und Turf.js als Technologien Wie unterstützen? ● Mobile-fähig machen, bessere Performance durch Backend, Routen-Editor, kreative Challenges, Team-Player-Modus ● Code: https://github.com/Geo3eck/dresden-rallye-web geo3eck.github.io/dresden-rallye-web/
  • 63. OKLab Leipzig Klimawatch ● Erreicht man die Klimaschutzzielen zur CO2-Reduktion in Leipzig? ● oder muss Druck auf Politik und Gesellschaft ausgeübt werden? ● Ursprünglich von Code for Münster initiiert, inzwischen tragen andere OKLabs die Daten ihrer Stadt hier ein ● in Leipzig entwickeln wir jeweils eine Backend- und eine Frontend- Anwendung, um besser weitere Datenquellen anzubinden und interaktivere Visualisierungen umsetzen zu können ● Nutzt die Daten aus dem ESKP der Stadt Leipzig sowie des Statistikamts, Vue.js im Frontend, Spring Boot im Backend Wie unterstützen? ● Daten im Backend als LinkedOpenData annotieren ● Interessante Visualierungen sich ausdenken, z.B. wie hier ● Code: https://github.com/CodeforLeipzig/klimawatch-leipzig und https://github.com/CodeforLeipzig/klimawatch-leipzig-vue klimawatch.de
  • 65. OKLab Leipzig Majorelle Mystery ● Mischung aus Point-and-Click-Adventure und Room-Escape-Spiel, entstanden im Coding da Vinci Hackathon Saar-Lor-Lux 2020 ● Nutzt die aktuelle und historischen Fotos aus der Jugendstil-Villa Majorelle in Nancy, Frankreich ● Technologien: Godot Engine mit Escoria, läuft (außer im Web) auf allen Plattformen (Windows, Linux, MacOS, iOS, Android) ● Übrigens das Point-and-Click-Adventure Casebook 1899 - The Leipzig Murders ist gerade von Gregor Müller in Entwicklung und spielt in Leipzig um 1900 Wie unterstützen? ● auch Leipzig hat noch viele Gebäude aus der Gründerzeit, könnte ein solches Spiel wäre vielleicht auch was für eine Leipziger Villa ● Eventuell reicht auch eine Umsetzung als Graphic Novel majmys.art majmys.art majmys.art
  • 67. OKLab Leipzig Klimadashboard ● versucht den Fortschritt der Energie-, Verkehrs- und Landwirtschaftswende in Sachsen zu dokumentieren ● Technologien: Django, Angular 2 Wie unterstützen? ● Weitere interessante Auswertungen / Visualisierungen hinzufügen ● Mobile freundlicher machen (aktuell Seitenleiste auf Handy nicht optimal dargestellt) klimadashboard.danielgerber.eu
  • 69. OKLab Leipzig Baumfilter ● Spin-Off (bzw. Vorläufer) von Leipzig giesst ● generelle Baum-Informationen anzeigen ● Bäume nach ihren Eigenschaften filtern können ● Technologien: Leaflet, jQuery, Daten: Baumkataster Leipzig Wie unterstützen? ● Mobile freundlicher machen (aktuell nicht wirklich auf Handy bedienbar) ● Integration von Wikidata-Informationen (wie teilweise schon bei Leipzig giesst geschehen) ● Gruppieren und Abfrage nach (Ober-)Gattungen, aktuell können z.B. nicht alle Linden abgefragt, weil die Info, dass z.B. die Stadt- Linde auch eine Linde ist, nicht hinterlegt ist baumstatistik.codeforleipzig.de
  • 71. OKLab Leipzig Leipzig giesst ● Kollaboratives Gießen der Straßen-Bäume in der Stadtgesellschaft ● Redeployment von GiessDenKiez aus Berlin ● Daten: Baumkataster Leipzig, Radolan-Daten vom DWD ● Technologien: React, Mapbox, Vercel, Netlify. Python, expo.dev Wie unterstützen? ● Gamification-Ideen beitragen ● Organisieren von Gießevents ● Bereitstellen von Wasserquellen ● Mitgießen app.leipziggiesst.de
  • 73. OKLab Leipzig Wo ist Testzentrum? ● Informationen über die offiziellen Corona-Testzentren ● Filtern nach Leistungsumfang und Öffnungszeiten ● Abwandlung von woistmarkt.de ● Daten: Corona-Testzentren aus dem OpenDataPortal Leipzig ● Technologien: Plain Javascript, Bootstrap, Leaflet Wie unterstützen? ● Daten nachpflegen (sofern das ab 2023 überhaupt sinnvoll ist) wo-ist-testzentrum.de
  • 75. OKLab Leipzig Kieznotiz ● Informationen über die Akteure und Veranstaltungen im Leipziger Osten (speziell Neustadt-Neuschönefeld und Volkmarsdorf) ● Weitere Infos: Uhrzeit, Wetter ● Daten: JSON API von Leipziger-Ecken.de ● Technologien: Grafana, Leaflet Wie unterstützen? ● Anzeige der Live-ÖPNV-Abfahrtzeiten ● Weitere Infos: Luftqualität, Rad- und KFZ-Zählstellen-Daten ● Umsetzungen für weitere Stadtteile Leipzigs kieznotiz.codeforleipzig.de
  • 77. OKLab Leipzig Leipzig pumpt ● Informationen über die aktuellen, aber auch abgebaute und kaputte Handschwengelpumpen in Leipzig ● Daten: Wikipedia, OpenstreetMap, eigene Datenerfassung ● Technologien: Leaflet Wie unterstützen? ● Kontrolle der Standorte, von denen der aktuellen Zustand nicht klar ist ● Splash-Screen ● Anbindung Backend, um die Kontrollgänge erfassen zu können ● Weitere Fotos beisteuern pumpenkarte.codeforleipzig.de
  • 79. OKLab Leipzig Leipzig Maps ● Visualisieren der Daten des Statistikamts pro Stadtteil ● Anzeige von POIs (zum Teil aus Statistikamt-Daten, zum Teil aus OpenStreetMap, zum Teil selbst gescrapt von Stadt-Webseiten) ● Daten: Statistikamt / OpenDataPortal ● Technologien: React Wie unterstützen? ● Anbinden weitere Quellen ● Anziehen der offiziellen Gesamtleipzig-Zahlen (statt aktuell Aggregation der Stadtteil-Zahlen (fehlerhaft bei Quotienten)) ● Weiteres Drilldown (Gesamt auf Stadtteil, Jahres- auf Quartal- auf Monatszahlen) ● Sinnvolle Bezugsgrößen (d.h. z.B. Delta Ärzte zu Delta Gesamtbevölkerung oder Delta Bevölkerung älter 60 Jahre) leipzigmaps.codeforleipzig.de
  • 81. OKLab Leipzig Wo ist Weihnachtsmarkt? ● Entdecken von Weihnachtsmärkten nach Angeboten (z.B. viktorianischer Weihnachtsmarkt), Aktionsformaten, Öffnungszeiten und Erreichbarkeit in Leipzig und nähere Umgebung ● Daten: Statistikamt / OpenDataPortal, LeipzigLeben-Blog, eigene Erfassung ● Technologien: Next.js Wie unterstützen? ● mehr Fotos ● Preisvergleich ● Volltextsuche weihnachtsmaerkte.codeforleipzig.de
  • 83. OKLab Leipzig Tools: Scraper / Scraper Runner https://morph.io/jrlover/city_council_leipzig_recent_papers
  • 84. OKLab Leipzig Tools: Overpass Turbo / API / OSM TagInfo Overpass API by Example http://overpass-api.de/ http://overpass-turbo.eu/ https://taginfo.openstreetmap.org/
  • 85. OKLab Leipzig Tools: Nominatim (Reverse Geo-Koder) nominatim.openstreetmap.org nominatim.codeforleipzig.de photon.komoot.de
  • 88. OKLab Leipzig Wie sich beteiligen ● Unsere Projekte befinden sich auf https://github.com/CodeforLeipzig/ ● In jedem Projekt sollte eine Beschreibung angezeigt werden, was es macht und wie man es sich aufsetzt / einrichtet ● Was ist GitHub: https://t3n.de/news/eigentlich-github-472886/ ● Git Grundlagen: https://git-scm.com/book/de/v2 ● Docker Grundlagen: https://jaxenter.de/einfuehrung-docker-tutorial-container-61528 ● Am besten ihr forkt euch das Projekt, das euch interessiert, in euren eigenen GitHub-Account, arbeitet dort an Features auf einem Branch und stellt dann einen Pull Request gegen das ursprüngliche Projekt ● https://help.github.com/en/articles/fork-a-repo ● https://help.github.com/en/articles/creating-a-pull-request ● Um sich beteiligen, muss man nicht zwingend programmieren können, neue Ideen, Test-Unterstützung, UI-Mockups helfen auch
  • 89. Angebote der Stadt Leipzig Open-Data-Portal der Stadt Leipzig opendata.leipzig.de
  • 90. Themenstadtplan (hier z.B. Lärmkarte) stadtplan.leipzig.de Angebote der Stadt Leipzig
  • 92. Dashboard Bevölkerungsentwicklung Einwohner und Bevölkerungsentwicklung Angebote der Stadt Leipzig
  • 93. Dashboard Luftqualität Messung der Luftschadstoffbelastung Angebote der Stadt Leipzig
  • 94. Verkehrszählungen Verkehrsaufkommen in der Stadt Leipzig Angebote der Stadt Leipzig
  • 96. Stadtklima-Analyse Angebote der Stadt Leipzig Stadtklima-Analyse
  • 97. Bildungsreport Angebote der Stadt Leipzig Bildungsreport
  • 98. Angebote der Stadt Leipzig leipzig.de/wirtschaft-und-wissenschaft/digitale-stadt/aktuelle-projekte/urbane-daten plattform-und-sensorik digitalcampus.leipzig.de/referat-digitale-stadt
  • 104. Karten-Apps Häuser, die vor 1919 errichtet wurden Handling Grid-Data from the German Census
  • 105. Karten-Apps Click your hood (gibt es noch nicht für LE) click-that-hood.com