Lesser ist der Name der Freien Software, mit der wir die Daten visualisieren
Wer an der Software interessiert ist und selbst damit arbeiten möchte, kann sich eine Kopie herunterladen.
git clone git://source.free-owl.de/map
Inhaltsverzeichnis
Wie werden die Daten verarbeitet?
Diese Beschreibung ist keine Anleitung, wie das Programm lesser bedient werden soll. Sie richtet sich an Entwickler, die Arbeitsweise der Software verstehen wollen. Sie ist gedacht als Hilfestellung für eine eventuelle Fehlersuche.
1. Orginaldaten bleiben unverändert.
Es wird zur Weiterverarbeitung eine Datei im Jason-Format angelegt. Damit sind die Daten für die Verarbeitung vorbereitet.
Aus der xlsx Quelldatei der Polizei
map/data/district/guetersloh/accidents/2021.xlsx
wird mit der Software catmandu
map/data/district/guetersloh/accidents/2021.json
Diese Datei enthält alle gemeldeten Unfälle in einem Jahr.
Wir verändern die Orginaldaten der Polizei auf keinen Fall!
Damit bleibt ein Beweis für unsere Aussagen erhalten. Unsere Freie Software erlaubt, jeden Schritt der Auswertung nachzuvollziehen.
2. Einen ortsspezifischen Datensatz herausfiltern
Mit cadmandu und einer allgemeinen FIX Datei
map/fix/accidents/police-guetersloh.txt
und mit einer ortspezifischen FIX Datei
map/fix/accidents_rietberg_2021.txt
wird eine ortsbezogene json Datei erstellt.
map/build/data/accidents_rietberg_2021.json
Diese enthält alle gemeldeten Unfälle in Rietberg im Jahr 2021.
Mit der allgemeinen FIX Datei
map/fix/accidents/police-guetersloh.txt
werden die Spaltenköpfe umformuliert und einige Spalten neu aufgeteilt, so dass sie spezifisch ausgewertet werden können.
In der ortsbezogenen FIX Datei
accidents_rietberg_2021.txt
steht die Anweisung, welche Daten aus der json Datei herausgezogen werden sollen.
select all_equal(location.locality, 'dbr:Rietberg') select all_match(startTime, '^2021-')
3. Internet Darstellung vorbereiten
3.1. Stadtgrenzen erstellen
Wir nutzen die freie Openstreetmap Karte und holen uns dafür zuerst die Stadtgrenzen. (relation)
-> https://osm.org -> Im Suchfeld Rietberg eingeben -> Maus über Stadt Rietberg -> unten wird die Relation angezeigt
https://www.openstreetmap.org/relation/78758
Diese Relation tragen wir in unser Script ein:
map/bin/get-boundaries.sh
city rietberg relation/78758
Wenn wir jetzt das Script get-boundaries.sh starten, werden aus den Openstreetmapkarten die Stadtgrenzen geholt und in eine Datei eingetragen:
map/vendor/osm/boundary_rietberg.json
Hier werden die Stadtgrenzen dauerhaft abgelegt, um das Openstreetmap Projekt mit wenig Datentransfer zu belasten.
3.2. Erscheinungsbild der Unfälle (Maker-Symbole) vorbereiten
Die Maker, welche den Unfalltyp in Farbe und mit Symbolen anzeigt, sind in diesem Javascript konfiguriert:
map/src/js/app/accidents.js
In den Dateien im Verzeichnis
map/src/cat/
werden die Unfallursachen, die Altersgrupen, die Fahrzeugtypen etc. für die Javascrite übersetzt
4. Unfälle in der Karte anzeigen lassen
Für die Aufbereitung der Daten in eine Openstreetmap Karte muss eine index.html Seite angelegt werden:
map/src/city/rietberg/accidents/2021/index.html
In dieser Datei steht im Titel
<title>2021 Rietberg Unfallanalyse</title>
und im body steht ein Link, der ein javascript aufruft.
map/src/js/city-rietberg-accidents-2021.js