International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Vol XXXV, Part B4. Istanbul 2004
The first task is to develop a method to obtain the cutting scale.
It would be too time consuming to determine the cutting scale
with a nested-interval as described above. As mentioned in the
description, the positions of the objects to be labeled and the
label size changes, but both with different proportion relative to
the scale. To achieve an analytic calculation of the cutting scale,
the position of the objects are fixed to these ones of a specific
scale (real world coordinates) Figuratively speaking, the
objects remain at their original positions and instead the label
size increases during decreasing the scale. To retrieve the
appropriate scaled map, the coordinates have to be projected to
screen map coordinates by a simple scale down. For
simplification reasons, we assume that real world coordinates as
well as the screen map coordinates are given in a Cartesian
coordinate system. This approximation is of course only valid
up to a certain scale, but suitable for screen maps.
The following subsection deals with the analytic calculation of
the cutting scale in dependence on the involved object types.
3.2 Calculation of the cutting scale
3.2.1 Conflict between labeling spaces of two point objects
The cutting scale of the labeling space between two point
objects has to be calculated separately for the horizontal and
vertical direction.
h,sh, s
1 2
bounding Boss, / 2 boundingBoxWidth, / 2
uid + z
objectX,. objectY,
v, =
S 1 :
M boundingBoxHeight, / 2
> =
Vz
~ boundingBoxHeight, / 2
(v, * v;) / cutScale
C =
v
chjectX,, object,
TC = (h, + hp) cutScale
Figure 5 The cutting scale of point objects is calculated
separately for the horizontal and vertical direction.
c, and ¢, arc the distances in the scale 1:1, so both
addends must be divided by the cutting scale, the
scale where the bounding boxes touches, to
transform them to the scale 1:1.
We use the label size function presented in section 2 and
describe the derivation of the cutting scale in the horizontal
direction. The label size (/abSize) for the cutting scale results
from the distance between the two point objects (c) divided by
the cutting scale (cutScale) as shown in Figure 5. The label size
for the reference scale (refLabSize) will be replaced by the
reference sizes of the half labeling space size, strictly speaking
with the sum of the reference sizes of the half symbol size
(refSymSize), the distance between symbol and label
(refDSymLab) and the label size (refLabSize). After insertion of
the parameters and resolving to the scale for the horizontal
direction, the function is given by:
+
| |
Ch
cutScaleg =| —— - > P p
refSymSizes ih
aby 4 —— —
| re
refLabSize, gin + refDS) + refDSymLaby + ——
eR rel tetris rer tnt
refScale)” refScale»"
The constant v in the exponent allows adjusting the growing and
shrinking of the label.
The determination of the cutting scale for the vertical direction
is analogous. The final cutting scale is the minimum of the
cutting scales in both directions.
3.2.2 Conflict between labeling spaces of two line objects
The calculation of the cutting scale between the labeling spaces
of two line objects is analogous to the previous one developed
between point objects, except that there is no distinction
between the horizontal and vertical direction. For simplification
reasons, the line object consists of (simple) line segments. Well-
known algorithms of computational geometry (Glassner, 1990)
can be used to determine the shortest distance between both
involved line objects in scale 1:1. The labeling space is identical
to the buffer of the line object and thus its construction method
can be exploited as shown in Figure 3. The calculation of the
cutting scale can be expressed as follows:
v-l
d
cutScale = cmd
refSymHeigh
refLabHeigh + refDSymLab + si = en refLabHeights * refDSymLab» ^ -
‘ refScaley" refScates" J
refLabHeight is the height of the label to the reference scale
refScale, refDSymLab represents the distance between the
symbol and the label, d is the shortest distance between both
line objects in the scale 1:1 and with v in the exponent the
growing and shrinking of the label can be adjusted.
3.2.3 Conflicts between labeling spaces of a point and a line
object
The computation of the cutting scale between the labeling
spaces of a point and a line object is more difficult because the
extension of labeling space of point objects is different in
horizontal and vertical direction. This leads to many special
cases. The center of the point object and the four corners of its
labeling space define four sectors (Figure 6). For each of these
sectors, the shortest horizontal (for the sectors left and right of
the center of the point object) or vertical (for the sectors above
and below the center of the point object) distance between point
and line object is determined. The calculations of the cutting
scale considering all special cases can be found in (Petzold,
2003).
/
/
|
f
le.
Figure 6 Determination of the cutting scale between point and
line object to be labeled.
3.3 Deselection of labeling of objects
In this subsection we will look ahead to the final map labeling
and the labeling algorithm. Under a certain scale the labeling
spaces of all objects are in conflict with each other as mentioned
in subsection 3.1 and visualized in Figure 7 a) and b). It is
obvious that not all objects in Figure 7 a) can be labeled in the
used scale. Labels have to been omitted — or in other words —
deselected. A rough deselection can be performed before the
labeling algorithm starts and leads to a reduced running time.
Therefore we need a criterion that decides for each object below
which scale it is not further labeled (Figure 4). So this criterion
belongs to the object to be labeled and not to the conflict, but it
is passed to the conflict as described later in section 4.
We developed and examined a few criteria like node degree and
conflict free space which are in detail discussed in (Petzold,
230
Internat
2003). /
This pa
deselect:
insignifi
of point
consider
box.
Figure 7
33.1
For a sp
can be d
space. 1
spaces o
a)
Figure 8
Therefoi
(Figure
distance
equal to
the horiz
row of tl