Skript o.ä. zur automatisierten Berichtserstellung für Kommunen

Moin zusammen,
Ich möchte demnächst mit den ersten gesammelten Daten meiner Heimatkommune hausieren gehen. Gibt es denn irgendwo (Python-)Skripte, mit denen die Daten automatisch ausgewertet und in straßenspezifische Berichte gegossen werden? Wenn ja, wie finde ich die?
Grüße, und … wählt ordentlich :slight_smile:

@Fietsekapitän Nein, sowas haben wir bisher nicht in dem Automatisierungsgrad, dass da Berichte für Straßen rausfallen. Derzeit können die Portale json für openstreetmap segmente und für Überholevents ausspucken. Darauf bsierend gibt es zwei repositories, in denen sich menschen Gedanken zu Auswertungen gemacht haben, bisher vor allem zu den Events. einmal dieses von @simse von der TH Wildau und dieses von @boldt

1 „Gefällt mir“

hier noch ein drittes mit der möglichkeit selbst gewählte kriterien zu untersuchen. Aber auch nicht komplett automatisch

3 „Gefällt mir“

Herzlichen Dank! Läuft :smiley:

Moin, mir erschien dieses Analysepaket am passendsten für meine Zwecke. Ich habe dann am Ende vom Skript 1_2 kurzerhand folgenden Block eingefügt:

df = gdf_kombi

# Liste der eindeutigen Einträge in der Spalte "name", die häufiger als 20 Mal vorkommen
frequent_names = df['name'].value_counts()[df['name'].value_counts() > 20].index.tolist()

# Bins definieren
bins = np.arange(0, 3.25, 0.25)
bins = np.append(bins, np.inf)  # Alles über 3 zusammenfassen

# Schleife durch die häufigen Namen und Erstellen der Histogramme
for name in frequent_names:
    subset = df[df['name'] == name]
    plt.figure(figsize=(10, 6))

    # Histogramm plotten
    n, bins, patches = plt.hist(subset['distance_overtaker'], bins=bins, alpha=0.7, edgecolor='black')

    # Farben anpassen
    for patch, left_edge in zip(patches, bins[:-1]):
        if left_edge < 1.5:
            patch.set_facecolor('red')
        elif left_edge < 2:
            patch.set_facecolor('orange')
        else:
            patch.set_facecolor('green')

    plt.title(f'ADFC/OpenBikeSensor-Messungen für {name}, {len(subset)} Überholungen')
    plt.xlabel('Überholabstand [m]')
    plt.ylabel('Häufigkeit')
    plt.grid(axis='y', alpha=0.75)

    filename = "../Ergebnisse/" + name.replace(' ', '_') + '.png'
    plt.savefig(filename, facecolor='white', transparent=False)
    
    plt.show()

Damit kommen dann so schöne, populistische Bildchen heraus wie das hier:

1 „Gefällt mir“

Moin!
Das freut mich, dass das Script weiter genutzt wird! Dann hat sich die ganze Arbeit ja doch gelohnt :slight_smile:

Die Zusammenfassung nach Namen und das Ausgeben in der Schleife ist vom Arbeitsaufwand auch clever - auch wenn ich aus meinem Blickwinkel gleich anmerken will, dass schon in der Berliner Straße dabei ganz unterschiedliche Arten von Infrastruktur zusammengefasst werden :smiley: Je nachdem was erreicht werden soll kann das ja aber trotzdem gut sein! Du musst nur aufpassen, dass du keine anderen „Berliner Straßen“ mit drin hast sondern nur die aus deiner Kommune…

Und ob ihr legale Abstände noch in gelb darstellen möchtet müsst ihr auch selbst wissen. Ich denke, dass das einen aber auch angreifbar machen kann, eben mit dem Vorwurf zu populistisch zu sein. Vielleicht eher ein helles grün? Oder in Anlehnung ans OBS-Portal, das finde ich auch echt gelungen.
Ansonsten wünsch ich euch viel Erfolg mit eurer Kampagne!

1 „Gefällt mir“

Danke :smiley:

Du hast vollkommen recht was die Zusammenfassung der Infrastruktur angeht! In diesem Fall ist das Absicht, weil ich zunächst mal überhaupt aufzeigen möchte, dass es ein Problem gibt. Natürlich muss dazu noch irgendwo Kleingedrucktes hingeworfen werden :sweat_smile:

Die Einteilung in Abschnitte würde ich vornehmen, wenn wir dann ins Gespräch gekommen sind und uns Details anschauen.

Legale Abstände in gelb - ich wollte argumentieren, dass man für Kinder ja 2m braucht und dass der Bereich zwischen 1,5m und 2m deswegen durchaus gelb sein kann. Aber: Ich finde die Kinderregel nicht in der StVO!?

@fietsekapitaen Du hast dieses hier verwendet? GitHub - Drooembueddel/OSM-OBS_Analysis

Genau, das habe ich verwendet.

Ah, so macht es dann Sinn. In der StVO steht das auch nicht, da nur die 1,5m inner und 2m außerorts. Es gab wohl aber mal ein Urteil des OLG Naumenburg (AZ 12 U 29/05), aus dem der Wert von 2m mit Kind auf dem Rad kommt.

1 „Gefällt mir“