Skip to content

PHP library for parsing cycling GPS activities and calculating metrics.

License

Notifications You must be signed in to change notification settings

coachbox/Endurance

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Endurance

Endurance is a PHP library for parsing cycling GPS activities and calculating metrics.

Usage

Parse TCX files from Garmin devices

<?php

use Endurance\Parser\TCXParser;

$parser = new TCXParser();
$activity = $parser->parse('/path/to/activity.tcx');

Calculate useful metrics

<?php

use Endurance\Calculator\HeartRateZoneCalculator;
use Endurance\Calculator\MetricCalculator;
use Endurance\Metric\AverageMovingSpeedMetric;

$zoneCalculator = new HeartRateZoneCalculator();
$zones = $zoneCalculator->calculateZones(182);

$metricCalculator = new MetricCalculator();
$metrics = $metricCalculator->calculate(array(
    'averageMovingSpeed' => new AverageMovingSpeedMetric()
), $activity->getPoints(), $zones);

// Returns an associative array of the calculated metric values
// $metrics = ['averageMovingSpeed' => 26.43]

Running the Tests

Setup the vendor directory

$ cd endurance
$ php composer.phar install --dev

Launch the test suite

In the root directory:

$ phpunit

Is it green?

About

PHP library for parsing cycling GPS activities and calculating metrics.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PHP 100.0%