lib/hrmparser/importer/gpx.rb in teich-hrmparser-0.4.9 vs lib/hrmparser/importer/gpx.rb in teich-hrmparser-0.5.0

- old
+ new

@@ -12,10 +12,12 @@ ttime = (@xml/:trk/:trkpt/:time).first.innerHTML workout.time = Time.parse(ttime) trackpoints = [] distance = 0 + workout.duration = 0 + last_trackpoint = false (@xml/:trk).each do |trk| (trk/:trkpt).each do |trkpt| trackpoint = HRMParser::TrackPoint.new trackpoint.altitude = (trkpt/:ele).innerHTML.to_f trackpoint.time = Time.parse((trkpt/:time).innerHTML) @@ -26,14 +28,19 @@ distance += trackpoint.calc_distance(trackpoints.last, trackpoint) trackpoint.distance = distance trackpoint.speed = trackpoint.calc_speed(trackpoints.last, trackpoint) + if last_trackpoint && trackpoints.last && trackpoint.speed + workout.duration += trackpoint.time - last_trackpoint.time if trackpoint.speed > 0.04 + end trackpoints << trackpoint + last_trackpoint = trackpoint + end end - workout.duration = trackpoints.last.time - trackpoints.first.time + # workout.duration = trackpoints.last.time - trackpoints.first.time workout.trackpoints = trackpoints workout.calc_average_speed! workout.calc_altitude_gain! workout.distance = trackpoints.last.distance return workout \ No newline at end of file