Label placement Rules, techniques. Labels on a map Text, name of map features No fixed geographical position Labels of point features (0-dim), line features.

Slides:



Advertisements
Similar presentations
Approximation algorithms for geometric intersection graphs.
Advertisements

Chapter 4 Partition I. Covering and Dominating.
Dimensioning Dimensioning Gateway To Technology®
Computational Geometry
Efficient access to TIN Regular square grid TIN Efficient access to TIN Let q := (x, y) be a point. We want to estimate an elevation at a point q: 1. should.
Approximations of points and polygonal chains
Chapter 3 Drawing and Composing an Illustration. Objectives Draw straight lines Draw curved lines Draw elements of an illustration Apply attributes to.
Label Placement and graph drawing Imo Lieberwerth.
NUS CS5247 Motion Planning for Camera Movements in Virtual Environments By Dennis Nieuwenhuisen and Mark H. Overmars In Proc. IEEE Int. Conf. on Robotics.
Label placement Rules, techniques. Labels on a map Text, name of map features No fixed geographical position Labels of point features (0-dim), line features.
Labeling and Annotation
Map Labeling Basic of Feature Labeling. What’s the difference?
Computational Geometry The systematic study of algorithms and data structures for geometric objects, with a focus on exact algorithms that are asymptotically.
Viewing & Clipping In 2D. 2 of 44 Contents Windowing Concepts Clipping –Introduction –Brute Force –Cohen-Sutherland Clipping Algorithm Area Clipping –Sutherland-Hodgman.
Smoothing Linework June 2012, Planetary Mappers Meeting.
Tutorial 2 – Computational Geometry
Annotation & Nomenclature By Corey Fortezzo for PG&G GIS Workshop, 2010.
9/5/06CS 6463: AT Computational Geometry1 CS 6463: AT Computational Geometry Fall 2006 Plane Sweep Algorithms and Segment Intersection Carola Wenk.
Query Processing in Databases Dr. M. Gavrilova.  Introduction  I/O algorithms for large databases  Complex geometric operations in graphical querying.
2-dimensional indexing structure
Identifying Patterns in Road Networks Topographic Data and Maps Henri Lahtinen Arto Majoinen.
Geometric reasoning about mechanical assembly By Randall H. Wilson and Jean-Claude Latombe Henrik Tidefelt.
EE663 Image Processing Edge Detection 5 Dr. Samir H. Abdul-Jauwad Electrical Engineering Department King Fahd University of Petroleum & Minerals.
Geometric Reasoning About Mechanical Assembly By Randall H. Wilson and Jean-Claude Latombe Presented by Salik Syed and Denise Jones.
Contents Description of the big picture Theoretical background on this work The Algorithm Examples.
Vertex Cover, Dominating set, Clique, Independent set
Point Feature Label Placement Bert Spaan. Overview  Introduction  Types of point labeling problems  Good and bad labeling  Complexity of point labeling.
R-Trees 2-dimensional indexing structure. R-trees 2-dimensional version of the B-tree: B-tree of maximum degree 8; degree between 3 and 8 Internal nodes.
Route Planning Vehicle navigation systems, Dijkstra’s algorithm, bidirectional search, transit-node routing.
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 25 Instructor: Paul Beame.
Area, buffer, description Area of a polygon, center of mass, buffer of a polygon / polygonal line, and descriptive statistics.
Continents of The World
Important Problem Types and Fundamental Data Structures
Brute-Force Triangulation
1 Computer Graphics Assistant Professor Dr. Sana’a Wafa Al-Sayegh 2 nd Semester ITGD3107 University of Palestine.
Preparing Data for Analysis and Analyzing Spatial Data/ Geoprocessing Class 11 GISG 110.
Spatial Data Management Chapter 28. Types of Spatial Data Point Data –Points in a multidimensional space E.g., Raster data such as satellite imagery,
October 14, 2014Computer Vision Lecture 11: Image Segmentation I 1Contours How should we represent contours? A good contour representation should meet.
Computational Geometry The systematic study of algorithms and data structures for geometric objects, with a focus on exact algorithms that are asymptotically.
Two-Dimensional Viewing
UNC Chapel Hill M. C. Lin Line Segment Intersection Chapter 2 of the Textbook Driving Applications –Map overlap problems –3D Polyhedral Morphing.
CHAPTER 3 VECTOR DATA MODEL.
Research Experience Daniel Fregosi Summer 2006 UNCC Visualization Center.
Computer Graphics Chapter 6 Andreas Savva. 2 Interactive Graphics Graphics provides one of the most natural means of communicating with a computer. Interactive.
Paradigms for Graph Drawing Graph Drawing: Algorithms for the Visualization of Graphs - Chapter 2 Presented by Liana Diesendruck.
Unit 6 3D Modeling Concepts
1 Research Question  Can a vision-based mobile robot  with limited computation and memory,  and rapidly varying camera positions,  operate autonomously.
Esri UC 2014 | Technical Workshop | Desktop Mapping: Getting the Most from the Maplex Label Engine Craig Williams & Sam Troth.
L10 – Map labeling algorithms NGEN06(TEK230) – Algorithms in Geographical Information Systems L10- Map labeling algorithms by: Sadegh Jamali (source: Lecture.
A.Aruna/Assistant Professor/SNSCE
Adobe Photoshop T.Ahlam Algharasi. Adobe Photoshop Adobe Photoshop is a seriously powerful photo and image edit ( treating and manipulation, compositing,
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California Getting the most from.
Lecture 6 – Geodatabase create a geodatabase schema by importing a data model screen digitize simple features on top of an aerial photo understand proper.
Computer Graphics Through OpenGL: From Theory to Experiments, Second Edition Chapter 14.
2IMA20 Algorithms for Geographic Data Spring 2016 Lecture 7: Labeling.
Spatial Data Management
Chapter 13 Editing and Topology.
Generalisation process and generalisation tools in Maanmittauslaitos
Introduction to Polygons
Architectural Drafting
Mean Shift Segmentation
Query Processing in Databases Dr. M. Gavrilova
Vertex Cover, Dominating set, Clique, Independent set
Summary on symbol design
2IMA20 Algorithms for Geographic Data
Geometric Reasoning About Mechanical Assembly
Creating Great Labels Using Maplex
Presentation transcript:

Label placement Rules, techniques

Labels on a map Text, name of map features No fixed geographical position Labels of point features (0-dim), line features (1-dim), areal features (2-dim)

Labels of point features Cities on a small-scale map Heights of peaks Measured values at measurement points

Labels of point features Touristic sights, campgrounds

Labels of line features Rivers Heights on contour lines Streets

Labels of line features

Labels of areal features Countries, oceans, forests, lakes

Labels of areal features

Three kinds of labels Utrecht Nieuwegein Houten Culemborg Straight, horizontal name Curved nameSpacing between characters

Label placement Where should the text be placed? Which shape? 20% - 50% of the manual map production time; can be automated Which rules do cartographers use? - No overlap  readability - Clear for which feature  association - Aesthetical guidelines

Example Eduard Imhof ( ) -Swiss Cartographer -“Positioning Names on Maps” (1962/1975) Rules according to Imhof

Problematic cases Problem visibility highway 20 Problem association Thunder Bay and point Problem readability name

Another problematic case University Ave. is interrupted 4 times

Specific rules point labels Label must be close to point, preferably to right and above Labels are placed horizontal, no extra spacing No overlap with other labels, except perhaps in the spacing of the areal label Label may intersect line feature; then line must be interrupted Points at a large body of water must have their label in the water. In other cases there may be no line between a point and its label If it cannot be avoided, a name may be split over two lines of text

Specific rules line labels Label must follow shape of river Label should not bend upwards and downwards consecutively At long line features the label must be repeated No or little extra spacing between characters, spacing between words of the label is allowed For vertical line features: upward reading direction left on the map and downward right on the map Contour lines: labels must interrupt contour line; top of label points to higher regions

Specific rules areal labels Horizontal labeling is good unless this conflicts with the dominant shape of the region Non-horizontal labels must be curved Monotonous curving; no inflection points Label should be spread over whole region Adjacent regions preferably have same shape of label (both horizontal, e.g.) Sometimes an areal label may be outside its region, but not in another labeled region Small areal features treated as point features

Strategies for automatic label placement Compute for each feature various candidate positions according to the rules Choose for each feature one candidate position, such that the chosen positions do not overlap Sometimes a feature cannot be labeled, and sometimes the label of a feature must be repeated

Candidate positions points Point labels 4-position model 8-position model slider model More general model  more labels can be placed, but more complex/ expensive to compute

Candidate positions points Priority of point label positions Imhof Ebinger Jones Zoraster Yoeli, Hirsch

Candidate positions lines Compute strip with character height above the river which follows the shape approximately, but doesn’t have too high curvature (e.g. with opening, closure) Determine suitable segments in the strip as candidates

Candidate positions regions Determine skeleton (medial axis) of region (polygon) Determine longest path on skeleton as dominant shape Choose middle with suitable character spacing Vary a little for more candidates

Candidate positions regions, horizontal Choose spacing and determine length : height of label Compute largest scaled copy of the label (rectangle) that just fits inside the polygon Put the label in the correct font size in the middle of the scaled copy B e l g i ë

Removal part of the candidates Compute those candidate positions that intersect map features significantly, or would give unclear association, and remove them Nieuwegein poor good

Reasons for removal Utrecht Zeist Readability text Visibility features Association Utrecht poor good

Choosing from the candidates Translate to a graph problem (graph G): - each candidate position of each feature is a node in G - two nodes have an edge in G if their candidate positions intersect - two nodes have an edge in G if their candidate positions are of the same feature

Example Utrecht Bunnik

Computing intersecting candidates Each candidate is (approximately) a simple geometric shape Determine all pairs of intersecting candidates using a plane sweep algorithm O((n+k) log n) time, with k the number of intersecting pairs Typically: k = O(n)

Independent set: Set of vertices W with for all v, w  W: {v,w}  E. Maximum independent set problem: find largest independent set Clique: Set of vertices W with for all v, w  W: {v,w}  E. Independent Set Clique Graph problem: maximum independent set

Also called maximum stable set NP-hard problem: solving optimally is very time consuming Cannot be approximated with performance guarantees Many heuristics Independent Set

Heuristics for maximum independent set Select each candidate that is only adjacent to a clique, and remove the candidate and clique from the graph Repeat as long as possible (optimal selections)

Heuristics for maximum independent set Select each candidate that is only adjacent to a clique, and remove the candidate and clique from the graph Repeat as long as possible (optimal selections)

Heuristics for maximum independent set Select each candidate that is only adjacent to a clique, and remove the candidate and clique from the graph Repeat as long as possible (optimal selections)

Heuristics for maximum independent set Select each candidate that is only adjacent to a clique, and remove the candidate and clique from the graph Repeat as long as possible (optimal selections)

Heuristics for maximum independent set Select each candidate that is only adjacent to a clique, and remove the candidate and clique from the graph Repeat as long as possible (optimal selections) Utrecht Bunnik

Heuristics for maximum independent set Select each candidate that is only adjacent to a clique, and remove the candidate and clique from the graph Repeat as long as possible (optimal selections) Select candidate that intersects few other candidates Select candidate if a feature has only one (or a few) candidates left Eliminate candidates that intersect many candidates

Refinements Features and labels have different importances Candidates can have different priority  translate problem to maximum weight independent set First place areal labels, then determine candidate point labels and select, then determine line labels and place them (order of decreasing freedom of placement)

Labels in GIS Can label positions be pre-computed and stored, for better efficiency? No, because –Which themes are shown is not known beforehand; –Which scale and size of the map is needed is not known beforehand

Labels on interactive maps Pop-up labels, or labels only after click During zooming in, remove labels when their feature goes outside the frame During zooming in, allow more and more labels; during zooming out, remove labels of less important features Size of labels does not change!

Labels on interactive maps

Commercial packages Maplex for ESRI’s ArcInfo and ArcGIS Label-EZ/MapText for ArcInfo, ArcGIS, MapInfo, GeoMedia, … EverName for MapInfo

Maplex: Label fitting & conflicts Label Fitting Strategies –Label Stacking –Font Reduction –Abbreviation Conflict Resolution –Feature Priority –Overlapping –Creating background labels –Remove duplicate

Maplex: Label position

Maplex: Label fitting Points

Maplex: Label fitting Lines

Maplex: Label fitting Area

Maplex: Conflict resolution

MapText/Label-EZ Configuration file Cartographic placement rules and preferences according to map type Label Fitting Strategies – Reduce font size – Place names with leaders – Use key numbers if no other possibility for overprint-free placement is possible.

MapText: Label Position

EverName: Label position

EverName: Output

Label Placement - Summary Cartographic rules for point features, line features, and areal features Strategies for automatic label placement –Compute Candidates –Select Candidates: Maximum independent Set Problem Commercial packages for label placement