Module: GeoUnits::Converter::Normalizer

Extended by:
Normalizer
Included in:
GeoUnits::Converter, Normalizer
Defined in:
lib/geo_units/converter/normalizer.rb

Instance Method Summary collapse

Instance Method Details

#normalize_deg(degrees, shift = 0) ⇒ Object Also known as: normalize_degrees



44
45
46
# File 'lib/geo_units/converter/normalizer.rb', line 44

def normalize_deg degrees, shift = 0
  (degrees + shift) % 360 
end

#normalize_lat(deg) ⇒ Object

all degrees between -90 and 90



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/geo_units/converter/normalizer.rb', line 21

def normalize_lat deg
  case deg 
  when -360..-270
    deg % 90      
  when -270..-180
    90 - (deg % 90)
  when -180..-90
    - (deg % 90)
  when -90..0 
    -90 + (deg % 90) 
  when 0..90
    deg
  when 90..180 
    deg % 90
  when 180..270 
    - (deg % 90)
  when 270..360 
    - 90 + (deg % 90)
  else
    raise ArgumentError, "Degrees #{deg} out of range, must be between -360 to 360"    
  end 
end

#normalize_lng(deg) ⇒ Object

all degrees between -180 and 180



5
6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/geo_units/converter/normalizer.rb', line 5

def normalize_lng deg
  case deg 
  when -360..-180
    deg % 180      
  when -180..0 
    -180 + (deg % 180) 
  when 0..180
    deg
  when 180..360
    deg % 180
  else
    raise ArgumentError, "Degrees #{deg} out of range, must be between -360 to 360"
  end
end