Unterschiede zwischen den Revisionen 3 und 4
Revision 3 vom 2023-10-31 13:48:00
Größe: 2799
Kommentar:
Revision 4 vom 2023-10-31 14:27:41
Größe: 3573
Kommentar: Diese Beschreibung ist keine Anleitung
Gelöschter Text ist auf diese Art markiert. Hinzugefügter Text ist auf diese Art markiert.
Zeile 9: Zeile 9:
<<TableOfContents(3)>>
Zeile 11: Zeile 13:
=== 1. Daten pro Ort zusammenstellen === 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. Daten für die Verarbeitung vorbereiten ===
Zeile 21: Zeile 25:
Wir fassen die Orginaldaten der Polizei nicht an! Dies bleiben grundsätzlich unverändert. Damit bleibt ein Beweis für unsere Aussagen erhalten. Die Freie Software erlaubt, jeden Schritt der Auswertung nachzuvollziehen.
Zeile 22: Zeile 27:
Im nächsten Schritt wird mit cadmandu und einer allgemeinen FIX Datei === 2. Einen ortsspezifischen Datensatz herausfiltern ===

M
it cadmandu und einer allgemeinen FIX Datei
Zeile 26: Zeile 33:
angepasst und mit einer ortspezifischen FIX Datei und mit einer ortspezifischen FIX Datei
Zeile 30: Zeile 37:
in eine ortsbezogene json Datei verarbeitet. wird eine ortsbezogene json Datei erstellt.
Zeile 34: Zeile 41:
=== 2. Internet Darstellung vorbereiten ===
==== 2.1. Stadtgrenzen erstellen ====
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 ====
Zeile 58: Zeile 87:
==== 2.2. Unfälle in der Karte anzeigen lassen ==== ==== 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 ===
Zeile 71: Zeile 112:
js/city-rietberg-accidents-2021 map/src/js/city-rietberg-accidents-2021.js
Zeile 73: Zeile 114:
Die Maker, welche den Unfalltyp in Farbe und mit Symbolen anzeigt, sind in diesem Javascript konfiguriert:
{{{
map/src/js/app/accidents.js
}}}


In der allgemeinen FIX Datei werden die Spaltenköpfe ungeschrieben und einige Spalten aufgeteilt, so dass sie dann spezifisch ausgewertet werden können.

In der ortsbezogenen FIX Datei

{{{
accidents_rietberg_2021.txt
}}}

steht ein Filter, welche Daten aus der json Datei herausgezogen werden sollen.

{{{
select all_equal(location.locality, 'dbr:Rietberg')
select all_match(startTime, '^2021-')
}}}

Hier werden alle Daten der Stadt Rietberg, die mit der Jahreszahl 2021 beginnen, herausgefiltert und in die Datei

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. Daten für die Verarbeitung vorbereiten

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 fassen die Orginaldaten der Polizei nicht an! Dies bleiben grundsätzlich unverändert. Damit bleibt ein Beweis für unsere Aussagen erhalten. Die 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)

Alle Inhalte in diesem Wiki stehen unter der Creative Commons SA 4.0 DE Lizenz