Veranstaltung¶
Eine Veranstaltung ist die zentrale Einheit in Protegear Sports. Sie legt fest, wann und wo ein Sportereignis stattfinden soll.
Mit wird eine Veranstaltung gelöscht, mit eine Kopie einer bestehenden angelegt.
Die Zeitmessung kann mit gestartet werden und ermöglicht einen Replay einer Veranstaltung mithilfe von Daten aus einer Datenquelle (keine Live-Daten).
Eine neue Veranstaltung kann mit angelegt werden; wird auf eine bestehende Veranstaltung geklickt, so öffnet sich eine Detailansicht.
Veranstaltung bearbeiten¶
Die grundlegenden Daten einer Veranstaltung werden direkt am Anfang eingegeben:
Die Zeitstempel für Begin und Ende des Wettbewerbs sind frei wählbar, sollten aber (grob) korrekt gesetzt sein. Denn nur innerhalb dieses Zeitraums wird das System überhaupt Live-Daten von Geräten abgreifen können. Wenn der Wettbewerb noch nicht begonnen hat oder beendet ist, werden die von den Geräten gesendeten Daten nicht berücksichtigt. Es ist also wichtig, dass die Zeitstempel zumindest die korrekten Tage enthalten. Die Uhrzeiten können an dieser Stelle ruhig noch zu grob gesetzt werden. Denn oftmals ist der genaue Start- bzw. Endezeitpunkt erst kurzfristig bekannt.
Die Daten für Namen, Beschreibung und Adresse können beliebig geändert werden.
Bewertung¶
Eine Veranstaltung besteht am Ende daraus, die von den Geräten gesendeten Daten zu bewerten und diese dann regelmäßig auf eine Bewertung zu reduzieren.
Die Bewertung wird separat beschrieben, aber an dieser Stelle muss für eine Veranstaltung eine Bewertung ausgewählt werden. Diese Bewertungsfunktion wird dann zur Laufzeit vom System aufgerufen und liefert pro Teilnehmer einen Datensatz, der dann im Ranking angezeigt werden kann.
Ranking¶
Das Customizing der Darstellung für die Veranstaltung und das Ranking kann mit Hilfe von CSS erfolgen. Per Default werden schon einige CSS-Klassen und -Stile vorgegeben, welche Sie aber jederzeit anpassen können. Bitte beachten Sie, dass Sie nur CSS-Klassen und CSS-ID’s nutzen sollten, welche eindeutige Namen haben; generierte CSS-Stile können sich jederzeit ändern und können somit zu unerwarteten Verhalten führen.
Um bspw. die ersten drei Plätze im Ranking anders zu gestalten, können Sie folgenden Code nutzen:
1 2 3 4 5 |
|
Die Aktion für Mouse selection definiert was passiert, wenn im Ranking auf einen Teilnehmer geklickt wird. Standardmäßig wird der Teilnehmer in der Karte durch einen Tooltip markiert. Sie können dieses Verhalten aber auch abschalten.
Schließlich legen Sie noch die Spalten für die Ranking-Tabelle fest. Jede Spalte hat einen Titel und einen Datenwert. Dieser Wert kann aus einer Liste von vordefinierten Werten stammen; Sie können aber auch einen Wert aus dem Datensatz der Bewertungsfunktion verwenden und somit eigene Spalten mit berechneten Werten erstellen.
Im Beispiel wird hier auf das Feld userdata.ui.distance
zugegriffen. Dieses
Feld ist nicht Teil der Sport-Plattform, stattdessen wird die Struktur
userdata
der Bewertungsfunktion zur Verfügung gestellt um dort selbst Daten
abzulegen. Das bedeutet, dass das Feld ui.distance
von der Bewertungsfunktion
erstellt werden muss!
Karte¶
In der Karte werden zur Laufzeit alle Teilnehmer angezeigt. Sie können mit dem zentralen Marker die Position festlegen, auf die die Karte beim Aufruf der Seite durch einen Nutzer zentriert wird.
Weiterhin können Sie noch Layer hinzufügen, welche verschieden Typen haben können:
- Marker: Ein Marker ist ein Punkt auf der Karte.
- Course: Eine Linie, welche aus mehreren Punkten besteht.
- Region: Eine Fläche
Jeder Layer hat einen Typ und kann mehrere Elemente enthalten. So kann ein Layer vom Typ Marker viele Marker enthalten; ein Course-Layer kann viele Linien bereitstellen und bei einer Region können mehrere Flächen angelegt werden.
Marker¶
Marker können einen Text für den Marker sowie für ein anzuzeigendes Popup enthalten.
Das System zeigt den internen, eindeutigen Namen des Markers an (Markers_1_0
); dieser
Name setzt sich aus dem Namen des Layers und dem Index des Markers innerhalb des Layers
zusammen. Sie können diesen Namen im Reducer-Code nutzen um darauf zuzugreifen. Dieser
Name kann ebenfalls in den CSS-Regeln als CSS-ID verwendet werden um das konkrete Element
zu selektieren.
Im Textfeld pflegen Sie den Text für ein Popup,
welches angezeigt wird, wenn auf den Marker geklickt wird. In
können Sie einen Text für den Marker angeben. Beginnt dieser Text mit einem Präfix
fa-
, so wird der Inhalt als Font Awesome Icon
interpretiert.
Note
Beachten Sie, daß nur die Free-Gallery von Font Awesome unterstützt wird.
Region¶
Ein Bereich ist eine Fläche, welche aus mehreren geometrischen Einzelelementen
bestehen kann. Am Ende bestitzt der Bereich einen Namen (nebst Farbe); dieser
Name dienst zum Selektieren des Bereichs im Reducer-Code. Dadurch kann eine Funktion
contains
aufgerufen werden; die Bewertungsfunktion kann somit überprüfen, ob
ein Teilnehmer sich innerhalb eines Bereichs befindet (oder nicht).
Course¶
Ein Kurs ist eine Linie. Sie können diese manuell als Folge von Punkten zeichnen oder auch via GPX-Upload hochladen.
Geben Sie dem Track selbst einen Namen . Da jeder
Track aber auch mehrere Linien enthalten kann, können Sie diese auch noch benennen. Klicken
Sie dazu auf die Linie selbst und geben Sie bei einen
Namen für diese Linie ein. Im Reducer-Code können Sie dann auf diese Linie zugreifen indem
Sie auf mapdata.track.road
zugreifen.
Mit können Sie den Startindex für den Track ändern; dieser wird an der Stelle in der Karte angezeigt. Sobald Sie ihn verschieben, ändert sich diese Anzeige.
Info
Der Startindex ist normalerweise der erste Punkt in einer GPX-Datei bzw. der erste
Punkt der gezeichneten Linie. Dieser wird benötigt, wenn Sie im Reducer-Code die
Funktion nearestEdge
(der Polylinie) nutzen wollen. Damit können Sie den nächstegelegenen Punkt
auf der Linie ermitteln, der am nächsten zu einer Position liegt. Das System liefert
neben den Koordinaten auch den Abstand zum Start der Linie; ist der Startindex nicht auf
0 gesetzt, so wird der Abstand zum Startindex berechnet.
Teilnehmer¶
Teilnehmer werden separat im System gepflegt. Die Zuordnung zu einem Wettbewerb erfolgt jedoch über den Wettbewerb.
Sie können somit vorab eine grosse Liste von Teilnehmern pflegen und diese dann auch schon vorab in vielen Wettbewerben als Teilnehmer hinzufügen. Erst wenn Sie hier noch eine Verknüpfung über ein (oder mehrere) Geräte herstellen, werden für den Teilnehmer auch Daten erfasst.
Note
Ein Teilnehmer hat somit keine feste Geräte-ID sondern das Gerät ist nur für einen Wettbewerb mit dem Teilnehmer verknüpft.
Optional können Sie einen Teilnehmer auch mit einem Team verknüpfen; ebenso können
Sie auch noch ein Freitextfeld für einen Wert angeben. Beide Werte (teamid
und attribute
)
können zur Laufzeit im Reducer-Code verwendet werden.