Exemple #1
0
 /**
  * {@inheritdoc}
  */
 public function toString(Workout $workout) : string
 {
     $data = array();
     $tracks = $workout->tracks();
     foreach ($tracks as $track) {
         $data[] = array('workout' => array('points' => $this->writeTrackPoints($track->trackPoints())));
     }
     return json_encode($data, JSON_PRETTY_PRINT);
 }
Exemple #2
0
 /**
  * Write the tracks to the GPX.
  *
  * @param \XMLWriter $xmlWriter The XML writer.
  * @param Workout $workout The workout.
  */
 private function writeTracks(\XMLWriter $xmlWriter, Workout $workout)
 {
     foreach ($workout->tracks() as $track) {
         $xmlWriter->startElement('trk');
         $xmlWriter->writeElement('type', $track->sport());
         $xmlWriter->startElement('trkseg');
         $this->writeTrackPoints($xmlWriter, $track->trackPoints());
         $xmlWriter->endElement();
         $xmlWriter->endElement();
     }
 }
Exemple #3
0
 /**
  * Write the tracks to the TCX.
  *
  * @param \XMLWriter $xmlWriter The XML writer.
  * @param Workout $workout The workout.
  */
 private function writeTracks(\XMLWriter $xmlWriter, Workout $workout)
 {
     $xmlWriter->startElement('Activities');
     foreach ($workout->tracks() as $track) {
         $xmlWriter->startElement('Activity');
         $xmlWriter->writeAttribute('Sport', ucfirst($track->sport()));
         // Use the start date time as the ID. This could be anything.
         $xmlWriter->writeElement('Id', $this->formatDateTime($track->startDateTime()));
         $xmlWriter->startElement('Lap');
         $xmlWriter->writeAttribute('StartTime', $this->formatDateTime($track->startDateTime()));
         $xmlWriter->writeElement('TotalTimeSeconds', (string) $track->duration()->totalSeconds());
         $xmlWriter->writeElement('DistanceMeters', (string) $track->length());
         $this->writeLapHeartRateDate($xmlWriter, $track);
         $xmlWriter->startElement('Track');
         $this->writeTrackPoints($xmlWriter, $track->trackPoints());
         $xmlWriter->endElement();
         $xmlWriter->endElement();
         $xmlWriter->endElement();
     }
     $xmlWriter->endElement();
 }