Umrechnung CSV -> JSON Raw-Werte

Gerne möchte ich im Detail nachvollziehen, wie die Werte aus den CSV-Dateien in cm umgerechnet werden. Die Dokumentation des CSV-Formats sagt: Lus / Factor. Konkret also ein 0,x-Wert geteilt durch 58. Dabei kommen dann aber keine CM-Werte raus.

Wie ist das im FACE-Skript? Denn ich komme von den raw_t_left in der Datei collected/measurements.json nicht auf den dort angegebenen Wert distance_overtaker - selbst bei Berücksichtigung des Offsets. Gibt es jemand, der mir die Umrechnungsformel kurz nennen kann?

Hintergrund ist: Ich möchte aus der measurements.json die lichte Breite einzelner Straßenabschnitte extrahieren. Diese Daten liegen uns bisher nicht vor. Danke!

Und in dem Zusammenhang: Gibt es eine Dokumentation des JSON-Formats? Die habe ich bislang ebenfalls nicht gefunden.

Soweit ich weiß macht die Firmware da eine gewisse Glättung der Daten um einzelne Fehlmessungen (also die Einzelwerte die vom US-Sensor kommen, mit ca 20 Hz) zu entfernen. DIe Firmware schreibt das Ergebnis in die Left und Right Spalten, und ich glaube, dass die dann von den Scripts verwendet werden, und nicht die Lus/Rus Spalten. Ganz sicher bin ich mir aber nicht, müsste mensch im Code nachschauen.

Von der Visualisierung werden nur die Werte in der Left und Right Spalte berücksichtigt. Die Rohdaten fließen bisher nicht in eine Berechnung oder Visualisierung ein.
Bei Bestätigung steht der Index des bestätigten Messwerts in der Spalte Confirmed. Angenommen dort steht 19 dann muss der Lus19 Wert genommen werden, durch die 58 (Faktor) geteilt und der Offset abgezogen werden. Aus z.B. 7869 wird so 7869/58-30 = 106cm

Falls du auf andere Werte kommst ist was faul.

Es wird zur Bestätigung immer nur der Median der letzten 3 gemessenen Werte verwendet, dessen Maximum dann für eine gewisse Zeit zur Bestätigung angezeigt wird bzw. der dann als unbestätigter Messwert Left und Right ins CSV eingetragen wird. Daher kann es sein, dass in den Einzelmessungen vor oder nach dem Bestätigten Wert eine kleinere Zahl zu finden ist.

Mehr Details zum Einsteigen, und warum 58 gewählt wurde im Quellcode oder gerne hier weiter Fragen.

2 „Gefällt mir“

Das Format der measurements.json ist GeoJSON, die das Feature beschreibenden Werte sind alle relativ eindeutig über ihren Namen beschrieben. Für die Bestimmung der lichten Breite evtl. noch hilfreicher könnte die all_measurements.json sein, (für die lichte Breite ist es ja unerheblich ob überholt wurde). Bei der Bestimmung der lichten Breite muss man aber die Daten genau angucken, da Vegetation (Büsche, Maispflanzen, etc…) Ultraschall schlecht reflektieren und Hindernisse in Bodennähe, die die befahrbare lichte Breite verringern vom OBS nicht erfasst werden.

Danke für eure Antworten und die Erklärungen zur Berechnung der Left bzw. Right-Werte!

@gluap wo finde ich die all_measurements.json-Datei? Ich nutze bislang die FACE-Skripte und nutze die data/collected/measurements.json-Datei, in der nach meinem Verständnis alle Fahrten bzw. CSV-Dateien als .json zusammengefasst werden.

In dieser Datei finde ich unter raw_t_left bzw. raw_t_right Werte wie 0.307, weshalb ich bei der Umrechnung wie genannt Probleme habe. Oder sind das einfach andere Maßeinheiten, @andreas?

Genau, für die lichte Breite ist es notwendig, vorsichtig vorzugehen und falsche Daten rauszuziehen. Ich mache das auch eher punktuell, wenn ich zu einem Straßenabschnitt vor der Diskussion mit den Behörden genau wissen will, wie viel Platz da de facto bei der Durchfahrt zur Verfügung steht.
Es wäre aus meiner Sicht aber ein tolles Nebenprodukt der Messungen, wenn sich das irgendwie annähern bzw. rauslesen lässt. Denn Daten zur lichten Breite liegen z. B. in München m.W. n. nicht vor.

Die face skripte schreiben im Portal auch eine all_measurements.json - Ichbin jetzt aber gerade 4 Wochen auf dem Rad unterwegs ohne Laptop und kann erst danach gucken ob / wie das auch manuell grht.

1 „Gefällt mir“

Zum JSON kann ich leiden nix sagen. Wenn ich den Code richtig interpretiere wird da nur das Komma verschoben und aus der Ganzzahl Mikrosekunden (μs) Angabe eine Fließkommazahl in vollen Sekunden (s) gemacht. Wobei der Wert 0.307 unerwartet hoch ist.