class Arel::Nodes::Haversine
Public Class Methods
new(lat1, lng1, lat2, lng2, options = nil)
click to toggle source
Calls superclass method
# File lib/arel/nodes/haversine.rb, line 6 def initialize lat1, lng1, lat2, lng2, options = nil super Multiplication.new( Arcsine.new( SquareRoot.new( Addition.new( Pow.new(Sine.new(Division.new(Radians.new(lat1 - lat2), 2)), 2), Multiplication.new( Pow.new(Sine.new(Division.new(Radians.new(lng1 - lng2), 2)), 2), Multiplication.new( Cosine.new(Radians.new(lat2)), Cosine.new(Radians.new(lat1)) ) ) ) ) ), diameter(options) ) end
Private Instance Methods
diameter(options)
click to toggle source
# File lib/arel/nodes/haversine.rb, line 27 def diameter options (options || {})[:unit] == :mi ? 7917.5 : 12742 end