Benutzerdefinierte Streckenkonfiguration

Hallo!

Stelle mir eine beliebige Frage über Lympik.

Sei bitte möglichst präzise, damit ich dir besser helfen kann.

Wie lade ich Daten von Oculus in die Lympik Web-App hoch? Was muss ich beachten, bevor ich mich mit Chronos stoppe? Wie kann ich Oculus-Daten analysieren? Warum sehe ich keine Ergebnisse in meiner Aktivität? Wie funktioniert die Videoanalyse? Warum sind meine Zeiten falsch? Wie kann ich meine Datenschutzeinstellungen bearbeiten? Wie funktioniert die Bezahlung für die Software bei Lympik? Wie funktionieren NFC-Chips? Was soll ich tun, wenn mein Chronos-Gerät keinen Empfang hat? Wie lade ich Daten von Oculus in die Lympik Web-App hoch? Was muss ich beachten, bevor ich mich mit Chronos stoppe? Wie kann ich Oculus-Daten analysieren? Warum sehe ich keine Ergebnisse in meiner Aktivität? Wie funktioniert die Videoanalyse? Warum sind meine Zeiten falsch? Wie kann ich meine Datenschutzeinstellungen bearbeiten? Wie funktioniert die Bezahlung für die Software bei Lympik? Wie funktionieren NFC-Chips? Was soll ich tun, wenn mein Chronos-Gerät keinen Empfang hat?

Antworten werden KI-generiert und können fehlerhaft sein!

Sie können mit den Pfeiltasten oben zwischen den drei Menüpunkten „Gates“, „Calculations“ und „Presentation“ navigieren. Um die Daten Ihres Oculus Trackers in einer Ergebnistabelle anzuzeigen, müssen Sie alle drei Menüpunkte in der richtigen Reihenfolge bearbeiten.

Gates

Auf dieser Seite können Sie nun Ihre virtuellen Tore festlegen. Sie können eine unbegrenzte Anzahl an Toren oder Zwischenzeiten hinzufügen. Klicken Sie dazu einfach auf „Add“.

Jedes Mal, wenn Sie auf „Add“ klicken, wird der Karte ein neues Tor hinzugefügt. Sie können die Tore nun verschieben, indem Sie den Kreis auf der Karte anklicken und gedrückt halten. Alternativ können Tore durch die Eingabe von Koordinaten korrekt positioniert werden — klicken Sie dazu in der Leiste, in der sie hinzugefügt werden, auf das Tor. Das folgende Fenster wird nun geöffnet:

In diesem Fenster können Sie die Koordinaten der Kreise anpassen und dadurch die Position des Tors ändern. Hier können Sie auch festlegen, ob das Tor in eine oder in beide Richtungen ausgelöst werden kann. Sie können die Auslöserichtung ändern, indem Sie auf „Flip“ klicken. Standardmäßig ist das Auslösen nur in eine Richtung festgelegt. Sie können dies auf der Karte prüfen — der Pfeil neben Ihrem Tor zeigt die Richtung an.

Sie können eine Referenzzeit für diesen Sektor eingeben, indem Sie auf das Zahnrad zwischen den Toren klicken. Wenn Sie mit dem Ergebnis zufrieden sind, klicken Sie auf „Process“, um Ihre Streckenkonfiguration zu speichern und zur Ergebnisübersicht Ihrer Aktivität zurückzukehren.

Tipp: Sie können mit Ihrem Oculus Gerät eine Aufzeichnung der gewünschten Strecke machen — diese wird nach dem Hochladen in der Kartenansicht angezeigt und kann Ihnen dabei helfen, Ihre Tore zu platzieren.

Sie können Ihre Streckenkonfigurationen als Vorlage speichern! Navigieren Sie dazu zur Streckenkonfiguration und scrollen Sie ganz nach rechts zu Ihren Toren. Dort finden Sie die Schaltfläche „Template“. Klicken Sie darauf, und das folgende Fenster wird geöffnet:

Sie haben die Möglichkeit, eine vorhandene Vorlage zu laden und für Ihre aktuelle Aktivität zu verwenden. Sie können Ihre Eingaben auch verwenden, um eine andere Vorlage zu überschreiben oder sie als neue Vorlage zu speichern. Ihre gespeicherten Vorlagen finden Sie unter Ihrem Profil.

Calculations

Im nächsten Schritt definieren Sie die Berechnungen, die Sie zur Verarbeitung Ihrer Daten benötigen. Wechseln Sie dazu bitte zum zweiten Menüpunkt „Calculations“.

Klicken Sie auf „Add“, und es wird ein Fenster geöffnet, in dem Sie die gewünschten Berechnungen eingeben können. Eine unbegrenzte Anzahl an Berechnungen ist möglich!

Der Name Ihrer Berechnung wird unter Identifier automatisch erzeugt — Sie benötigen ihn im nächsten Schritt, um Ihre Ergebnisse anzuzeigen.

Unter Property können Sie auswählen, ob Sie die Geschwindigkeit, die Dauer oder die Distanz berechnen möchten. Bei der Berechnung der Dauer oder der Distanz gibt es keine weiteren Unterfunktionen; hier können Sie noch festlegen, welcher Tor-Abschnitt für die Berechnung berücksichtigt werden soll. Für die Geschwindigkeit stehen mehrere Unterfunktionen zur Verfügung (z. B. Durchschnitt, Minimum, Standardabweichung usw.). Auch hier können Sie mit dem Schieberegler auswählen, welcher Abschnitt Ihres Laufs berücksichtigt und berechnet werden soll. Dadurch können Sie eine Vielzahl von Berechnungen durchführen, die Sie selbst konfigurieren.

Presentation

Klicken Sie nun auf den letzten Menüpunkt „Presentation“. Der Presentation Designer wird verwendet, um anzupassen, wie Ihre Ergebnisse angezeigt werden:

Es gibt drei verschiedene Objekte, die zu unterscheiden sind:

Column group: Eine Gruppe von Spalten, die entweder fest sind oder abhängig von einer Bedingung wiederholt werden (Loop).

Column: Einzelne Spalte, die sortiert werden kann.

Cell: Hier wird der eigentliche Inhalt angezeigt.

Configure column group

Drücken Sie entweder auf das Plus-Symbol, um eine neue Spaltengruppe hinzuzufügen, oder bearbeiten Sie sie neben der Spaltenüberschrift.

Hier können Sie zwischen zwei Typen wählen:

Fixed: Die Spalten in dieser Gruppe werden einmal angezeigt.

Dynamic: Alle Spalten in dieser Gruppe werden N-mal wiederholt. N basiert dynamisch auf den verfügbaren Ergebnissen. Meistens wählen Sie Ebene 1; das bedeutet, dass für jede Runde alle Spalten in dieser Gruppe wiederholt werden.

Sie können auch eine Überschrift definieren. Bei Verwendung des dynamischen Typs gibt es außerdem eine Variable i, die den Index der Schleife angibt und hilfreich ist, um die aktuelle Rundennummer anzuzeigen.

Configure column

Nun können Sie eine Spalte hinzufügen oder bearbeiten. Denken Sie daran: Dies ist nur die Spaltendefinition und noch nicht der Zelleninhalt.

Sie können die Überschrift der Spalte festlegen und definieren, nach welcher Property sortiert werden soll. Sehen Sie sich bitte Ihre Berechnungen an und übernehmen Sie dort einen Identifier. Sie können die allgemeine Ausrichtung des Zelleninhalts festlegen und die Spalte nach rechts oder links verschieben.

Configure cell

Nun können wir den Inhalt jeder Zelle definieren.

Sie können aus drei häufig verwendeten Vorlagen wählen: Zeit-, Geschwindigkeits- und Distanzanzeige. Zuerst müssen Sie die Berechnung auswählen, die Sie anzeigen möchten, danach können Sie die Formatierung von Zeit, Distanz und Geschwindigkeit konfigurieren. Wenn Sie eine spezielle Formatierung verwenden möchten, um mehrere Werte in einer Spalte anzuzeigen, können Sie den benutzerdefinierten Typ wählen.

Benutzerdefinierten Code schreiben

Sie müssen benutzerdefinierten Code schreiben, um Ihre Berechnungen anzuzeigen. Am einfachsten zeigen Sie einen Wert an, indem Sie den Identifier Ihrer gewünschten Berechnung in doppelte geschweifte Klammern setzen. Zum Beispiel:

{{cell.biathlon.lap.duration}}

Wenn die Vorlage ausgeführt wird, wird dieser Ausdruck durch den tatsächlichen Wert in dieser Zeile ersetzt. Wie Sie sehen, haben wir den Identifier unserer Berechnung mit dem Präfix „cell.“ verwendet. Später werden wir erklären, warum er verwendet wird und wie wir andere Präfixe zu unserem Vorteil nutzen können. Sie können auch normalen HTML-Code verwenden, um Ihre Zellen zu formatieren. Die Syntax dieses Codes wird hier ausführlicher beschrieben: https://handlebarsjs.com/guide/#what-is-handlebars

Nur einen einzelnen Wert anzuzeigen, ist nicht besonders nützlich. Meistens möchten wir den Wert mit etwas anderem vergleichen. Hier kommt unser Präfix ins Spiel. Mit dem Präfix „column“ erhalten Sie alle Werte für den angegebenen Identifier. Natürlich ist dies dann ein Array, daher müssen wir dieses Array irgendwie aggregieren. Sie können dafür eine der folgenden Funktionen verwenden. Machen wir ein Beispiel:

{{max column.biathlon.lap.speed.avg}}

Dadurch wird die maximale Durchschnittsgeschwindigkeit ausgegeben.

Um Ihnen die Arbeit zu erleichtern, haben wir zusätzliche Funktionen aufgenommen:

  • eq arg1 arg2Gleich
  • ne arg1 arg2Ungleich
  • lt arg1 arg2Kleiner als
  • gt arg1 arg2Größer als
  • lte arg1 arg2Kleiner als oder gleich
  • gte arg1 arg2Größer als oder gleich
  • and arg1 ... : Logisches UND
  • or arg1 ... : Logisches ODER
  • add arg1 arg2: Mathematisches +
  • sub arg1 arg2: Mathematisches -
  • mul arg1 arg2: Mathematisches *
  • div arg1 arg2: Mathematisches /
  • mod arg1 arg2Mathematisches %
  • min arg1 ... Minimum aller Werte
  • max arg1 ... Maximum der Werte
  • avg arg1 ... Durchschnitt der Werte
  • sum arg1 ... Summe der Werte
  • range num Erstellt ein Array mit 0 - num Elementen.
  • filter arr val optFiltert ein Array nach einem gegebenen Wert. Opt kann verwendet werden, um eine Property wie prop="test" zu definieren.
  • filterMap arr1 arr2 val opt: Wie filter, wobei die Bedingung auf arr1 angewendet wird und arr2 zurückgegeben wird.
  • round num places: Rundet num auf places Dezimalstellen.
  • date val fmt Formatiert das angegebene Datum (Unix-Zeitstempel) anhand des angegebenen Formats. Die folgenden Formatierer sind verfügbar: https://date-fns.org/v3.6.0/docs/format
  • perc val1 val2 fmt : Ermittelt die prozentuale Differenz zwischen val1 und val2. Standardmäßig wird die relative Änderung verwendet, aber wenn Sie den absoluten Wert möchten, können Sie fmt auf "absolute" setzen.
  • dateDiff val1 val2 fmt Ermittelt die Differenz zwischen zwei Datums-/Zeitwerten mit einem bestimmten Format. Dadurch werden Probleme vermieden, die bei der Berechnung der Differenz und anschließenden Formatierung des Werts entstehen können.

Zellenbeispiele

Konvertiert m/s in km/h und rundet auf eine Dezimalstelle:

{{round (mul cell.generic.lap.speed.max 3.6) 1}} km/h

Dauerdifferenz. Es wird die Dauer angezeigt und die Differenz zur schnellsten Dauer berechnet. Die Differenz wird ausgeblendet, wenn sie null ist.

‍{{#if (gt (sub cell.generic.lap.duration (min column.generic.lap.duration)) 0)}}

<span style="color:#DB3100;font-size:10px;margin-right:6px;font-weight:bold">+{{dateDiff cell.generic.lap.duration (min column.generic.lap.duration) "s.SS"}}</span>

{{/if}}

{{date cell.generic.lap.duration "s.SS"}}

Wie oben, aber mit Geschwindigkeit. ‍

{{#if (gt (sub (max column.generic.lap.sec3.speed.max) cell.generic.lap.sec3.speed.max) 0)}}

<span style="color:#DB3100;font-size:10px;margin-right:6px;font-weight:bold">-{{round (sub (max column.generic.lap.sec3.speed.max) cell.generic.lap.sec3.speed.max) 1}}</span>

{{/if}}

{{round (mul cell.generic.lap.sec3.speed.max 3.6) 1}} km/h