/usr/lib/python2.7/dist-packages/mapnik/printing/scales.py is in python-mapnik 1:0.0~20180130-804a7947d-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | """Scale helpers functions."""
import math
def any_scale(scale):
"""Scale helper function that allows any scale."""
return scale
def sequence_scale(scale, scale_sequence):
"""Sequence scale helper, this rounds scale to a 'sensible' value."""
factor = math.floor(math.log10(scale))
norm = scale / (10**factor)
for s in scale_sequence:
if norm <= s:
return s * 10**factor
return scale_sequence[0] * 10**(factor + 1)
def default_scale(scale):
"""Default scale helper, this rounds scale to a 'sensible' value."""
return sequence_scale(scale, (1, 1.25, 1.5, 1.75, 2, 2.5, 3, 4, 5, 6, 7.5, 8, 9, 10))
def deg_min_sec_scale(scale):
for x in (1.0 / 3600,
2.0 / 3600,
5.0 / 3600,
10.0 / 3600,
30.0 / 3600,
1.0 / 60,
2.0 / 60,
5.0 / 60,
10.0 / 60,
30.0 / 60,
1,
2,
5,
10,
30,
60
):
if scale < x:
return x
else:
return x
|