forked from upstream-mirrors/OpenTracks
9c4c8131f5
Users can select the order, visibility and importance (primary or secondary) of all stats for recording layout from the Settings. Also, users can select the number of columns per row in the recording layout: 1, 2 or 3. Finally, show altitude/coordinate from settings have been removed (not needed anymore). Fixes #659. Fixes #302. Fixes #820.
100 lines
2.4 KiB
Plaintext
100 lines
2.4 KiB
Plaintext
@startuml
|
|
class Track {
|
|
-id
|
|
-name
|
|
-description
|
|
-category
|
|
-numberOfPoints
|
|
-icon
|
|
}
|
|
Track o-- TrackPoint
|
|
Track o-- Marker
|
|
Track "1" - "1" TrackStatistics
|
|
|
|
class TrackStatistics {
|
|
- startTime
|
|
- stopTime
|
|
- totalDistance
|
|
- totalTime
|
|
- movingTime
|
|
- maxSpeed
|
|
- totalGain
|
|
}
|
|
|
|
class TrackStatisticsUpdater {
|
|
}
|
|
|
|
TrackStatisticsUpdater ..> TrackStatistics : creates/updates
|
|
TrackStatisticsUpdater ..> TrackPoint : uses
|
|
|
|
class TrackPoint {
|
|
- id (database id, order)
|
|
- type
|
|
- trackId
|
|
- longitude
|
|
- latitude
|
|
- time
|
|
- altitude
|
|
- accuracy
|
|
- speed
|
|
- bearing
|
|
- sensor_heartrate
|
|
- sensor_cadence
|
|
- sensor_power
|
|
}
|
|
|
|
class Marker {
|
|
- id
|
|
- trackId
|
|
- name
|
|
- description
|
|
- category
|
|
- icon
|
|
- length
|
|
- duration
|
|
- longitude
|
|
- latitude
|
|
- photoUrl
|
|
}
|
|
|
|
class DataField {
|
|
- key
|
|
- title
|
|
- isVisible
|
|
- isPrimary
|
|
- isWide
|
|
}
|
|
|
|
class StatisticData {
|
|
- value
|
|
- unit
|
|
- description
|
|
}
|
|
StatisticData o-- DataField
|
|
|
|
class Layout {
|
|
- profile
|
|
}
|
|
Layout "1" o-- "many" DataField
|
|
|
|
note left of TrackPoint
|
|
As of OpenTracks version 3.15.0, all times are using device time.
|
|
Before that TrackPoint.time contained GPS time (determined by GPS hardware).
|
|
However, start/pause/stop events (also stored as TrackPoints) used device time.
|
|
end note
|
|
|
|
note right of Track
|
|
A track is an ordered collection of one or more segments (i.e., continuous parts of distance covered).
|
|
Segments may be started by a user (i.e., start a track recording, continue a paused track, or resume a track) as well as stopped by the user (i.e., pausing or stopping a recording).
|
|
Also segments may started automatically while recording (i.e., distance to previous location was to large).
|
|
Note that this finishes the previous segment.
|
|
|
|
Segment data is stored as TrackPoints (Type.SEGMENT_START_MANUAL, Type.SEGMENT_START_AUTOMATIC, or Type.SEGMENT_END_MANUAL).
|
|
Trackpoints with Type.SEGMENT_START_AUTOMATIC also mark the end of the previous segment.
|
|
All TrackPoints of Type.TRACKPOINT belong to the segment started by the prior TrackPoint with Type.SEGMENT_START_(MANUAL|AUTOMATIC).
|
|
Trackpoints of Type.SEGMENT_START_MANUAL or Type.SEGMENT_END_MANUAL do not contain location data or sensor data.
|
|
|
|
Tracks recorded prior to OpenTracks version 3.15.0, do neither begin with a Type.SEGMENT_START_MANUAL nor end with a Type.SEGMENT_END_MANUAL.
|
|
end note
|
|
@enduml
|