예제 #1
0
 public function testActivityPace()
 {
     Intensity::setVDOTshape(50);
     $activity = new Activity\Object(array(Activity\Object::DISTANCE => 12, Activity\Object::TIME_IN_SECONDS => 3600));
     // VDOT 50 => vVDOT ca. 3:50
     // 5:00 => 77 %vVDOT => 82 %HRmax => 24 points/hour
     $this->assertEquals(24, $this->object->calculateByActivity($activity));
 }
예제 #2
0
 /**
  * Calculate JD intensity
  * @return int
  */
 public function calculateJDintensity()
 {
     JD\Intensity::setVDOTshape(Configuration::Data()->vdot());
     JD\Intensity::setHRmax(Configuration::Data()->HRmax());
     $Intensity = new JD\Intensity();
     if ($this->knowsTrackdata() && $this->Trackdata->has(Model\Trackdata\Object::HEARTRATE) && $this->Trackdata->has(Model\Trackdata\Object::TIME)) {
         return $Intensity->calculateByHeartrate(new TimeSeries($this->Trackdata->heartRate(), $this->Trackdata->time()));
     } elseif ($this->Activity->hrAvg() > 0) {
         return $Intensity->calculateByHeartrateAverage($this->Activity->hrAvg(), $this->Activity->duration());
     } else {
         return $Intensity->calculateByPace($this->Activity->distance(), $this->Activity->duration());
     }
 }