Self-adjusting legends for proportional symbol maps

Jenny, B., Hutzler, E. and Hurni, L.
Cartographica, 44-4, p. 301–304, 2009.

The abstract of this paper was not printed by mistake. It is reproduced below.


Legends for proportional symbol maps normally show the largest and the smallest symbols on the map, along with selected intermediate symbols. This short article presents automatic self-adjusting legends that show visually equally spaced symbols, if possible at round values. The number of intermediate symbols is automatically adjusted to the size of the legend. The method can be applied to any symbol size, to mathematical and perceptual scaling of the symbol size, to any geometric or pictographic symbols, and to arbitrary value ranges, including very large or very small minimum and maximum values. Self-adjusting legends are well suited to a variety of mapping applications that represent numerical data as graduated symbol maps, such as desktop GIS or online mapping systems and atlases.

Paper PDF

Corrigendum (8 December 2010)

Due to the limited precision of floating point numbers, rounding errors may occasionally occur with the algorithm for finding candidate values in appendix 1. This issue can be avoided by replacing the line
values.add(v / scale)
with the following lines:
scaleExp = floor((-log10(min)))
v = bases[baseID] * 10^(ndigits - scaleExp)

It is recommended to consult the Java source code for these and other optimizations, even if the algorithm is implemented in another programming language.