OptionalaltitudeOptionalcadenceCadence, rpm.
OptionaldistanceOptionalheartrateThe position at each sample; null for a sample the device recorded
without a GPS fix (before it found satellites, or a dropout). A GPS-less
activity has an empty array. When some samples lack a fix and the device
recorded distanceMeters, distance comes from that (the device kept
counting without GPS); the map line joins only the fixes.
OptionalopenAn open water swim. The watch only gets a GPS fix while the arm is out of
the water, so the fixes are sparse and noisy: the line is cleaned for the
map (cleanSwimTrack in the geo module), and distance comes from distanceMeters
(the watch's own filtered distance) rather than from the line, when the
watch recorded it. Without it, distance is measured along the cleaned
line, which cuts corners and so reads somewhat short.
OptionaltemperatureTemperature, °C.
OptionaltimeOptionalwattsPower, watts (from a power meter — real, not estimated).
The time-series channels recorded during an activity.
latlngis the track; everything else is optional and present only if the source provided it. Channels are parallel arrays — index i of each is the same sample.A sample a channel is missing is
NaN, ornullas an activity read back from JSON has it (JSON has noNaN): every reading in this package treats the two the same, as a gap, never as 0.timeSecondsis the exception: it must be finite at every sample.