Class PolarAutoLap

Description

Class to automatize laps generation for distance steps and interval training

Located in /class/PolarAutoLap.class.php (line 28)


	
			
Variable Summary
string $sport_alias
Method Summary
void PolarAutoLap (string $sport_alias)
array generate_auto_laps (string $lap_type, array $data, integer $interval, integer $distance, integer $rest_hr, integer $weight, integer $step_or_delta_h, integer $vma)
array generate_interval_training (array $polar_laps, array $intervals, integer $vma)
float _get_max_speed (integer $value, string $unit, array $std_int)
One _merge_laps (array $laps)
integer _sort_cum_cmp (array $v1, array $v2)
Variables
string $sport_alias (line 34)

Sport standard alias (use to compute mechanical energy)

Methods
Constructor PolarAutoLap (line 42)

Class constructor

void PolarAutoLap (string $sport_alias)
  • string $sport_alias: Standard sport alias
generate_auto_laps (line 61)

Generate laps array from detailed HR data for every time or distance step, or for each slope change

  • return: Array of laps with same structure as 'plw_lap' SQL table
array generate_auto_laps (string $lap_type, array $data, integer $interval, integer $distance, integer $rest_hr, integer $weight, integer $step_or_delta_h, integer $vma)
  • string $lap_type: Lap type in ('time','distance','altitude')
  • array $data: Heart rate data
  • integer $interval: Recording interval (seconds)
  • integer $distance: Real distance (meters, if speed measure)
  • integer $rest_hr: Rest heart rate of runner
  • integer $weight: Weight of runner (Kg), to compute energy if > 0
  • integer $step_or_delta_h: Lap step (sec*10 or meters) or delta H
  • integer $vma: VMA in km/h to compute physio energy
generate_interval_training (line 692)

Generate laps array from Polar laps and interval training expression

Two elements can be separated or not by an implicit recovery. Example : 3000m + 3000m

One work or recovery element can consist in several Polar laps. There are 2 cases :

  • Work element : Polar laps are not merged to keep intermediate times.
Example : 5000m whith a Polar lap every 1000m
  • Recovery element : Polar laps are merged.

  • return: Array of laps with same structure as 'plw_lap' SQL table or null if Polar laps and interval training expression do not match
array generate_interval_training (array $polar_laps, array $intervals, integer $vma)
  • array $polar_laps: Polar laps from database
  • array $intervals: Array of work / recovery elements
  • integer $vma: VMA in km/h (from database or computed), used to predict minimum speeds for work and maximum speeds for recovery
_get_max_speed (line 1132)

Get maximum average speed for a given distance or duration

Use dichotomy algorithm, to find closest lower and upper pre-computed speeds, then linear approximation.

  • return: Maximum average speed in km/h
float _get_max_speed (integer $value, string $unit, array $std_int)
  • integer $value
  • string $unit: Unit for value in ('distance','duration'). Distance in meters, duration in seconds.
  • array $std_int: Pre-computed data for standard distances, each element is array('distance' => <meters>, 'duration' => seconds, 'speed' => km/h)
_merge_laps (line 963)

Merge several laps to one lap

  • return: lap array
One _merge_laps (array $laps)
  • array $laps: Array of laps to merge (>=1 elements)
_sort_cum_cmp (line 1110)

Callback comparison function to sort cumulated laps by 'delta' value

  • return: -1 if v1 < v2, +1 if V2 > v1, 0 if v1 = v2
integer _sort_cum_cmp (array $v1, array $v2)
  • array $v1: 1st value where [2] is delta value
  • array $v2: 2nd value where [2] is delta value

Documentation generated on Sat, 28 Mar 2009 23:15:43 +0000 by phpDocumentor 1.4.1