Class: Geodesics::CentralAngles::Haversine

Inherits:
Object
  • Object
show all
Defined in:
lib/geodesics/central_angles/haversine.rb

Overview

Instance Method Summary collapse

Instance Method Details

#call(point1, point2) ⇒ Object



7
8
9
10
11
12
13
14
15
# File 'lib/geodesics/central_angles/haversine.rb', line 7

def call(point1, point2)
  2 * Math.asin(
    Math.sqrt(
      Math.sin((point1.latitude - point2.latitude).abs / 2)**2 +
      Math.cos(point1.latitude) * Math.cos(point2.latitude) *
      Math.sin((point1.longitude - point2.longitude).abs / 2)**2
    )
  )
end