Class: Clusterable::Point

Inherits:
Hash
  • Object
show all
Defined in:
lib/clusterable/point.rb

Instance Method Summary collapse

Constructor Details

#initialize(latitude, longitude) ⇒ Point

Returns a new instance of Point.



3
4
5
6
# File 'lib/clusterable/point.rb', line 3

def initialize(latitude, longitude)
  self[:latitude]  = latitude
  self[:longitude] = longitude
end

Instance Method Details

#distance_to(target) ⇒ Object



16
17
18
19
20
21
# File 'lib/clusterable/point.rb', line 16

def distance_to(target)
  Math.sqrt(
    ((latitude  - target.latitude ) ** 2) +
    ((longitude - target.longitude) ** 2)
  )
end

#latitudeObject



8
9
10
# File 'lib/clusterable/point.rb', line 8

def latitude
  self[:latitude]
end

#longitudeObject



12
13
14
# File 'lib/clusterable/point.rb', line 12

def longitude
  self[:longitude]
end

#to_sObject



23
24
25
# File 'lib/clusterable/point.rb', line 23

def to_s
  [latitude, longitude].join(", ")
end