Module: Latitude

Extended by:
Latitude
Included in:
Latitude
Defined in:
lib/latitude.rb,
lib/latitude/version.rb

Constant Summary collapse

VERSION =
"0.3.0"

Instance Method Summary collapse

Instance Method Details

#final_bearing(start_latitude, start_longitude, end_latitude, end_longitude) ⇒ Object



29
30
31
32
33
34
35
36
# File 'lib/latitude.rb', line 29

def final_bearing(start_latitude, start_longitude, end_latitude, end_longitude)
  start_coordinate = Coordinate.new(:latitude => start_latitude,
                                    :longitude => start_longitude)
  end_coordinate = Coordinate.new(:latitude => end_latitude,
                                  :longitude => end_longitude)

  end_coordinate.final_bearing_from(start_coordinate)
end

#great_circle_distance(start_latitude, start_longitude, end_latitude, end_longitude) ⇒ Object



9
10
11
12
13
14
15
16
17
18
# File 'lib/latitude.rb', line 9

def great_circle_distance(start_latitude, start_longitude, end_latitude, end_longitude)
  start_coordinate = Coordinate.new(:latitude => start_latitude,
                                    :longitude => start_longitude)
  end_coordinate = Coordinate.new(:latitude => end_latitude,
                                  :longitude => end_longitude)
  # in kilometers
  m_distance = start_coordinate.great_circle_distance_to(end_coordinate)

  return m_distance / 1000.0
end

#initial_bearing(start_latitude, start_longitude, end_latitude, end_longitude) ⇒ Object



20
21
22
23
24
25
26
27
# File 'lib/latitude.rb', line 20

def initial_bearing(start_latitude, start_longitude, end_latitude, end_longitude)
  start_coordinate = Coordinate.new(:latitude => start_latitude,
                                    :longitude => start_longitude)
  end_coordinate = Coordinate.new(:latitude => end_latitude,
                                  :longitude => end_longitude)

  start_coordinate.initial_bearing_to(end_coordinate)
end