FIT file description

About FIT file format

Fit file is the data format Suunto provides the data from the API. The file consists majority of the data measured with Suunto products. The file contains following key elements:
  • SESSION FIELDS
  • SAMPLES (GRAPH DATA)
  • GPS TRACK
  • LAP DATA
  • EVENTS
  • PRODUCT
  • ZONES
  • MULTISPORTS
FIT or Flexible and Interoperable Data Transfer is a file format used for GPS tracks and routes. It is used by Garmin fitness GPS devices, as well as many other manufactures for data transfer. Format description and SDK can be found here: FIT SDK.

FIT FILE CONTENTS DESCRIPTIONS

With different fields available from different Suunto products, look at the device capability list to see what type of measurements suunto products have

ACTIVITY

    • activity.timestamp  
    • activity.local_timestamp
    • * what: utc and local timestamps when the activity ended. Meant for determining the UTC offset of times in the file. * timestamp is utc time when activity stopped. local_timestamp is timestamp + UTC offset. The UTC offset is the local time difference to UTC when the excercise started. See https://www.thisisant.com/developer/resources/tech-faq/how-will-consumers-of-my-fit-data-know-what-timezone-my-times-are-in-1 .

SESSION

  • ActivityID
      • session.sport 
      • session.sub_sport
        •  This is the type of sport / activity.
        • See the following Acitivity ID list with sports in Suunto products, suunto App, Movescount and how these are mapped to the fit file ACTIVITY ID
    • AscentAltitude
      • session.total_ascent 
      • What: Ascent Altitude is the elevation that was measured during the activity. This is cumulative value of the total ascent created during the activity.
      • How is measured:
        • Altitude measurement is based on barometric sensor or data from GPS.
        • Some of the Suunto products which have barometric sensor can combine the gps and barometric to get the best possible value, this combination is called Fused Alti
        • If one has used pause during activity, the altitude change during the pause is not part of the ascent
    • AvgCadence
      • session.avg_cadence 
      • What: Cadence as round per minute is the number of revolutions in minute done in average during cycling /indoor cycling / mountainbiking or number of steps (pair of steps / step with same leg) in running /walking / hiking /trekking/treamdill running/ trail running. 
      • How is measured
        • Cadence in cycling requires separate sensors such as Suunto bike sensor or power meter.
        • Cadence in running is measured from external running sensor and if not available directly from wrist
        • The average cadence doesn't consider 0 values in average. the average cadence is calculated only from cadence values that are not 0.
        • If user has paused the exercise the data is not measured /stored from that period,
        • Typical values are between 0 - 200
    • AvgHR
      • session.avg_heart_rate 
      • What: AvgHR is the average number of heart beats measured during the activity
      • How is measured:
        • Heart rate measurement is based either on heart rate belt kept on the chest or directly from wrist via optical heart rate sensor. 
        • Typical values are between 50-220
    • AvgSpeed
      • session.avg_speed 
      • AvgSpeed is the average of the speed measured during activity
      • How is measured:
        • Speed is measured based on GPS data, external speed sensors in cycling i.e. Suunto bike sensor and running or using acceleration in swimming to measure speed in pool.
        • Pool swim speed is based on identification of each turn and using the pool lenght to evaluate the speed of the swimmer
    • AvgTemp
      • session.avg_temperature 
      • AvgTemp is the average temperature measured during the activity
      • How is measured
        • Temperature capability is in Suunto watches that have barometric sensor
    • AvgPower
      • session.avg_power 
      • AvgPower is the average power measured during the cycling or running session.
      • How is measured
        • Power is measured with cycling power sensor or running power sensor. Cycling power is usually in cycling, mountain cycling and indoor dycling. Running treadmill, running and trail running
        • Average power measured with Suunto devices do not have 0 values. For example when person rides uphill and the coasts downhill, (doesn't pedal) the average power is the power on the uphill.
    • DescentAltitude
      • session.total_descent 
      • What: Descent Altitude is the decline that was measured during the activity. This is cumulative value of the total decline created during the activity.
      • How is measured:
        • Altitude measurement is based on barometric sensor or data from GPS.
        • Some of the Suunto products which have barometric sensor can combine the gps and barometric to get the best possible value, this combination is called Fused Alti
        • If one has used pause during activity, the altitude change during the pause is not part of the descent
    • Distance
      • session.total_distance 
      • What: Distance is the distance measured during the activity. The distance is measured with 
      • Distance is measured based on GPS data, external sensors in cycling i.e. Suunto bike sensor and running or using acceleration in swimming to measure speed in pool.
        • Pool swim distance is based on identification of each turn and using the pool lenght to evaluate the the distance of the swimmer
    • Duration
      • session.total_timer_time 
      • What: Duration is the duration measured during the activity. 
      • Duration is the duration between start time and stop time. If there is pause during the activity, its removed from total duration. The duration is not related to moving time. 
      • session.total_elapsed_time 
      • What: Elapsed time is the total time elapsed between start and stop time, including pauses. 
      • Elapsed time is the total elapsed time between start time and stop time. If there is pause during the activity, its included to the elapsed time. The value is not related to moving time.  
    • Energy
      • session.total_calories 
      • What: Energy consumption evaluated based on measured heart rate, work volume from speed, power values.
      • How is measured
        • Depends of the users weight, gender and other personal parameters. The energy values are different between various apps/services
    • HighAltitude
      • session.max_altitude 
      • What: Highest altitude reached during the workout. 
      • How is measured:
        • Altitude measurement is based on barometric sensor or data from GPS.
        • Some of the Suunto products which have barometric sensor can combine the gps and barometric to get the best possible value, this combination is called Fused Alti
    • LowAltitude
      • session.min_altitude 
      • What: Lowest altitude reached during the workout. 
      • How is measured:
        • Altitude measurement is based on barometric sensor or data from GPS.
        • Some of the Suunto products which have barometric sensor can combine the gps and barometric to get the best possible value, this combination is called Fused Alti
    • MaxCadence
      • session.max_cadence 
      • What: Maximum cadence is the cadence reached during the workout
      • How is measured:
        • Cadence is measured based on watch activity senor or  external speed sensors in cycling or running
    • MaxSpeed
      • session.max_speed 
      • What: MaxSpeed is the maximum of the speed reached during the activity
      • How is measured:
        • Speed is measured based on GPS data, external speed sensors in cycling i.e. Suunto bike sensor and running or using acceleration in swimming to measure speed in pool.
        • Pool swim speed is based on identification of each turn and using the pool lenght to evaluate the speed of the swimmer
    • MaxTemp
      • session.max_temperature 
      • What:MaxTemp is the maximum temperature reached during the activity
      • How is measured:
        • Suunto products which have barometric sensor have a capability to measure temperature. As the Suunto watches are usually kept on wrist, the temperature can differ considerably from outdoor weather temperature. In some sports the watch is place in location where the temperature measurement doesnt have a problems i.e. when placing in bike handlebar.
    • MaxPower
      • session.max_power
      • MaxPower is the maximum power measured during the cycling or running session
      • How is measured
        • Power is measured with cycling power sensor or running power sensor. Cycling power is usually in cycling, mountain cycling and indoor dycling. Running treadmill, running and trail running
    • MinHR
      • session.min_heart_rate 
      • What: MinHR is the lowest heart rate measured during the activity
      • How is measured:
        • Heart rate measurement is based either on heart rate belt kept on the chest or directly from wrist via optical heart rate sensor. 
        • Typical values are between 50-220
    • PeakHR
      • session.max_heart_rate 
      • What: PeakHR is the maximun heart rate reached during the activity
      • How is measured:
        • Peak heart rate is highest value heart rate value measured during activity
    • PeakTrainingEffect
      • session.total_training_effect 
      • What: PeakTrainingEffect is the value defining the impact of the training session 
      • How is measured:
        • PeakTrainingEffect  rate measurement is based either on heart rate belt kept on the chest or directly from wrist via optical heart rate sensor. 
        • Typical values are between 50-220
    • UTCStartTime
      • session.start_time 
      • What: The local start time in UTC format

    SAMPLE DATA(GRAPHS)

    IBIData

    • hrv.time (timestamp) 
    • Sample from each heart rate beat to beat values. Also called as R-R values 
    • With heart rate of 60 beats a minute, there is 60 values in minute. If the heart rate is 120 in minute, there are 120 values. 

    Track

    • record.position_lat 
    • record.position_lon
    • The track information in latitude and longntude
    • Measured with GPS devices
    • The GPS points on the track is based on device settings. Maximum recording rate is point from each second. There is possibility to have less track points i.e. every 10s or every minute. (Usually used on longer session where the device battery is wanted to last longer)

    Speed

    • record.speed 
    • Recorded speed values. The values stored are the speed values ie. measured with fused speed, cycling sensor. If not avaialble the GPS speed is used for the speed samples
    • The number of values are based on the GPS fix rate if based on GPS. Otherwise the sample volume can be by each second or every 10 seconds

    Altitude

    • record.altitude 
    • Altitude values. The altitude values are stored by barometric sensor and useing the fused alti algorithm. If not available then the GPS altitude data is storead as samples.
    • The number of values are based on the GPS fix rate if based on GPS. Otherwise the sample volume can be by each second or every 10 seconds

    Cadence

    • record.cadence 
    • Cadence values are stored from external sensor
    • The cadence values are stored each second or every 10 seconds

    Distance

    • record.distance 
    • Recorded distance values. The values stored are measured with GPS, using accelerometer, cycling or running sensors.
    • The number of values are based on the GPS fix rate if based on GPS. Otherwise the sample volume can be by each second or every 10 seconds when using other measurements.

    EnergyConsumption

    • record.calories 
    • The calory values are stored each second or every 10 seconds

    ยท        

    HeartRate

    • record.heart_rate 
    • The heart rate values are stored each second or every 10 seconds

    Power

    • record.power 
    • The power values are stored each second or every 10 seconds

    LAP DATA

    • Lap times
      • lap.timestamp  timestamp when lap ended.
      • lap.total_elapsed_time  duration of lap including pauses.
      • lap.total_timer_time  duration of lap excluding pauses.
    • Lap data
      • lap.min_altitude   minimum altitude reached during the lap.
      • lap.avg_altitude  average altitude during the lap.
      • lap.max_altitude  maximum altitude reached during the lap.
      • lap.total_ascent  total ascent in the lap.
      • lap.total_descent  total descent in the lap.
      • lap.avg_cadence  average cadence in the lap.
      • lap.max_cadence  maximum cadence reached during the lap.
      • lap.total_distance  total distance covered during the lap.
      • lap.min_heart_rate  mimium heartrate reached during the lap.
      • lap.avg_heart_rate  average heart rate during the lap.
      • lap.max_heart_rate  maximum heart rate reached during the lap.
      • lap.avg_power  average power during the lap.
      • lap.max_power  maximum power reached during the lap.
      • lap.avg_speed  average speed during the lap.
      • lap.max_speed  maximum speed reached during the lap.
      • lap.swim_stroke  total number of strokes in lap.
      • lap.avg_temperature  average temperature during the lap.
      • lap.max_temperature  macimum temperature reached during the lap.
    • Lap Events - Triggers
    • What: Suunto devices create lap data based on pressing a lap button, triggering automatically laps based on defined duration or distance, creating laps from each vertical slope in downhill skiing and from defined interval sessions. Laps are marked as events and triggers with following logic: 
      • Manual lap  - Fit lap event: LAP, Fit lap trigger: MANUAL.
      • Distance autolap  - Fit lap event: LAP, Fit lap trigger: DISTANCE.
      • Duration autolap  - Fit lap event: LAP, Fit lap trigger: TIME.
      • Vertical lap (downhills)  - Fit lap event: LAP, Fit lap trigger: FITNESS_EQUIPMENT.
      • Interval  - Fit lap event: LAP, Fit lap trigger: FITNESS_EQUIPMENT

    EVENTS

    • event.timestamp  - timestamp of the event.
    • event.event  - Always TIMER.
    • event.event_type  - START at start of workout and end of pauses. STOP at end of workout and start of pauses.

    PRODUCT

    • file_id.manufacturer  Company id. This case Suunto is 23.
    • file_id.product   -Each product has an id number. Check the list of product IDs, their compatibility with suunto digital systems and the product measurement capabibilities HERE
    • file_id.product_name  - Product name as a string.

    ZONES

    • Each of the below are an 5 element array of seconds, ordered from zone 1 to zone 5.
        • session.time_in_hr_zone  - Duration during the workout in five heart rate zones. HR zones can be set by the user and by the sport.
        • session.time_in_speed_zone  - Duration during the workout in five speed or pace zones. Zones can be set by the user and by the sport.
        • session.time_in_power_zone  - Duration during the workout in five power zones. Zones can be set by the user and by the sport. Power is available in cycling and running sports.

    MULTISPORTS

    • Multisports have many sessions instead of the normal single one. Currently the sessions made from multisports have much fewer fields than from single sport:
        • session.start_time  .
        • session.total_timer_time  .
        • session.total_elapsed_time .
        • session.sport  .
        • session.sub_sport .