class GpxRuby::Gpx::Track

Attributes

comment[RW]
description[RW]
name[RW]
number[RW]
segments[RW]
source[RW]
time[RW]
url[RW]
url_name[RW]

Public Class Methods

new(a_hash) click to toggle source
# File lib/gpx_ruby/gpx/track.rb, line 11
def initialize(a_hash)
  @name = a_hash[:name]
  @time = a_hash[:time]
  @segments = a_hash[:segments] || []
  @number = a_hash[:number]
  @source = a_hash[:source]
  @url = a_hash[:url]
  @url_name = a_hash[:url_name]
  @comment = a_hash[:comment]
  @description = a_hash[:description]
end

Public Instance Methods

center_of_gravity() click to toggle source
# File lib/gpx_ruby/gpx/track.rb, line 37
def center_of_gravity
  track_points  = points
  len = track_points.size
  center = track_points.reduce(:+)
  center / len
end
distance() click to toggle source
# File lib/gpx_ruby/gpx/track.rb, line 27
def distance
  @distance ||= @segments.map {|segment| segment.distance }.reduce(:+)
end
points() click to toggle source
# File lib/gpx_ruby/gpx/track.rb, line 23
def points
  @points ||= @segments.map {|segment| segment.points }.reduce(:+)
end
total_time() click to toggle source
# File lib/gpx_ruby/gpx/track.rb, line 31
def total_time
  start_time = @segments.first.points.first.time
  end_time = @segments.last.points.last.time
  end_time - start_time rescue 0
end