Skip to content

Latest commit

 

History

History
55 lines (36 loc) · 1.06 KB

README.md

File metadata and controls

55 lines (36 loc) · 1.06 KB

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?