class String

Public Instance Methods

geo_clean() click to toggle source
# File lib/geo_calc/extensions/string.rb, line 12
def geo_clean
  self.gsub(/^\(/, '').gsub(/\)$/, '').trim
end
to_lat() click to toggle source
# File lib/geo_calc/extensions/string.rb, line 28
def to_lat
  raise "An empty String has no latitude" if self.empty?
  s = geo_clean
  raise GeoDirectionMisMatch, "Direction E and W signify longitude and thus can't be converted to latitude, was: #{self}" if s =~ /[W|E]$/
  s = s.parse_dms if s.respond_to? :parse_dms
rescue GeoUnits::Converter::Dms::ParseError
ensure
  s.to_f.to_lat
end
to_lat_lng() click to toggle source
# File lib/geo_calc/extensions/string.rb, line 16
def to_lat_lng  
  a = geo_clean.split(',').map(&:strip)
  a = (a.last.is_a?(String) && a.last =~ /[N|S]$/) ? a.reverse : a
  a.to_lat_lng
end
to_lng() click to toggle source
# File lib/geo_calc/extensions/string.rb, line 38
def to_lng
  raise "An empty String has no latitude" if self.empty?
  s = geo_clean                 
  raise GeoDirectionMisMatch, "Direction N and S signify latitude and thus can't be converted to longitude, was: #{self}" if s =~ /[N|S]$/
  s = s.parse_dms if s.respond_to? :parse_dms    
rescue GeoUnits::Converter::Dms::ParseError
ensure    
  s.to_f.to_lng
end
to_lng_lat() click to toggle source
# File lib/geo_calc/extensions/string.rb, line 22
def to_lng_lat  
  a = geo_clean.split(',')
  a = (a.last.is_a?(String) && a.last =~ /[N|S]$/) ? a.reverse : a    
  a.to_lng_lat
end
to_rad() click to toggle source
# File lib/geo_calc/extensions/string.rb, line 4
def to_rad
  parse_dms.to_rad
end
trim() click to toggle source
# File lib/geo_calc/extensions/string.rb, line 8
def trim
  strip
end