class Geo2tz::Search

Constants

MAP

Public Class Methods

lat_long(lat, long) click to toggle source
# File lib/geo2tz/search.rb, line 8
def self.lat_long(lat, long)
  tz_integer = self.kdtree.nearest(lat, long)
  ActiveSupport::TimeZone.new(MAP.invert[tz_integer])
end

Private Class Methods

kdtree() click to toggle source
# File lib/geo2tz/search.rb, line 28
def self.kdtree
  @kd ||= setup_tree
end
setup_tree() click to toggle source
# File lib/geo2tz/search.rb, line 15
def self.setup_tree
  points = []
  File.open(File.join(Geo2tz.config[:writable_directory],Geo2tz.config[:filename])).each do |line|
    data = line.split(',')
    tz = data[2].strip
    unless MAP.has_key? tz
      MAP[tz] = MAP.size
    end
    points << [data[0].to_f, data[1].to_f, MAP[tz]]
  end
  Kdtree.new(points)
end