3.1 Properties of Maps
3.2 Signatures, Text, Color
3.3 Geometric Generalization
3.4 Label and Symbol Placement
3.5 Summary
3 Mapping of Spatial Data
• Mapping (visualization) of spatial objects by
transforming them into representation objects (map objects)
• Map
– Generalized model in a reduced scale for representing selected spatial information
3 Mapping of Spatial Data
• Topographic map
– Geometrically and positionally accurate
representation of
landscape objects drawn to scale (topography,
water network, land use, transportation
routes)
3 Mapping of Spatial Data
• Thematic map
– Emphasis is on subject-specific information (geological
map, vegetation map, biotope
map)
3 Mapping of Spatial Data
• Challenges
– Projection of the 3D surface on two dimensions (paper, film, screen)
– Selection of the spatial objects and their attributes to be
displayed
– Generalization of geometric and
thematic properties (simplify, omit depending on scale)
– Exaggeration and displacement
3 Mapping of Spatial Data
• Graticule
– Mapping the earth (sphere, ellipsoid) to a plane
– Two tasks
• Conversion of geographic coordinates (longitude and latitude) to cartesian coordinates (x, y; easting, northing)
• Scaling of the map
3.1 Properties of Maps
• Projections on
– Cone
– Plane (azimuthal
projection) – Cylinder
3.1 Properties of Maps
• Desired properties
– Length preservation: with plane maps only limitedly attainable (in certain directions or at certain points) – Equivalent (equal area): preserve area measurements
shape, angle, and scale may be strongly distorted
– Conformal: important
for navigation in shipping and air transport
3.1 Properties of Maps
• Areas and angles can not be preserved at the same time, therefore
– Compromise projections minimize overall distortion
3.1 Properties of Maps
ndas.com/OnlineDocumentation/ ojections.html
• Example:
Conical Projection
3.1 Properties of Maps
• Example:
Azimuthal Projection
3.1 Properties of Maps
• Example:
Cylindrical Projection
3.1 Properties of Maps
• The Gauss-Krüger coordinate system
– Used in Germany and Austria
– Cartesian coordinate system to represent small areas – Divides the surface of the earth into zones
• Each 3° of longitude in width
• The zones are projected onto a cylinder with the earths diameter
3.1 Properties of Maps
– Origin of the coordinate system:
intersection point of the central meridian and the equator
– X coordinate from the
origin positive towards east, y coordinate from the origin positive towards north
– X and y values given in meters
3.1 Properties of Maps
http://www.gerhard-tropp.de/Troppo/gauss_krueger.html
– To avoid negative x coordinates the central meridian is set to 500,000 m (false easting)
– Each projection zone (3°, 9°, ..., 177°) is identified by a number (1, 3, …, 59)
– This number is placed prior to the x value
– Example: the Gauss-Krüger coordinates
x: 3,567,780.339 and y: 5,929,989.731 refer to the following location
x: 67,780.339 m East of the 9° meridian
3.1 Properties of Maps
• Structure of maps
– Body of the map
presentation of the actual map
– Map frame borders map, contains numbering of the
respective coordinate system
– Map margin contains name of map, scale, legend
3.1 Properties of Maps
• Graphical design elements of maps are
– Symbols
(signatures) for
• Points
• Lines
• Areas
– Text
3.2 Signatures, Text, Color
• The use of point, line, area symbols depends on
– Spatial scale of a map – Purpose of the map – Convention
• Point signatures
are (composite) symbols for the
representation of spatial objects with point geometry
3.2 Signatures, Text, Color
[HGM02]
• Line signatures
represent objects with line geometry
• Area signatures
represent objects with area geometry
• Texts are needed in
3.2 Signatures, Text, Color
[HGM02]
• Color
– Important design element – Additive mixture
• Most relevant for displaying maps on screen
• Common color space: RGB
– Subtractive mixture
• Most relevant for printing maps
• Common color space: CMYK
3.2 Signatures, Text, Color
ttp://www.horrorseek.com/http://academic.scranton.edu/
– There exist various color tables
3.2 Signatures, Text, Color
• For maps and map series the signatures on-hand, fonts, and colors are specified in signature
catalogs and color tables
– Example:
topographical map 1:25.000 (TK25)
3.2 Signatures, Text, Color
• Signature catalog "SK25" describes how the TK25 is derived from the "digital landscape model" (digitales
Landschaftsmodell 1:25.000, DLM25)
• The catalog consists of derivation rules and signatures (about
300 forms)
• Some derivation
rules:
3.2 Signatures, Text, Color
• Some signatures:
3.2 Signatures, Text, Color
– Example:
• Real estate map 1:1000
• The ALKIS project (official property cadastre information system, Amtliches Liegenschaftskataster Informationssystem) specifies a signature library and derivation rules
• Approximately 670 signatures
• Approximately 850 derivation rules
3.2 Signatures, Text, Color
• A signature specification:
3.2 Signatures, Text, Color
Section of a real estate map
3.2 Signatures, Text, Color
• The direct geometric derivation (coordinate transformation) of map objects from spatial
objects works only with large-scale maps (e.g. real estate
map)
• For small-scale maps there are
too many details
3.3 Geometric Generalization
http://www.geobasis-bb.de/GeoPortal1/
• Generalization simplifies map content for the
preservation of readability and comprehensibility
• Replacement of scale preserving mappings through simplified mappings, symbols, and signatures
• Select and summarize information
• Maintain important objects, leave out unimportant ones
3.3 Geometric Generalization
• Eight elementary operations
– To simplify – To enlarge – To displace – To merge
3.3 Geometric Generalization
– To select
– To symbolize
– To typify
3.3 Geometric Generalization
3.3 Geometric Generalization
Base map 1:5000 Topographical map 1:25.000
3.3 Geometric Generalization
Topographical map 1:25.000 Topographical map 1:50.000
3.3 Geometric Generalization
Topographical map 1:50.000 Topographical map 1:100.000
[HGM02] [HGM02]
• Typical operations for generalization (alternative view)
3.3 Geometric Generalization
• Smoothing of polylines simple low-pass filter:
y(n) = 1/3(x(n)+x(n−1)+x(n−2))
3.3 Geometric Generalization
Adaptation to two-dimensional geometry x′i = ⅓(xi−1 +xi+ xi+1)
y′i = ⅓(yi−1 +yi + yi+1)
+ very efficiently to compute
3.3 Geometric Generalization
• Simplification of polylines
– Reduction of points
– No change of coordinates
• Douglas/Peucker algorithm [DP73]
– Given: polyline L, threshold g
– g is very small: L remains unchanged g is very large: L is changed to
one single line
3.3 Geometric Generalization
• Douglas/Peucker algorithm
1. given: polyline L, threshold g
2. determine line between the start and end point of L,
3. determine the point of L that is furthest from the line segment
4. if distance > g then the point is
significant, repeat procedure for both sub-lines,
otherwise remove all the points between
3.3 Geometric Generalization
Examples:
3.3 Geometric Generalization
3.3 Geometric Generalization
Properties:
+ simple base operation: distance measurement
− runtime of naive implementation: O(n2)
+ runtime of optimized implementation: O(n log n) + good results even with a strong reduction of points + extendable for polygons
− "outliers" are not eliminated
3.3 Geometric Generalization
• Polygon to polyline conversion
– Presentation of rivers and roads – Text placement within polygons
3.3 Geometric Generalization
• Schoppmeyer/Heisser procedure [SH95]
1. Given: elongate polygon P
2. Determine the longitudinal axis of P
3. Drop the perpendicular from all edge points to the longitudinal axis
4. Determine the intersection points of the extended perpendicular lines
5. Determine the centre of the resulting axes 6. Connect adjacent centers
7. Determine suitable start and end segment
3.3 Geometric Generalization
Example
1. Given: elongate polygon P
2. Determine the longitudinal axis of P
3.3 Geometric Generalization
3. Drop the perpendicular from all edge points to the longitudinal axis
4. Determine the intersection points of the extended perpendicular lines
3.3 Geometric Generalization
5. Determine the centre of the resulting axes
6. Connect adjacent centers
3.3 Geometric Generalization
7. Determine suitable start and end segment
Result
3.3 Geometric Generalization
Using the result for text placement
3.3 Geometric Generalization
Properties:
+ relatively short runtime
+ quite good results with "good-natured" polygons
− determining the start and end segment
− procedure fails for non-elongate polygons
3.3 Geometric Generalization
• Procedure for arbitrary polygons Petzold/Plümer [PP97]
1. given: Polygon P (set of points S) 2. determine Voronoi diagram of S
3. determine intersection points of the Voronoi edges and the polygon edges
4. consider resulting Voronoi skeleton:
5. choose an appropriate sequence of edges Voronoi diagram:
assigns each point P ∈ S the points of the plane
3.3 Geometric Generalization
Example
1. given: Polygon P (set of points S)
2. determine Voronoi diagram of S
3.3 Geometric Generalization
3. determine intersection points of the Voronoi edges and the polygon edges
4. consider resulting Voronoi skeleton:
5. choose an appropriate sequence of edges
3.3 Geometric Generalization
Properties:
− selection of an appropriate polyline from the skeleton
− computation of the Voronoi diagram + results for all kinds
of polygons
3.3 Geometric Generalization
• Simplification of polygons
– Low-pass filter
– Douglas/Peucker (adapted)
Decompose polygon P into 2 polylines L1, L2 e.g. at the points PL1, PL2 ∈ P, with maximum distance between each other
Simplify L and L
3.3 Geometric Generalization
Example
polygon with points PL1, PL2 with maximum distance
3.3 Geometric Generalization
– Example
Douglas/Peucker (adapted) city area of Braunschweig,
reduction from about 90 to about 30 points
3.3 Geometric Generalization
Further example
Douglas/Peucker (adapted)
3.3 Geometric Generalization
g = 0.5 g = 1
3.3 Geometric Generalization
cartographically desired
generalization
results with
Douglas/Peucker
– Douglas/Peucker reduces the number of polygon points
– Characteristic shapes are preserved (within certain limits)
– Good results with "natural" geometries (bogs, lakes, forests)
– Less satisfactory results with polygons with predominantly right angles (buildings),
therefore
• Modification to preserve right angles and long edges
• E.g. Neumann/Selke [NeS01]
3.3 Geometric Generalization
• Geometric generalization (and displacement) of building sketches is a challenging task
• Convenient results achieved by programs
• E.g. CHANGE, PUSH, TYPIFY [Se07]
3.3 Geometric Generalization
• Placement of all texts (labels) in the same way
results with high probability in overlappings (poor readability)
• Therefore, it is necessary to move, scale down,
rotate, or omit texts
• In the general case this is a NP-hard optimization problem
3.4 Label and Symbol Placement
• Objectives of labeling
– Easily readable
– Unambiguity: each label must be easily identified with exactly one graphical feature
– Same facts are represented in the same way – Different facts are represented differently – Important facts are emphasized
– Important objects are never covered
3.4 Label and Symbol Placement
• Text or label placement is divided into
– Point labeling
• Positions to the right are preferred to those on the left
• Labels above a point are preferred to those below
• E.g. cities with a horizontal label
– Line labeling
• Labels should be placed as straight as possible
• E.g. rivers with names
– Area labeling
• It must be clear what the total area is
• E.g. forest areas containing their names
3.4 Label and Symbol Placement
http://www.sprachkurs- sprachschule.com/
• For the three classes there are many specialized algorithms, based on
– Greedy algorithm
• Labels are placed in sequence
• Each position is chosen according to minimal overlapping
• Acceptable results only for very simple problems
• Very fast
– Local optimization
• The labels are checked several times
• On each pass a single label is repositioned an tested
• The position is kept, if the overall result improves
• Stop, if a local optimum is reached
3.4 Label and Symbol Placement
– Simulated annealing
• Similar to local optimization, however yielding better results
• A placement of a label can be kept even though it (initially) downgrades the overall result
• At first "high temperature", thus leaving local optima is possible
• Later on ("low temperature") only small changes are possible
• Challenges: a good evaluation function, and a good annealing schedule
3.4 Label and Symbol Placement
• Name and inspiration from annealing in metallurgy:
controlled cooling of a material until it changes from liquid to solid
• Structure of the solid depends on „the cooling schedule“
– Fast cooling results in
• Unordered solid
• Internal stresses
– Slow cooling results in
• Ordered solid
3.4 Simulated Annealing
• Example: SiO2
– Short range order: tetrahedron – Crystalline form: Cristobalit
– Without long range order: Silica glass
3.4 Simulated Annealing
http://webuser.hs-furtwangen.de/~neutron/
Si O
• Elements
– Initial solution (liquid)
– Modifications (vibrations of molecules)
– Cooling schedule: Change of temperature over time
• Initial temperature
• Freezing point
– Weighting function (internal energy)
3.4 Simulated Annealing
• Pseudocode:
– Usually the temperature is decreased after multiple changes
3.4 Simulated Annealing
T = initialTemperature;
currentSolution = InitialSolution;
while (T > freezingPoint){
newSolution = CHANGE(currentSolution);
if (ACCEPT){
currentSolution = newSolution;
}
ANNEAL(T);
}
– Decision if the new solution is accepted
• A better solution is always accepted
• Probability of accepting a worse solution depends on the
3.4 Simulated Annealing
ACCEPT{
Δ = EVALUATE(newSolution)
– EVALUATE(currentSolution) if((Δ < 0) or RANDOM(0,1) < e-Δ/T)){
return true;
} return false;
}
• Example: label placement
3.4 Simulated Annealing
• Initial solution: random label placement
• Weighting function
– Number of covered (or deleted) labels
– Consideration of cartographic preferences by weighting of possible positions for point labels
• Modifications
– Move an arbitrary or covered label to a new position – If cartographic preferences are considered an
3.4 Simulated Annealing
2 4 1 5 6
8 7 3
• Cooling schedule:
– Initial temperature ca 2,47 → the probability of
accepting that a solution whose cost are 1 higher is accepted is 2/3, i.e.: e-1/T = 2/3
– T = 0,1 * T
– T is decreased as soon as more than 5*n new
solutions have been accepted (n is the number of objects)
– Search ends
• As soon as T has been decreased 50 times
• If none of 20*n new solutions in a row has been accepted
3.4 Simulated Annealing
• Result
3.4 Simulated Annealing
• Symbol placement (point signatures) is just as complex as text placement
• In the following two examples for special cases
– Displacement and placement of trees symbols in TK25-like presentation graphics [NPW06]
– Placement of point signatures in polygons of buildings for real estate maps [NKP08]
3.4 Label and Symbol Placement
• Displacement and placement of tree row symbols
– Roads as well as tree rows are given as polylines only in the digital landscape model 1:25.000 (DLM25)
– Placement of the tree symbols on the points of the tree rows does not result in an equidistant pattern
– The visualization of roads is much wider than the actual street width (depending on the type of the road (attribute:
dedication, “Widmung”))
– The tree symbols are often hidden by the line signatures of the streets
3.4 Label and Symbol Placement
• One single road from the DLM25 (example, XML/GML encoding)
3.4 Label and Symbol Placement
<AtkisMember>
<gml:coord><gml:X>4437952.980</gml:X><gml:Y>5331812.550</gml:Y></gml:coord>
>>
AnzahlDerFahrstreifen>
>
<AtkisMember>
<Strasse>
<gml:name> Badstrasse </gml:name>
<AtkisOID> 86118065 </AtkisOID>
<gml:centerLineOf>
<gml:coord><gml:X>4437952.980</gml:X><gml:Y>5331812.550</gml:Y></gml:coord>
<gml:coord><gml:X>4437960.070</gml:X><gml:Y>5331818.450</gml:Y></gml:coord>
<gml:coord><gml:X>4437967.200</gml:X><gml:Y>5331825.410</gml:Y> </gml:coord>
</gml:centerLineOf>
<Attribute>
<Zustand> in Betrieb </Zustand>
<AnzahlDerFahrstreifen Bedeutung=“tatsaechliche Anzahl”> 2 </AnzahlDerFahrstreifen>
<Funktion> Strassenverkehr </Funktion>
<VerkehrsbedeutungInneroertlich> Anliegerverkehr </VerkehrsbedeutungInneroertlich>
<Widmung> Gemeindestrasse </Widmung>
</Attribute>
</Strasse>
• A tree row from the DLM25
3.4 Label and Symbol Placement
<AtkisMember>
<AtkisMember>
<Baumreihe>
<gml:centerLineOf>
<gml:coord><gml:X>3524258.170</gml:X><gml:Y>5800238.690</gml:Y>
</gml:coord>
<gml:coord><gml:X>3524256.190</gml:X><gml:Y>5800220.270</gml:Y>
</gml:coord>
<gml:coord><gml:X>3524255.240</gml:X><gml:Y>5800196.070</gml:Y>
</gml:coord>
<gml:coord><gml:X>3524581.650</gml:X><gml:Y>5799674.000</gml:Y>...
</gml:coord>
</gml:centerLineOf>
<Attribute>
• Direct visualization
3.4 Label and Symbol Placement
• Simple displacement procedure
3.4 Label and Symbol Placement
for all t : treeRow do begin
if exists s : street (distance(t,s) ≤
minDistance(s.dedication)) then
for all p : t.coord do begin
r := refSegment(s,p);
move(p,r) end do
• Visualization with displacement
3.4 Label and Symbol Placement
• Placement procedure
3.4 Label and Symbol Placement
for all t : treeRow do begin
l := length(t.centerLineOf);
n := ⌊l/distanceConst⌋ + 1;
t’ : new treeRow;
for i=1 to n do begin
computePoint
(t’.coord[i],
t.centerLineOf, distanceConst)
• Visualization with displacement and placement
3.4 Label and Symbol Placement
• Placement of point signatures in polygons of buildings
– Derivation of the real estate map (1:1.000) from ALKIS inventory data extracts relatively straight forward
– No generalization and no displacement is needed (topographic planimetry, "cadastral map")
– Representation of buildings, parcels, border points, etc., with the given signature library and the derivation rules – E.g. symbolisation of buildings as colored polygons with a
boundary line and a typical point signature depending on
3.4 Label and Symbol Placement
• A building from an ALKIS inventory data extract
3.4 Label and Symbol Placement
<gml:featureMember>
<gml:featureMember>
<AX_Gebaeude gml:id="DEHHSERV00001FN1">
...<position><gml:Polygon>
<gml:exterior><gml:Ring>
...<gml:pos>3567807.047 5930017.550</gml:pos>
<gml:pos>3567810.850 5930024.755</gml:pos>
...<gml:pos>3567807.047 5930017.550</gml:pos>
</gml:Ring></gml:exterior>...
</gml:Polygon></position>
<gebaeudefunktion>2000</gebaeudefunktion>
<weitereGebaeudefunktion>1170</weitereGebaeudefunktion>
<bauweise>2100</bauweise>
<anzahlDerOberirdischenGeschosse>1
</anzahlDerOberirdischenGeschosse>
</AX_Gebaeude>
• For many point signatures which are related to buildings so-called presentation objects are
supplied in the inventory data, defining the
optimal position of the respective signature (given in "world coordinates")
3.4 Label and Symbol Placement
<gml:featureMember>
<gml:featureMember>
<AP_PPO gml:id="DEBWL00100000fAW">
<lebenszeitintervall>... </lebenszeitintervall>
<modellart>... </modellart>
<anlass>000000</anlass>
<position>
<gml:Point><gml:pos>3540847.175 5805897.864</gml:pos></gml:Point>
</position>
<signaturnummer>3316</signaturnummer>
• But some buildings lack the presentation objects
• An obvious, easily determined position for the signature:
– Choose the center of the smallest axis parallel
rectangle, which encloses the polygon of the building – min(x1, ..., xn)+((max(x1, ..., xn)−min(x1, ..., xn))/2),
– min(y1, ..., yn)+((max(y1, ..., yn)−min(y1, ..., yn))/2)
3.4 Label and Symbol Placement
• Unfortunately, the results are not always satisfactory
• Therefore, heuristic procedure, based on
– Convexity
– (approximate) symmetry points – (approximate) symmetry axis
3.4 Label and Symbol Placement
3.4 Label and Symbol Placement
if polygon of building convex:
choose centroid
if signature frame fits completely in polygon of building:
place there
otherwise choose appropriate point with the smallest distance to
the centroid
else if symmetry point in polygon of building:
place there
otherwise further procedure with symmetry axes
⇒ generation of a new presentation object
• The procedure is not suited for the placement of signatures for churches/chapels
– Besides the determination of an appropriate position – Also the signatures alignment to the shape of the
building’s polygon is needed
– An alignment to the north south axis is rarely optimal – Crosses for churches as parallel as possible to the
churches naves
3.4 Label and Symbol Placement
• Heuristic procedure
– Determine a preferable large cross that just fits in the building’s polygon
– Proportions of the large cross and the church signature are the same
– If the large cross is found, place the signature just in the intersection point
• For this purpose first simplify the building’s polygon
3.4 Label and Symbol Placement
• In several rotation angles:
look for a preferable large, well placed cross
– Restriction of the potential
rotation angles and positioning points (e.g. consider minimum distance to boundaries of the building’s polygon)
– Evaluate all appropriate crosses within a rotation angle
– Evaluate all the best crosses
3.4 Label and Symbol Placement
• Placement of the signature in the best cross of all rotation angles
⇒ Generation of a new presentation object with
"optimal" positioning coordinates and
"optimal" rotation angle
3.4 Label and Symbol Placement
• Both methods applied to inventory data extracts
3.4 Label and Symbol Placement
• Mapping of spatial data
– Topographic map – Thematic map
• Properties of maps
– Graticule – Projections
– Gauß-Krüger coordinate system
– Body of map, map frame, map margin
3.5 Summary
• Signatures, text, color
– Point signatures – Line signatures – Area signatures – Derivation rules
– TK25, real estate map
• Geometric generalization
– Smoothing of polylines
3.5 Summary
– Douglas/Peucker algorithm
– Polygon to polyline conversion – Simplification of polygons
– Geometric generalization of building’s ground plans
• Text and symbol placement
– Methods for text placement detour [simulated annealing]
– Displacement and placement of symbols for tree rows – Placement of point signatures in building’s polygons
3.5 Summary
2 4 1 5 6
8 7 3
3.5 Summary
GIS graticule
map
signatures text
color
collect manage
analyse
display
generalization
area labelling simplifying
lines polygon
→ line
design elements
placement
topological
thematic