Return the centre of the image if the bbox has no extent

Fixes #3007. If all the provided points in the gpx file have the same
lat/lon, then an image where they are all at the centre seems plausible.
This commit is contained in:
Andy Allan 2020-12-23 15:01:01 +00:00
parent 279787943e
commit 2519841efe
2 changed files with 20 additions and 0 deletions

View file

@ -378,12 +378,17 @@ module OSM
end
# 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)
return @height / 2 if (@by - @ty).zero?
@height - ((ysheet(lat) - @ty) / (@by - @ty) * @height)
end
def x(lon)
return @width / 2 if (@bx - @tx).zero?
((xsheet(lon) - @tx) / (@bx - @tx) * @width)
end
end