mirror of
https://codeberg.org/OpenTracksApp/OpenTracks.git
synced 2026-10-03 01:53:05 +02:00
82 lines
1.7 KiB
Plaintext
82 lines
1.7 KiB
Plaintext
@startuml
|
|
class Track {
|
|
-id
|
|
-name
|
|
-description
|
|
-category
|
|
-numberOfPoints
|
|
-icon
|
|
}
|
|
Track o-- TrackPoint
|
|
Track o-- Marker
|
|
Track "1" - "1" TripStatistics
|
|
|
|
class TripStatistics {
|
|
- startTime
|
|
- stopTime
|
|
- totalDistance
|
|
- totalTime
|
|
- movingTime
|
|
- maxSpeed
|
|
- totalElevationGain
|
|
}
|
|
|
|
note left of TripStatistics
|
|
The time is based upon device time.
|
|
end note
|
|
|
|
|
|
class TrackPoint {
|
|
- id
|
|
- trackId
|
|
- longitude
|
|
- latitude
|
|
- time
|
|
- altitude
|
|
- accuracy
|
|
- speed
|
|
- bearing
|
|
- sensor_heartrate
|
|
- sensor_cadence
|
|
- sensor_power
|
|
}
|
|
|
|
note right of TrackPoint
|
|
TODO
|
|
TrackPoints are mixing two concepts:
|
|
1. a GPS measurement provided by the GPS hardware
|
|
2. and also segment markers.
|
|
These are marked by PAUSE / RESUME TrackPoints.
|
|
|
|
While exporting PAUSE/RESUME are not used to create these segments and these are partly recreated when imported.
|
|
However, the timestamp of PAUSE/RESUME is not exported and can therefore not be restored.
|
|
This prevents us from restoring the exact TripStatistics.
|
|
It is also noteworthy that neither PAUSE/RESUME TrackPoints are used for computing the TrackStatistics.
|
|
Only the timestamp to _create_ those is used.
|
|
end note
|
|
|
|
note left of TrackPoint
|
|
TODO
|
|
The time stored in TrackPoints is either:
|
|
1. created via GPS: provided by the GPS hardware
|
|
2. created by the user (pause/resume): device time.
|
|
|
|
We know that the GPS time and device time are often not in sync.
|
|
end note
|
|
|
|
TrackPoint "1" - "1" android.location.Location
|
|
|
|
class Marker {
|
|
- id
|
|
- trackId
|
|
- name
|
|
- description
|
|
- category
|
|
- icon
|
|
- length
|
|
- duration
|
|
- location
|
|
- tripStatistics
|
|
- photoUrl
|
|
}
|
|
@enduml |