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

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

UnfallAnalyse/Lesser (zuletzt geändert am 2023-10-31 14:33:01 durch KlausDefacht)