mirror of
https://github.com/openstreetmap/openstreetmap-website.git
synced 2025-08-16 17:07:06 +00:00
Merge remote-tracking branch 'upstream/pull/3016'
This commit is contained in:
@ -371,12 +371,17 @@ module OSM
|
|||||||
end
|
end
|
||||||
|
|
||||||
# and these two will give you the right points on your image. all the constants can be reduced to speed things up. FIXME
|
# and these two will give you the right points on your image. all the constants can be reduced to speed things up. FIXME
|
||||||
|
# If the bbox has no extent, return the centre of the image to avoid dividing by zero.
|
||||||
|
|
||||||
def y(lat)
|
def y(lat)
|
||||||
|
return @height / 2 if (@by - @ty).zero?
|
||||||
|
|
||||||
@height - ((ysheet(lat) - @ty) / (@by - @ty) * @height)
|
@height - ((ysheet(lat) - @ty) / (@by - @ty) * @height)
|
||||||
end
|
end
|
||||||
|
|
||||||
def x(lon)
|
def x(lon)
|
||||||
|
return @width / 2 if (@bx - @tx).zero?
|
||||||
|
|
||||||
((xsheet(lon) - @tx) / (@bx - @tx) * @width)
|
((xsheet(lon) - @tx) / (@bx - @tx) * @width)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
15
test/lib/osm_test.rb
Normal file
15
test/lib/osm_test.rb
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
require "test_helper"
|
||||||
|
|
||||||
|
class OsmTest < ActiveSupport::TestCase
|
||||||
|
def test_mercator
|
||||||
|
proj = OSM::Mercator.new(0, 0, 1, 1, 100, 200)
|
||||||
|
assert_in_delta(50, proj.x(0.5), 0.01)
|
||||||
|
assert_in_delta(100, proj.y(0.5), 0.01)
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_mercator_collapsed_bbox
|
||||||
|
proj = OSM::Mercator.new(0, 0, 0, 0, 100, 200)
|
||||||
|
assert_in_delta(50, proj.x(0), 0.01)
|
||||||
|
assert_in_delta(100, proj.y(0), 0.01)
|
||||||
|
end
|
||||||
|
end
|
Reference in New Issue
Block a user