Προπονήσεις — Μορφή εξαγωγής JSON

Τεκμηρίωση για τη δομή προπονήσεων σε εξαγωγές JSON

Last updated: April 1, 2026

Σε αυτή τη σελίδα

Προπονήσεις

Τα δεδομένα προπόνησης περιλαμβάνουν όλες τις συνεδρίες άσκησης που έχετε καταγράψει στο Apple Health, όπως τρέξιμο, ποδηλασία, κολύμβηση, ενδυνάμωση και άλλα. Σε εξαγωγές JSON, οι προπονήσεις αποθηκεύονται στον πίνακα workouts.

Εκδόσεις εξαγωγής

Το Health Auto Export υποστηρίζει δύο εκδόσεις εξαγωγής προπονήσεων:

  • Έκδοση 2 (Συνιστάται): Ενισχυμένη μορφή με πιο λεπτομερή μεταδεδομένα και δομημένα δεδομένα
  • Έκδοση 1 (Παλαιού τύπου): Παλαιότερη μορφή που διατηρείται για συμβατότητα με υπάρχοντα workflows

Προπονήσεις έκδοσης 2

Η έκδοση 2 παρέχει ολοκληρωμένη δομή με προαιρετικά πεδία που συμπεριλαμβάνονται μόνο όταν υπάρχουν διαθέσιμα δεδομένα.

Βασική δομή

{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "name": "Running",
  "start": "2024-02-06 07:00:00 -0800",
  "end": "2024-02-06 07:30:00 -0800",
  "duration": 1800
}

Υποχρεωτικά πεδία

  • id (Συμβολοσειρά): Μοναδικό αναγνωριστικό της προπόνησης
  • name (Συμβολοσειρά): Όνομα τύπου προπόνησης (π.χ. «Running», «Cycling», «Swimming»)
  • start (Ημερομηνία): Ώρα έναρξης προπόνησης σε μορφή yyyy-MM-dd HH:mm:ss Z
  • end (Ημερομηνία): Ώρα λήξης προπόνησης σε μορφή yyyy-MM-dd HH:mm:ss Z
  • duration (Αριθμός): Διάρκεια προπόνησης σε δευτερόλεπτα

Προαιρετικά πεδία

Τα ακόλουθα πεδία συμπεριλαμβάνονται μόνο όταν υπάρχουν διαθέσιμα δεδομένα:

Πληροφορίες τοποθεσίας

{
  "location": "Outdoor",
  "isIndoor": false
}
  • location (Συμβολοσειρά): Μία από τις "Indoor", "Outdoor", "Pool", "Open Water"
  • isIndoor (Boolean): Αν η προπόνηση έγινε σε εσωτερικό χώρο

Ενέργεια και ένταση

{
  "activeEnergyBurned": {
    "qty": 350,
    "units": "kcal"
  },
  "totalEnergy": {
    "qty": 450,
    "units": "kcal"
  },
  "intensity": {
    "qty": 8.5,
    "units": "MET"
  }
}
  • activeEnergyBurned (Αντικείμενο): Ενεργές θερμίδες που καταναλώθηκαν κατά την προπόνηση
  • totalEnergy (Αντικείμενο): Συνολικές θερμίδες (ενεργές + ηρεμίας) που καταναλώθηκαν
  • intensity (Αντικείμενο): Τιμή μεταβολικού ισοδυνάμου εργασίας (MET)

Απόσταση και ταχύτητα

{
  "distance": {
    "qty": 3.5,
    "units": "mi"
  },
  "speed": {
    "qty": 7.0,
    "units": "mph"
  },
  "avgSpeed": {
    "qty": 7.0,
    "units": "mph"
  },
  "maxSpeed": {
    "qty": 8.5,
    "units": "mph"
  }
}
  • distance (Αντικείμενο): Συνολική καλυφθείσα απόσταση
  • speed (Αντικείμενο): Τρέχουσα ή μέση ταχύτητα
  • avgSpeed (Αντικείμενο): Μέση ταχύτητα κατά τη διάρκεια της προπόνησης
  • maxSpeed (Αντικείμενο): Μέγιστη επιτευχθείσα ταχύτητα

Μονάδες:

  • Απόσταση: "mi" (μίλια) ή "km" (χιλιόμετρα)
  • Ταχύτητα: "mph" (μίλια ανά ώρα) ή "kmph" (χιλιόμετρα ανά ώρα)

Υψόμετρο

{
  "elevationUp": {
    "qty": 500,
    "units": "ft"
  },
  "elevationDown": {
    "qty": 450,
    "units": "ft"
  }
}
  • elevationUp (Αντικείμενο): Συνολική ανάβαση υψομέτρου
  • elevationDown (Αντικείμενο): Συνολική κατάβαση υψομέτρου

Μονάδες: "ft" (πόδια) ή "m" (μέτρα)

Περιβαλλοντικά δεδομένα

{
  "temperature": {
    "qty": 72,
    "units": "degF"
  },
  "humidity": {
    "qty": 65,
    "units": "%"
  }
}
  • temperature (Αντικείμενο): Θερμοκρασία περιβάλλοντος κατά την προπόνηση
  • humidity (Αντικείμενο): Σχετική υγρασία σε ποσοστό

Μονάδες θερμοκρασίας: "degF" (Fahrenheit) ή "degC" (Celsius)

Πεδία ειδικά για κολύμβηση

{
  "lapLength": {
    "qty": 0.025,
    "units": "mi"
  },
  "strokeStyle": "Freestyle",
  "swolfScore": 45,
  "salinity": "Fresh Water",
  "totalSwimmingStrokeCount": {
    "qty": 1200,
    "units": "count"
  },
  "swimCadence": {
    "qty": 30,
    "units": "spm"
  }
}
  • lapLength (Αντικείμενο): Μήκος κάθε γύρου κολύμβησης
  • strokeStyle (Συμβολοσειρά): Μία από τις:
    • "Backstroke"
    • "Breaststroke"
    • "Butterfly"
    • "Freestyle"
    • "Mixed"
    • "Kickboard"
    • "Unknown"
  • swolfScore (Αριθμός): Βαθμολογία αποδοτικότητας κολύμβησης (SWOLF)
  • salinity (Συμβολοσειρά): "Fresh Water" ή "Salt Water"
  • totalSwimmingStrokeCount (Αντικείμενο): Συνολικός αριθμός κουνημάτων
  • swimCadence (Αντικείμενο): Κουνημάτα ανά λεπτό

Βήματα και ρυθμός (cadence)

{
  "stepCount": [
    {
      "date": "2024-02-06 07:00:00 -0800",
      "qty": 5000,
      "units": "count",
      "source": "Apple Watch"
    }
  ],
  "stepCadence": {
    "qty": 180,
    "units": "spm"
  },
  "flightsClimbed": {
    "qty": 10,
    "units": "count"
  }
}
  • stepCount (Πίνακας): Πίνακας μετρήσεων βημάτων στο χρόνο
  • stepCadence (Αντικείμενο): Βήματα ανά λεπτό
  • flightsClimbed (Αντικείμενο): Αριθμός ορόφων σκαλών που ανεβήκαν

Δεδομένα καρδιακού ρυθμού

{
  "heartRate": {
    "min": {
      "qty": 120,
      "units": "bpm"
    },
    "avg": {
      "qty": 150,
      "units": "bpm"
    },
    "max": {
      "qty": 175,
      "units": "bpm"
    }
  },
  "maxHeartRate": {
    "qty": 175,
    "units": "bpm"
  },
  "avgHeartRate": {
    "qty": 150,
    "units": "bpm"
  },
  "heartRateData": [
    {
      "date": "2024-02-06 07:00:00 -0800",
      "Min": 120,
      "Avg": 150,
      "Max": 175,
      "units": "bpm",
      "source": "Apple Watch"
    }
  ],
  "heartRateRecovery": [
    {
      "date": "2024-02-06 07:30:00 -0800",
      "Min": 140,
      "Avg": 145,
      "Max": 150,
      "units": "bpm",
      "source": "Apple Watch"
    }
  ]
}
  • heartRate (Αντικείμενο): Σύνοψη με ελάχιστο, μέσο και μέγιστο καρδιακό ρυθμό
  • maxHeartRate (Αντικείμενο): Μέγιστος καρδιακός ρυθμός κατά την προπόνηση
  • avgHeartRate (Αντικείμενο): Μέσος καρδιακός ρυθμός κατά την προπόνηση
  • heartRateData (Πίνακας): Λεπτομερείς μετρήσεις καρδιακού ρυθμού κατά τη διάρκεια της προπόνησης
  • heartRateRecovery (Πίνακας): Μετρήσεις καρδιακού ρυθμού κατά την περίοδο ανάκαμψης

Πίνακες δεδομένων χρονοσειρών

Πολλές μετρήσεις μπορούν να συμπεριληφθούν ως πίνακες χρονοσειρών όταν είναι ενεργοποιημένη η επιλογή Include Workout Metrics:

{
  "activeEnergy": [
    {
      "date": "2024-02-06 07:00:00 -0800",
      "qty": 50,
      "units": "kcal",
      "source": "Apple Watch"
    }
  ],
  "basalEnergy": [
    {
      "date": "2024-02-06 07:00:00 -0800",
      "qty": 20,
      "units": "kcal",
      "source": "Apple Watch"
    }
  ],
  "cyclingCadence": [
    {
      "date": "2024-02-06 07:00:00 -0800",
      "qty": 90,
      "units": "rpm",
      "source": "Apple Watch"
    }
  ],
  "cyclingDistance": [
    {
      "date": "2024-02-06 07:00:00 -0800",
      "qty": 0.5,
      "units": "mi",
      "source": "Apple Watch"
    }
  ],
  "cyclingPower": [
    {
      "date": "2024-02-06 07:00:00 -0800",
      "qty": 200,
      "units": "W",
      "source": "Power Meter"
    }
  ],
  "cyclingSpeed": [
    {
      "date": "2024-02-06 07:00:00 -0800",
      "qty": 18,
      "units": "mph",
      "source": "Apple Watch"
    }
  ],
  "swimDistance": [
    {
      "date": "2024-02-06 07:00:00 -0800",
      "qty": 25,
      "units": "yd",
      "source": "Apple Watch"
    }
  ],
  "swimStroke": [
    {
      "date": "2024-02-06 07:00:00 -0800",
      "qty": 20,
      "units": "count",
      "source": "Apple Watch"
    }
  ],
  "walkingAndRunningDistance": [
    {
      "date": "2024-02-06 07:00:00 -0800",
      "qty": 0.25,
      "units": "mi",
      "source": "Apple Watch"
    }
  ]
}

Δομή QuantityData:

  • date (Ημερομηνία): Χρονική σήμανση της μέτρησης
  • qty (Αριθμός): Τιμή ποσότητας
  • units (Συμβολοσειρά): Μονάδα μέτρησης
  • source (Συμβολοσειρά, προαιρετικό): Συσκευή ή εφαρμογή πηγής δεδομένων

Δομή HeartRateData:

  • date (Ημερομηνία): Χρονική σήμανση της μέτρησης
  • Min (Αριθμός): Ελάχιστος καρδιακός ρυθμός
  • Avg (Αριθμός): Μέσος καρδιακός ρυθμός
  • Max (Αριθμός): Μέγιστος καρδιακός ρυθμός
  • units (Συμβολοσειρά): Μονάδα (συνήθως "bpm")
  • source (Συμβολοσειρά, προαιρετικό): Συσκευή ή εφαρμογή πηγής δεδομένων

Δεδομένα διαδρομής

Όταν είναι ενεργοποιημένη η επιλογή Include Route Data και η προπόνηση έχει δεδομένα GPS:

{
  "route": [
    {
      "latitude": 37.7749,
      "longitude": -122.4194,
      "altitude": 50.5,
      "course": 45.0,
      "courseAccuracy": 5.0,
      "horizontalAccuracy": 10.0,
      "verticalAccuracy": 15.0,
      "timestamp": "2024-02-06 07:00:00 -0800",
      "speed": 7.0,
      "speedAccuracy": 0.5
    }
  ]
}

Πεδία τοποθεσίας:

  • latitude (Αριθμός): Συντεταγμένη πλάτους GPS
  • longitude (Αριθμός): Συντεταγμένη μήκους GPS
  • altitude (Αριθμός): Υψόμετρο σε μέτρα
  • course (Αριθμός): Κατεύθυνση κίνησης σε μοίρες (0–360)
  • courseAccuracy (Αριθμός): Ακρίβεια μέτρησης πορείας σε μοίρες
  • horizontalAccuracy (Αριθμός): Οριζόντια ακρίβεια θέσης σε μέτρα
  • verticalAccuracy (Αριθμός): Κατακόρυφη ακρίβεια θέσης σε μέτρα
  • timestamp (Ημερομηνία): Ώρα καταγραφής της τοποθεσίας
  • speed (Αριθμός): Ταχύτητα σε μέτρα ανά δευτερόλεπτο
  • speedAccuracy (Αριθμός): Ακρίβεια μέτρησης ταχύτητας σε m/s

Μεταδεδομένα

{
  "metadata": {
    "customField": "value",
    "anotherField": 123
  }
}
  • metadata (Αντικείμενο): Επιπλέον προσαρμοσμένα μεταδεδομένα που συνδέονται με την προπόνηση

Προπονήσεις έκδοσης 1 (παλαιού τύπου)

Η έκδοση 1 χρησιμοποιεί απλούστερη δομή. Για νέες εξαγωγές συνιστάται η έκδοση 2.

Δομή έκδοσης 1

{
  "name": "Running",
  "start": "2024-02-06 07:00:00 -0800",
  "end": "2024-02-06 07:30:00 -0800",
  "totalEnergy": {
    "qty": 450,
    "units": "kcal"
  },
  "activeEnergy": {
    "qty": 350,
    "units": "kcal"
  },
  "distance": {
    "qty": 3.5,
    "units": "mi"
  },
  "heartRateData": [
    {
      "date": "2024-02-06 07:00:00 -0800",
      "qty": 150,
      "units": "count"
    }
  ],
  "route": [
    {
      "lat": 37.7749,
      "lon": -122.4194,
      "altitude": 50.5,
      "timestamp": "2024-02-06 07:00:00 -0800"
    }
  ]
}

Ομαδοποίηση χρόνου μετρικών προπόνησης

Όταν χρησιμοποιείτε την έκδοση εξαγωγής 2 (Export Version 2) και είναι ενεργοποιημένη η επιλογή Include Workout Metrics, μπορείτε να ελέγχετε τη λεπτομέρεια των δεδομένων χρονοσειρών:

  • Λεπτά: Ομαδοποίηση μετρικών προπόνησης ανά λεπτό
  • Δευτερόλεπτα: Ομαδοποίηση ανά δευτερόλεπτο (πιο λεπτομερή, μεγαλύτερο μέγεθος αρχείου)

Συμβουλές

  • Include Route Data: Ενεργοποιήστε την επιλογή για λήψη δεδομένων διαδρομής GPS σε υπαίθριες προπονήσεις
  • Include Workout Metrics: Ενεργοποιήστε την για λεπτομερείς χρονοσειρές μετρικών (π.χ. καρδιακός ρυθμός, ισχύς, ρυθμός)
  • Έκδοση εξαγωγής: Προτιμήστε την έκδοση 2 (Export Version 2) για την πληρέστερη δομή δεδομένων
  • GPX: Η διαδρομή μπορεί επίσης να εξαχθεί ως ξεχωριστά αρχεία GPX για χρήση σε εφαρμογές χαρτογράφησης

Σχετική τεκμηρίωση