Module: BB
- Defined in:
- lib/bounding_boxes/version.rb,
lib/bounding_boxes/distance.rb,
lib/bounding_boxes/bounding_box.rb,
lib/bounding_boxes/base_bounding_box.rb,
lib/bounding_boxes/point_bounding_box.rb,
lib/bounding_boxes/square_bounding_box.rb
Defined Under Namespace
Classes: BaseBoundingBox, BoundingBox, PointBoundingBox, SquareBoundingBox
Constant Summary
collapse
- VERSION =
"0.1.2"
Class Method Summary
collapse
Class Method Details
.degrees_to_radians(number) ⇒ Object
23
24
25
|
# File 'lib/bounding_boxes/distance.rb', line 23
def self.degrees_to_radians(number)
number * Math::PI / 180
end
|
.distance_kilometers(point1, point2) ⇒ Object
2
3
4
5
6
7
8
9
|
# File 'lib/bounding_boxes/distance.rb', line 2
def self.distance_kilometers(point1, point2)
lat1 = BB::degrees_to_radians(point1.fetch(:latitude))
long1 = BB::degrees_to_radians(point1.fetch(:longitude))
lat2 = BB::degrees_to_radians(point2.fetch(:latitude))
long2 = BB::degrees_to_radians(point2.fetch(:longitude))
(Math.acos(Math.sin(lat1) * Math.sin(lat2) + Math.cos(lat1) * Math.cos(lat2) * Math.cos(long1 - long2)) * 6371)
end
|
.distance_km(point1, point2) ⇒ Object
11
12
13
|
# File 'lib/bounding_boxes/distance.rb', line 11
def self.distance_km(point1, point2)
BB.distance_kilometers(point1, point2)
end
|
.distance_mi(point1, point2) ⇒ Object
19
20
21
|
# File 'lib/bounding_boxes/distance.rb', line 19
def self.distance_mi(point1, point2)
BB.distance_miles(point1, point2)
end
|
.distance_miles(point1, point2) ⇒ Object
.kilometers_to_miles(number) ⇒ Object
31
32
33
|
# File 'lib/bounding_boxes/distance.rb', line 31
def self.kilometers_to_miles(number)
number * 0.621371
end
|
.miles_to_kilometers(number) ⇒ Object
35
36
37
|
# File 'lib/bounding_boxes/distance.rb', line 35
def self.miles_to_kilometers(number)
number * 1.60934
end
|
.radians_to_degrees(number) ⇒ Object
27
28
29
|
# File 'lib/bounding_boxes/distance.rb', line 27
def self.radians_to_degrees(number)
number * 180 / Math::PI
end
|