]> git.openstreetmap.org Git - rails.git/blobdiff - lib/osm.rb
QuadTile infrastructure.
[rails.git] / lib / osm.rb
index aab3e1335bf9828bcddae6fe760945d78d44558c..e5d3c7fbb6b653172cf804bbe744be8021b39e52 100644 (file)
@@ -410,4 +410,15 @@ module OSM
     return Digest::MD5.hexdigest(password) if salt.nil?
     return Digest::MD5.hexdigest(salt + password)
   end
+
+  # Return an SQL fragment to select a given area of the globe
+  def self.sql_for_area(minlat, minlon, maxlat, maxlon)
+    tilesql = QuadTile.sql_for_area(minlat, minlon, maxlat, maxlon)
+    minlat = (minlat * 1000000).round
+    minlon = (minlon * 1000000).round
+    maxlat = (maxlat * 1000000).round
+    maxlon = (maxlon * 1000000).round
+
+    return "#{tilesql} AND latitude BETWEEN #{minlat} AND #{maxlat} AND longitude BETWEEN #{minlon} AND #{maxlon}"
+  end
 end