Es kann eine angepasste Excelvorlage verwendet werden um Daten zu exportieren. Spezielle Platzhalter können verwendet werden um Daten auszugeben. Hierfür verwenden wir das Opensource Projekt JXLS. Eine genaue Beischreibung zur Syntax und Beispiele findet sich hier: https://jxls.sourceforge.net/samples/object_collection.html.
Variablen für allgemeine Informationen
Einfache variablen können ausgegeben werden mit ${VARIABLE}. Folgende Variablen stehen zur Verfügung:
Textwerte:
name: Name der Aktivität
place: Ort der Aktivität
description: Beschreibung der Aktivität
host: Name des Veranstalter
link: Link zur App
exportInfo: Informationen zu Exportzeitpunkt
weather: Wetterinformationen
snowSize: Schneegröße
snowType: Schneetyp
filterSkiGroupName: Name der Skigruppe nach welcher gefiltert wird.
timeZone: Kann verwendet werden um Daten in Lokalzeit umzurechnen.
Zahlenwerte:
participants: Anzahl Teilnehmer
quality: Qualität von 1 (schlechteste) bis 5 (beste)
qualityGrade: Qualität in Schulnoten
temperatureBeginning: Temperature Anfang
temperatureAvg: Temperature Durchschnitt von Wetterstation
temperatureEnding: Temperature Ende
humidityBeginning: Feuchtigkeit Anfang
humidityAvg: Feuchtigkeit Durchschnitt von Wetterstation
humidityEnding: Feuchtigkeit Ende
snowTemperatureBeginning: Schneetemperatur Anfang
snowTemperatureAvg: Schneetemperatur Durchschnitt von Wetterstation
snowTemperatureEnding: Schneetemperatur Ende
snowMoistureBeginning: Schneefeuchtigkeit Anfang
snowMoistureAvg: Schneefeuchtigkeit Durchschnitt von Wetterstation
snowMoistureEnding: Schneefeuchtigkeit Ende
windSpeedAvg: Windgeschwindigkeit Durchschnitt von Wetterstation
windDirectionAvg: Windrichtung Durchschnitt von Wetterstation
sunIlluminanceAvg: Sonnenstärke Durchschnitt von Wetterstation
length: Streckenlänge
verticalDrop: Streckenhöhenunterschied
Datumswerte:
date: Datum der Aktivität
Listen
Listen werden genutzt um Daten tabelarisch auszugeben. Diese werden meist mit jx:each Befehl verwendet.
splits: Liste mit maximaler Anzahl von Zwischenzeiten. Beispiel: [0,1,2,3] für 3 Sektoren.
skies: Liste von exportierten Ski. Falls ein Filter angeben wurde ist diese Liste ebenfalls danach gefiltert.
results: Alle Ergebnisse mit Ski, Wax und Wetterdaten. Falls ein Filter angeben wurde ist diese Liste ebenfalls danach gefiltert.
Eigenschaften für Skies-Liste
id
vendor
productionDate
length
grind
label
base
surface
number
wax: Siehe Wax-Objekt für verfügbare Eigenschaften. Beispiel: wax.name
rankingSort: Kann zur Sortierung von jx:each verwendet werden.
skiGroup
airTemperature: Lufttemperatur zum Startzeitpunkt.
airHumidity: Luftfeuchtigkeit zum Startzeitpunkt.
windSpeed: Windgeschwindigkeit zum Startzeitpunkt.
windDirection: Windrichtung zum Startzeitpunkt.
snowTemperature: Schneetemperatur zum Startzeitpunkt.
snowHumidity: Schneefeuchtigkeit zum Startzeitpunkt.
sunIlluminance: Sonnenstärke zum Startzeitpunkt.
ski: Selben Variablen wie in Skies-Liste ohne wax.
wax: Selben Variablen wie in Wax-Objekt.
hasSplit(1): Gibt an ob diese Messung einen Sektor mit dem Index besitzt. Achtung diese Zahl startet bei 0.
findSplit(1): Gibt den zweiten Sektor zurück.
Eigenschaften für Sektor-Objekt
distance
speed
duration
sequence
endedAt
Sektoren verstehen
Um in Tabellen die richtigen Daten ausgeben zu können, ist es wichtig zu verstehen dass jede Messung in Sektoren unterteilt ist. Jeder Messpunkt bildet einen Sektor. Achtung: Sektoren werden mit einem 0-basierten Index zugegriffen. Wenn also die Zeit in Sektor 2 ausgegeben werden soll so muss r.findSplit(1).duration angegeben werden.
Hilfsfunktionen
toNumber(date): Wandelt ein Datum/Zeit in Sekunden um.
toTimezone(date, zone): Wandelt ein Datum in Lokalzeit um in der angegebenen Zeitzone.