Files
FitTrack_ReportGenerator/examples/GarminSync/GPX_SUPPORT.md
sstent 9e0bd322d3 feat: Initial implementation of FitTrack Report Generator
This commit introduces the initial version of the FitTrack Report Generator, a FastAPI application for analyzing workout files.

Key features include:
- Parsing of FIT, TCX, and GPX workout files.
- Analysis of power, heart rate, speed, and elevation data.
- Generation of summary reports and charts.
- REST API for single and batch workout analysis.

The project structure has been set up with a `src` directory for core logic, an `api` directory for the FastAPI application, and a `tests` directory for unit, integration, and contract tests.

The development workflow is configured to use Docker and modern Python tooling.
2025-10-11 09:54:13 -07:00

1.1 KiB

GPX File Support in GarminSync

GarminSync now supports processing GPX files with accurate distance calculation using the Haversine formula.

Features

  • Parses GPX 1.1 files with extended Garmin TrackPoint extensions
  • Calculates total distance using Haversine formula
  • Extracts elevation data including gain/loss
  • Processes heart rate and cadence data
  • Calculates activity duration

Supported Metrics

Metric Description Data Source
Distance Total activity distance Calculated from GPS coordinates
Duration Activity duration Start/end timestamps
Elevation Min, max, gain, loss ele tags in track points
Heart Rate Max and average gpx:hr extension
Cadence Average cadence gpx:cad extension

Implementation Details

The GPX parser:

  1. Uses XML parsing to extract track points
  2. Calculates distance between points using Haversine formula
  3. Processes elevation data to determine gain/loss
  4. Handles time zone conversions for timestamps
  5. Gracefully handles missing data points

For more details, see the gpx_parser.py file.