Sha256: 9c7ed35d67955deab6e4f6da85205205695eeb158acc265e58b73bd579f01e36
Contents?: true
Size: 1.15 KB
Versions: 1
Compression:
Stored size: 1.15 KB
Contents
module Importer class GPX def initialize(opts = {:data => nil, :time_zone => "UTC"}) @data = opts[:data] end def restore workout = HRMParser::Workout.new(:duration => 0) @xml = Hpricot::XML(@data) ttime = (@xml/:time).first.innerHTML workout.time = Time.parse(ttime) trackpoints = [] distance = 0 (@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) trackpoint.lat = (trkpt.attributes)["lat"].to_f trackpoint.lng = (trkpt.attributes)["lon"].to_f distance += trackpoint.calc_distance(trackpoints.last, trackpoint) trackpoint.distance = distance trackpoint.speed = trackpoint.calc_speed(trackpoints.last, trackpoint) trackpoints << trackpoint end end 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 end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
teich-hrmparser-0.4.1 | lib/hrmparser/importer/gpx.rb |