ROWFILE/1
Ένα .rowfile διατηρεί μία πλήρη συνεδρία κωπηλασίας σε ένα αρχείο. Το Row Smarter το εξάγει και το εισάγει ήδη. Περιέχει την εγγραφή συνεδρίας χωρίς απώλειες μαζί με εξαγωγές CSV και TCX για υπολογιστικά φύλλα και ιστοτόπους προπόνησης.
Μπορείτε να μοιραστείτε αυτό το αρχείο απευθείας. Περιέχει ολόκληρη τη συνεδρία, χωρίς απώλεια δεδομένων.
Πλαισίωση περιέκτη
Ο περιέκτης είναι ντετερμινιστική συνένωση, όχι αρχείο zip. Γραμμές πλαισίωσης ASCII περιβάλλουν τα ακατέργαστα byte κάθε καταχώρισης:
ROWFILE/1\n
>> <name> <size in bytes, decimal>\n
<size raw bytes>\n
...repeated per entry...Το manifest.json γράφεται πρώτο. Οι αναγνώστες πρέπει να δέχονται καταχωρίσεις με οποιαδήποτε σειρά, να παραλείπουν άγνωστα ονόματα και να απορρίπτουν όνομα που εμφανίζεται δύο φορές.
Ονόματα καταχωρίσεων
Το Row Smarter γράφει τα εξής σταθερά ονόματα:
manifest.json: έκδοση αρχείου και στοιχεία εγγραφής.session.json: το αντίγραφο χωρίς απώλειες που εμπιστεύεται ο εισαγωγέας.summary.csv: σύνοψη συνεδρίας.samples.csv: καταγεγραμμένα δείγματα.strokes.csv: καταγεγραμμένες κουπιές.rowingdata.csv: εξαγωγή μορφής rowingdata.beats.csv: ακατέργαστα διαστήματα μεταξύ παλμών.session.tcx: εξαγωγή TCX.
Οι καταχωρίσεις CSV και TCX είναι ίδιες byte προς byte με τις μεμονωμένες εξαγωγές. Ένα συναρμολογημένο αρχείο μπορεί να μην έχει session.json. Τότε ο εισαγωγέας ανακατασκευάζει ό,τι μπορεί από τις άλλες καταχωρίσεις.
manifest.json
Μόνο το formatVersion είναι υποχρεωτικό. Οι άλλες τιμές μπορεί να λείπουν όταν ένα εργαλείο συναρμολογεί ανεξάρτητα αρχεία.
formatVersion: υποχρεωτικός ακέραιος. Η τρέχουσα μορφή περιέκτη είναι1.sessionID: προαιρετική συμβολοσειρά UUID.appVersion: προαιρετική συμβολοσειρά.writer: προαιρετική συμβολοσειρά. Το Row Smarter γράφειRowSmarterκαι το εργαλείο ανάκτησηςstitch-rowfile.
session.json
Το σχήμα συνεδρίας είναι έκδοση 1. Οι αριθμητικές τιμές δεν στρογγυλοποιούνται. Τα υποχρεωτικά κλειδιά σημειώνονται παρακάτω. Όλα τα άλλα είναι προαιρετικά.
Αντικείμενο συνεδρίας
v: υποχρεωτικός ακέραιος, έκδοση σχήματος συνεδρίας.id: υποχρεωτική συμβολοσειρά UUID, ταυτότητα συνεδρίας.start: υποχρεωτικός αριθμός, δευτερόλεπτα από την ημερομηνία αναφοράςDateτης πλατφόρμας.dur: υποχρεωτικό αντικείμενο διάρκειας.mov: διάρκεια κίνησης.dist: υποχρεωτικός αριθμός, απόσταση σε μέτρα.name: όνομα προπόνησης.tz: ζώνη ώρας στην εκκίνηση.utc: απόκλιση UTC σε δευτερόλεπτα.mass: μάζα σώματος σε kilogram.age: ηλικία σε έτη.maxW: μέγιστη ισχύς σε watt.minSplit: ελάχιστα δευτερόλεπτα ανά 500 μέτρα.maxSR: μέγιστος ρυθμός.plan: αποθηκευμένο έγγραφοWorkoutPlan.race: αντικείμενο αγώνα.avgPace: μέσος χρόνος ανά 500 μέτρα.avgW: μέση ισχύς σε watt.work: συνολικό έργο σε joule.kcal: kilocalorie.strokeCount: υποχρεωτικός ακέραιος.avgSR: μέσος ρυθμός.avgHR: μέσοι καρδιακοί παλμοί.peakHR: μέγιστοι καρδιακοί παλμοί.avgLen: μέσο μήκος κουπιάς σε centimeter.avgRatio: μέση αναλογία έλξης προς επαναφορά.samples: υποχρεωτικός πίνακας δειγμάτων.strokes: υποχρεωτικός πίνακας κουπιών.beats: υποχρεωτικός πίνακας παλμών.prov: αντικείμενο προέλευσης.hk: συμβολοσειρά UUID προπόνησης HealthKit.
Αντικείμενο διάρκειας
s: υποχρεωτικός ακέραιος, ολόκληρα δευτερόλεπτα.a: υποχρεωτικός ακέραιος, attosecond.
Αντικείμενο δείγματος
t: υποχρεωτική διάρκεια, χρόνος.d: απόσταση σε μέτρα.p: σπλιτ σε δευτερόλεπτα ανά 500 μέτρα.w: ισχύς σε watt.sr: ρυθμός.sc: αριθμός κουπιών.hr: καρδιακοί παλμοί.df: drag factor.sl: μήκος κουπιάς σε centimeter.ap: μέσο σπλιτ ανά 500 μέτρα.aw: μέση ισχύς σε watt.wj: έργο σε joule.hr0: αρχικοί καρδιακοί παλμοί ανά λεπτό.
Αντικείμενο κουπιάς
i: υποχρεωτικός ακέραιος, ταυτότητα κουπιάς.t: υποχρεωτική διάρκεια, ώρα εκκίνησης.dr: διάρκεια έλξης.rc: διάρκεια επαναφοράς.ds: true όταν ο χρονισμός υπολογίστηκε αντί να αναφερθεί.d: απόσταση σε μέτρα.w: μέση ισχύς σε watt.fc: αντικείμενο καμπύλης δύναμης.pf: μέγιστη δύναμη σε newton.af: μέση δύναμη σε newton.dl: μήκος έλξης σε centimeter.sd: απόσταση ανά κουπιά σε μέτρα.
Αντικείμενο καμπύλης δύναμης
f: υποχρεωτικός πίνακας δειγμάτων δύναμης.dt: υποχρεωτική διάρκεια, διάστημα δειγματοληψίας.cal: υποχρεωτική boolean, αν τα δείγματα είναι βαθμονομημένα.
Αντικείμενο παλμού
e: υποχρεωτική διάρκεια, χρόνος.r: υποχρεωτικός αριθμός, διάστημα παλμών σε δευτερόλεπτα.
Αντικείμενο αγώνα
id: υποχρεωτική ταυτότητα αγώνα.name: όνομα αγώνα.dist: απόσταση αγώνα σε μέτρα.own: ταυτότητα συμμετέχοντα του αθλητή.src: πηγή αποτελέσματος.field: υποχρεωτικός πίνακας αντιπάλων. Κάθε αντίπαλος έχει υποχρεωτική ταυτότηταpκαι προαιρετικά εμφανιζόμενο όνομαn, διάδρομοl, θέσηr, απόστασηd, χιλιοστά δευτερολέπτουeκαι σημαία τερματισμούf.
Αντικείμενο προέλευσης
kind: τύπος εργομέτρου.erg: όνομα εργομέτρου.hrm: όνομα μετρητή καρδιακών παλμών.app: έκδοση εφαρμογής.build: build εφαρμογής.ver: έκδοση καταγραφής.si: διάστημα δειγματοληψίας.npc: newton δύναμης ανά count.hrfix: πλήθος διορθώσεων καρδιακών παλμών.imf: μορφή εισαγωγής.isrc: εφαρμογή προέλευσης.iat: χρόνος εισαγωγής από την ημερομηνία αναφοράςDate.ifn: όνομα εισαγόμενου αρχείου.fid: πιστότητα συνεδρίας.mtd: αν ο χρόνος κίνησης υπολογίστηκε.