class GpxRuby::Gpx::Track::Segment

Attributes

points[RW]

Public Class Methods

new(points) click to toggle source
# File lib/gpx_ruby/gpx/track.rb, line 67
def initialize(points)
  @points = points || []
end

Public Instance Methods

center_of_gravity() click to toggle source
# File lib/gpx_ruby/gpx/track.rb, line 86
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 71
def distance
  if @distance
    @distance
  else
    zipped_points = @points[0...-1].zip(@points[1..-1])
    distances = zipped_points.map {|(p,q)| p.distance(q) }
    @distance = distances.reduce(:+)
  end
end
total_time() click to toggle source
# File lib/gpx_ruby/gpx/track.rb, line 81
def total_time
  start_time, end_time = @points.first.time, @points.last.time
  end_time - start_time rescue 0
end