feat: Initial commit of FitTrack_GarminSync project

This commit is contained in:
2025-10-10 12:20:48 -07:00
parent d0e29fbeb4
commit 18f9f6fa18
229 changed files with 21035 additions and 42 deletions

View File

@@ -0,0 +1,32 @@
# 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.