module Calculations
Constants
- RADIUS
Haversine formula for spherical distance See: rosettacode.org/wiki/Haversine_formula#Ruby
Public Class Methods
deg2rad(lat, long)
click to toggle source
# File lib/klimt/util/calculations.rb, line 14 def self.deg2rad(lat, long) [lat * PI / 180, long * PI / 180] end
spherical_distance(start_latlng, end_latlng)
click to toggle source
# File lib/klimt/util/calculations.rb, line 8 def self.spherical_distance(start_latlng, end_latlng) lat1, long1 = deg2rad(*start_latlng) lat2, long2 = deg2rad(*end_latlng) 2 * RADIUS * asin(sqrt(sin((lat2 - lat1) / 2)**2 + cos(lat1) * cos(lat2) * sin((long2 - long1) / 2)**2)) end