fix SCALE, make changeset GET use floats
authorFrederik Ramm <frederik@remote.org>
Sun, 9 Nov 2008 15:52:10 +0000 (15:52 +0000)
committerFrederik Ramm <frederik@remote.org>
Sun, 9 Nov 2008 15:52:10 +0000 (15:52 +0000)
app/controllers/changeset_controller.rb
app/models/changeset.rb

index 2709a594cbde0cb3e1d36cf3a722dd2589a95876..8c042ef8d463abf11e7e253eff9709e579bd11c6 100644 (file)
@@ -84,8 +84,8 @@ class ChangesetController < ApplicationController
       # abuse, maybe should change to some other format?
       doc = XML::Parser.string(request.raw_post).parse
       doc.find("//osm/node").each do |n|
-        lon << n['lon'].to_f * SCALE
-        lat << n['lat'].to_f * SCALE
+        lon << n['lon'].to_f * GeoRecord::SCALE
+        lat << n['lat'].to_f * GeoRecord::SCALE
       end
 
       # add the existing bounding box to the lon-lat array
@@ -283,7 +283,7 @@ class ChangesetController < ApplicationController
       raise "Minimum longitude should be less than maximum." unless bbox[0] <= bbox[2]
       raise "Minimum latitude should be less than maximum." unless bbox[1] <= bbox[3]
       return ['min_lon < ? and max_lon > ? and min_lat < ? and max_lat > ?',
-              bbox[2] * SCALE, bbox[0] * SCALE, bbox[3]* SCALE, bbox[1] * SCALE]
+              bbox[2] * GeoRecord::SCALE, bbox[0] * GeoRecord::SCALE, bbox[3]* GeoRecord::SCALE, bbox[1] * GeoRecord::SCALE]
     else
       return nil
     end
index b00dfa8af46600ae2158188d48ef39f0a30311da..5938d0835f068850ea989657563866c948780a68 100644 (file)
@@ -156,10 +156,10 @@ class Changeset < ActiveRecord::Base
     el1['created_at'] = self.created_at.xmlschema
     el1['open'] = self.open.to_s
 
-    el1['min_lon'] = (bbox[0] / SCALE).to_s unless bbox[0].nil?
-    el1['min_lat'] = (bbox[1] / SCALE).to_s unless bbox[1].nil?
-    el1['max_lon'] = (bbox[2] / SCALE).to_s unless bbox[2].nil?
-    el1['max_lat'] = (bbox[3] / SCALE).to_s unless bbox[3].nil?
+    el1['min_lon'] = (bbox[0].to_f / GeoRecord::SCALE).to_s unless bbox[0].nil?
+    el1['min_lat'] = (bbox[1].to_f / GeoRecord::SCALE).to_s unless bbox[1].nil?
+    el1['max_lon'] = (bbox[2].to_f / GeoRecord::SCALE).to_s unless bbox[2].nil?
+    el1['max_lat'] = (bbox[3].to_f / GeoRecord::SCALE).to_s unless bbox[3].nil?
     
     # NOTE: changesets don't include the XML of the changes within them,
     # they are just structures for tagging. to get the osmChange of a