On Jan 1, 2018, at 6:56 AM, Bjoern Hassler
<bjohas...@gmail.com <mailto:bjohas...@gmail.com>> wrote:
Hi Darafei, dear all,
Thanks, but I still cannot get this to work.
I've now calculated real_scale = mapnik_scale / cos(lat),
and used the real_scale, to calculate:
pixels * (72/2.54 pixels/cm) * real_scale = real_world_dim
However, there's still a latitude-dependent discrepancy
(see below). I could try to fit that to latitude, to see
what the formula is, but I'm hoping somebody has the
answer (or can let me know what I got wrong!)
Happy new year!
Bjoern
*Example 1:*
http://www.openstreetmap.org/#map=13/24.1788/49.3092
bbox = [24.123255,49.250507; 24.234286,49.367924]
bbox size in degrees (lon, lat) = 0.117416, 0.111031
*Pixels ('Image ... at'):* 1945 x 2016;
*mapnik_scale* 1 : 24000; *real scale *1 : 26308
Image dim (1 : 26308, 72dpi): 686 mm x 711 mm
Real world dim (1:1, from pixels): *18.051 km x 18.71 km*
Real world dim (1:1, latlon): *11.911 km x 12.346 km*
Ratio (dim pixels/ dim latlon): 1.516 ; 1.515
*Example 2:*
http://www.openstreetmap.org/#map=13/48.6617/-101.3104
bbox = [48.632228,-101.369133; 48.691074,-101.251717]
bbox size in degrees (lon, lat) = 0.117416, 0.058846
*Pixels ('Image ... at'):* 1945 x 1476;
*mapnik_scale* 1 : 24000; *real scale *1 : 36336
Image dim (1 : 36336, 72dpi): 686 mm x 521 mm
Real world dim (1:1, from pixels): *24.932 km x 18.92 km*
Real world dim (1:1, latlon):*8.624 km x 6.543 km*
Ratio (dim pixels/ dim latlon): 2.891 ; 2.891
On 31 December 2017 at 18:59, Darafei "Komяpa"
Praliaskouski <m...@komzpa.net <mailto:m...@komzpa.net>> wrote:
Images are in Spherical Mercator EPSG:3857 projection,
so linear scale is off by cos(lat).
On Sun, Dec 31, 2017, 20:07 Bjoern Hassler
<bjohas...@gmail.com <mailto:bjohas%2...@gmail.com>>
wrote:
Dear friends,
I'm trying to make sense of the scales for map
images downloaded from OSM. For the download, you
can choose the scale, and I had assumed that I
could use this to convert to an actual map scale.
The downloaded png/jpg etc seem to be at 72dpi. I
had assumed I could just convert pixels at 72dpi
to actual dimensions (using the scale).
However - as far as I can tell - this doesn't
work. Maybe I've made a mistake somewhere, but the
dimensions calculated from
* "feature in pixels" / (72/2.54 pixels/cm) *
scale = "feature size" in cm
* lat-lon (e.g. bounding box provided)
Doesn't match. Moreover, the difference doesn't
seem to be a constant offset or ratio, but
possibly latitude dependent.
Maybe the scale offered during download is not
meant to be a geographic scale? Maybe I've
misunderstood something?
There are two worked examples below, that show the
issue.
Any thoughts?
Bjoern
(and a Happy New Year!!)
*Example 1:*
I had a look for long straight roads ... (Trivia:
http://www.dangerousroads.org/rankings23/3759-the-10-longest-straight-roads-in-the-world.html
- "Located in the heart of Saudi Arabia, the
Highway 10 is 120 miles (193km) stretch of
straightness. This asphalted road links Haradh and
Al Batha. It’s a straight road running right
through the desert for 2 h 1 min.")
- Open 'share',
- set scale to 1:50000,
- adjust view port so that "Image will show
standard layer at 932x..."
- Go here:
http://www.openstreetmap.org/#map=13/24.1349/49.3083
On the map, there's a road (East/West), with two
turn-off: First, a power line at the Eastern edge
(running North/South). In the west, there are two
turn-off, the second (straight one) being 11.9 km
from the power line (according to JOSM). In the
image, you've got those right at the edges. From
the bounding box (hidden fields), I calculate
11.62km. Given that the roads are just showing
either side of the image, that's bang on.
Now download PNG, which will have with 932. I am
assuming I have a PNG (72dpi = 28.35 dots per cm),
at scale 1:50,000. I calculate:
932 pixels / (72/2.54 pixels/cm) * 50000 = 16.4 km.
So there's a difference between the dimensions
calculated from the pixels and the distance
calculated from lat/lon.
*Full details for Example 1:*
Z/L/L #13/24.1727/49.3090
bbox = [24.119651808471247,49.249992370605476 ->
24.22567631717543,49.368095397949226]
Pixel dim: 939 x 924;
Natural image dim (72dpi): 331 mm x 326 mm, 1 :
50000
Real world dim (from pixels): 16.563 km x 16.298
km, 1 : 1
Real world dim (latlon): 11.981 km x 11.789 km,
1 : 1
Ratio: 1.382438861530757 ; 1.3824751887352615
*Example 2:*
Another example from the above list:
Z/L/L #13/48.6536/-101.3485
bbox = [48.615207636211146,-101.44741058349611 ->
48.69198023486001,-101.24965667724611]
Pixel dim: 1572 x 924;
Natural image dim (72dpi): 555 mm x 326 mm, 1 :
50000
Real world dim (from pixels): 27.728 km x 16.298
km, 1 : 1
Real world dim (latlon): 14.526 km x 8.537 km, 1
: 1
Ratio: 1.908853091009225 ; 1.909101557924329
The distance (along the highway) from the turnoffs
to Undip / Lansford airstrips is 8.1km in JOSM. So
the latlon calculation is correct. However, the
dimension calculated from the pixels isn't.
_______________________________________________
dev mailing list
dev@openstreetmap.org
<mailto:dev@openstreetmap.org>
https://lists.openstreetmap.org/listinfo/dev
_______________________________________________
dev mailing list
dev@openstreetmap.org <mailto:dev@openstreetmap.org>
https://lists.openstreetmap.org/listinfo/dev