]> git.openstreetmap.org Git - rails.git/blobdiff - lib/osm.rb
way history needs to reference nodes with ref=... not id=...
[rails.git] / lib / osm.rb
index aab3e1335bf9828bcddae6fe760945d78d44558c..0f059ce98c48e22037edcef112f850647a1a7353 100644 (file)
@@ -374,7 +374,7 @@ module OSM
     Timeout::timeout(4) do
       Net::HTTP.start('api.hostip.info') do |http|
         country = http.get("/country.php?ip=#{ip_address}").body
-        country = "GB" if country = "UK"
+        country = "GB" if country == "UK"
         Net::HTTP.start('ws.geonames.org') do |http|
           xml = REXML::Document.new(http.get("/countryInfo?country=#{country}").body)
           xml.elements.each("geonames/country") do |ele|
@@ -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, prefix = nil)
+    tilesql = QuadTile.sql_for_area(minlat, minlon, maxlat, maxlon, prefix)
+    minlat = (minlat * 10000000).round
+    minlon = (minlon * 10000000).round
+    maxlat = (maxlat * 10000000).round
+    maxlon = (maxlon * 10000000).round
+
+    return "#{tilesql} AND #{prefix}latitude BETWEEN #{minlat} AND #{maxlat} AND #{prefix}longitude BETWEEN #{minlon} AND #{maxlon}"
+  end
 end