fix SCALE, make changeset GET use floats

This commit is contained in:
Frederik Ramm 2008-11-09 15:52:10 +00:00
parent 9263c5500c
commit c02c516047
2 changed files with 7 additions and 7 deletions

View file

@ -84,8 +84,8 @@ class ChangesetController < ApplicationController
# abuse, maybe should change to some other format? # abuse, maybe should change to some other format?
doc = XML::Parser.string(request.raw_post).parse doc = XML::Parser.string(request.raw_post).parse
doc.find("//osm/node").each do |n| doc.find("//osm/node").each do |n|
lon << n['lon'].to_f * SCALE lon << n['lon'].to_f * GeoRecord::SCALE
lat << n['lat'].to_f * SCALE lat << n['lat'].to_f * GeoRecord::SCALE
end end
# add the existing bounding box to the lon-lat array # 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 longitude should be less than maximum." unless bbox[0] <= bbox[2]
raise "Minimum latitude should be less than maximum." unless bbox[1] <= bbox[3] 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 > ?', 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 else
return nil return nil
end end

View file

@ -156,10 +156,10 @@ class Changeset < ActiveRecord::Base
el1['created_at'] = self.created_at.xmlschema el1['created_at'] = self.created_at.xmlschema
el1['open'] = self.open.to_s el1['open'] = self.open.to_s
el1['min_lon'] = (bbox[0] / SCALE).to_s unless bbox[0].nil? el1['min_lon'] = (bbox[0].to_f / GeoRecord::SCALE).to_s unless bbox[0].nil?
el1['min_lat'] = (bbox[1] / SCALE).to_s unless bbox[1].nil? el1['min_lat'] = (bbox[1].to_f / GeoRecord::SCALE).to_s unless bbox[1].nil?
el1['max_lon'] = (bbox[2] / SCALE).to_s unless bbox[2].nil? el1['max_lon'] = (bbox[2].to_f / GeoRecord::SCALE).to_s unless bbox[2].nil?
el1['max_lat'] = (bbox[3] / SCALE).to_s unless bbox[3].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, # NOTE: changesets don't include the XML of the changes within them,
# they are just structures for tagging. to get the osmChange of a # they are just structures for tagging. to get the osmChange of a