mirror of
https://github.com/sstent/FitTrack_ReportGenerator.git
synced 2026-01-27 01:22:24 +00:00
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.
1.1 KiB
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:
- Uses XML parsing to extract track points
- Calculates distance between points using Haversine formula
- Processes elevation data to determine gain/loss
- Handles time zone conversions for timestamps
- Gracefully handles missing data points
For more details, see the gpx_parser.py file.