forked from upstream-mirrors/OpenTracks
bc1b4e3cd2
Fixes #678.
80 lines
2.2 KiB
Plaintext
80 lines
2.2 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
|
|
}
|
|
|
|
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 |