12a2a643e259d5b1cccc3fabcaa49a5a64fcaf43
[rails.git] / app / models / geo_record.rb
1 class GeoRecord < ActiveRecord::Base
2   before_save :update_tile
3
4   def self.find_by_area(minlat, minlon, maxlat, maxlon, options)
5     self.with_scope(:find => {:conditions => OSM.sql_for_area(minlat, minlon, maxlat, maxlon)}) do
6       return self.find(:all, options)
7     end
8   end
9
10   def update_tile
11     self.tile = QuadTile.tile_for_point(lat, lon)
12   end
13
14   def lat=(l)
15     self.latitude = (l * 10000000).round
16   end
17
18   def lon=(l)
19     self.longitude = (l * 10000000).round
20   end
21
22   def lat
23     return self.latitude.to_f / 10000000
24   end
25
26   def lon
27     return self.longitude.to_f / 10000000
28   end
29 end