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

33 lines
1.1 KiB
Markdown

# 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](garminsync/parsers/gpx_parser.py) file.