module Coordconver::Degree::ClassMethods
Public Instance Methods
cal_degree(n)
click to toggle source
# File lib/coordconver/degree.rb, line 34 def cal_degree(n) "#{num(n)}°#{num(min(n))}′#{num(sec(n))}″" end
cal_undegree(n)
click to toggle source
度数转坐标
# File lib/coordconver/degree.rb, line 50 def cal_undegree(n) (num(n) + get_min(n)/60 + get_sec(n)/3600).round(5) end
degree(lng, lat)
click to toggle source
坐标转度数
# File lib/coordconver/degree.rb, line 30 def degree(lng, lat) [cal_degree(lng),cal_degree(lat)] end
dig(n)
click to toggle source
取小数数位 Decimal digit
# File lib/coordconver/degree.rb, line 15 def dig(n) n.to_f-num(n) end
get_min(n)
click to toggle source
获取分
# File lib/coordconver/degree.rb, line 40 def get_min(n) n.split('°').last.to_f end
get_sec(n)
click to toggle source
获取秒
# File lib/coordconver/degree.rb, line 45 def get_sec(n) n.split('′').last.to_f end
min(n)
click to toggle source
计算分
# File lib/coordconver/degree.rb, line 20 def min(n) dig(n)*60 end
num(n)
click to toggle source
取整数位
# File lib/coordconver/degree.rb, line 10 def num(n) n.to_i end
sec(n)
click to toggle source
计算秒
# File lib/coordconver/degree.rb, line 25 def sec(n) (min(n)-num(min(n)))*60 end
undegree(lng, lat)
click to toggle source
# File lib/coordconver/degree.rb, line 54 def undegree(lng, lat) [cal_undegree(lng),cal_undegree(lat)] end