Liebes Admin-Team,
wir überprüfen gerade, welche Straßen mit Schutzstreifen in Mainz für einen Verkehrsversuch mit breiten Schutzstreifen und schmaler Kernfahrbahn (wie in unseren Nachbarländern) in Frage kommt. Dafür möchten wir gern die im Portal erfassten Überholvorgänge für ganze (!) Straßenzüge auswerten, um festzustellen, in welcher Straße besonders häufig zu eng überholt wird. Wir haben uns ein Programm für diese Auswertung geschrieben, aber dafür benötigen wir eine csv-Datei mit dem Download aller Messwerte für die Stadt Mainz oder eines entsprechenden Kartenausschnitts. Aus dieser Datei filtern wir dann an Hand der Geodaten die Überholvorgänge für eine Straße von Anfang bis Ende bzw. für die Länge des Schutzstreifens.
Könntet ihr mir die Daten für Mainz zur Verfügung stellen?
Hallo
Auch wenn ich kein Admin bin.
https://portal.openbikesensor.org/export
Geografischer Bereich: 8.1783,49.9458,8.3317,50.0247
dann als json speichern - zum beispiel mainz.json
Dann diesen code ausführen, macht aus dem json ein csv. bitte checke den code, bevor den laufen lässt - auch wenn ich bestimmt keine bösen absichten habe.
python3 -c "
import json, csv
with open('mainz.json') as f:
data = json.load(f)
with open('mainz.csv', 'w', newline='') as f:
fieldnames = ['longitude', 'latitude', 'distance_overtaker', 'distance_stationary',
'direction', 'way_id', 'course', 'speed', 'time', 'zone']
w = csv.DictWriter(f, fieldnames=fieldnames)
w.writeheader()
for feature in data['features']:
row = {
'longitude': feature['geometry']['coordinates'][0],
'latitude': feature['geometry']['coordinates'][1],
**feature['properties']
}
w.writerows([row])
print(f\"Fertig: {len(data['features'])} Einträge nach mainz.csv exportiert\")
"
Und wenn du dann sie Segmente der gewünchten Strassenzüge kennst hast du die Daten.
Beispiel
1215384566
longitude latitude distance_overtaker distance_stationary direction way_id course speed time zone
| 8.2314406 | 50.016313 | 1.1300000000000000 | 1.02 | 1 | 1215384566 | 2.4006211481701600 | 2.888888888888890 | 2024-03-28T13:50:44+0000 | urban |
|---|---|---|---|---|---|---|---|---|---|
| 8.2314732 | 50.0163479 | 1.16 | 0.67 | 1 | 1215384566 | 2.3401838868321000 | 5.166666666666670 | 2024-06-25T14:55:27+0000 | urban |
| 8.2305923 | 50.0169984 | 1.1400000000000000 | 2.56 | -1 | 1215384566 | 5.433049391167160 | 4.333333333333330 | 2025-08-25T10:58:20+0000 | urban |
Moderator edit: codeblock als Codeblock formatiert, damit die quotes nicht kaputt gehen
Mit @dgg s Codebeispiel kann man sich den export (den jeder unter „export“ selbst erstellen kann) nach csv konvertieren. Voraussetzung ist, dass ein Python 3 installiert ist. Für die mehrfache Verwendung kann man auch den Code von import bis exportiert\") in einer Datei converter.py ablegen, die \ vor den " in der letzten Zeile entfernen, und bei Bedarf als python script ausführen. (z.B. unter Windows mit py -3 converter.py)
Wenn euer Auswertungscode eh in Python sein sollte, könntet ihr natürlich auch direkt json von dort einlesen (auch andere Sprachen, mit denen man solche Auswertungen macht, haben oft die Möglichkeit, json direkt zu lesen, z.b. in R oder Matlab oder SAS oder excel ).
Vielen Dank euch beiden!
Nachdem ein Kollege mir beim Aufbereiten der Daten geholfen hat, stellt sich die Frage, ob in der erzeugten Excel-Datei in der Spalte „distance_overtaker“ nur bestätigte Überholvorgänge enthalten sind. Die Spalte „confirmed“, die in den Rohdaten des obs die Überholvorgänge kennzeichnet, fehlt im Export der Daten aus der Portalkarte. Wir fragen deshalb vorsichtshalber nochmal nach.
Ja, distance_overtaker enthält nur bestätigte Überholvorgänge.