TY - THES A1 - Schwartges, Nadine T1 - Dynamic Label Placement in Practice T1 - Beschriftungsplatzierung in interaktiven Karten in der Praxis N2 - The general map-labeling problem is as follows: given a set of geometric objects to be labeled, or features, in the plane, and for each feature a set of label positions, maximize the number of placed labels such that there is at most one label per feature and no two labels overlap. There are three types of features in a map: point, line, and area features. Unfortunately, one cannot expect to find efficient algorithms that solve the labeling problem optimally. Interactive maps are digital maps that only show a small part of the entire map whereas the user can manipulate the shown part, the view, by continuously panning, zooming, rotating, and tilting (that is, changing the perspective between a top and a bird view). An example for the application of interactive maps is in navigational devices. Interactive maps are challenging in that the labeling must be updated whenever labels leave the view and, while zooming, the label size must be constant on the screen (which either makes space for further labels or makes labels overlap when zooming in or out, respectively). These updates must be computed in real time, that is, the computation must be so fast that the user does not notice that we spend time on the computation. Additionally, labels must not jump or flicker, that is, labels must not suddenly change their positions or, while zooming out, a vanished label must not appear again. In this thesis, we present efficient algorithms that dynamically label point and line features in interactive maps. We try to label as many features as possible while we prohibit labels that overlap, jump, and flicker. We have implemented all our approaches and tested them on real-world data. We conclude that our algorithms are indeed real-time capable. N2 - Das allgemeine Beschriftungsproblem lautet wie folgt: Gegeben sei eine Menge von zu beschriftenden geometrischen Objekten (Referenzobjekte) in der Ebene und für jedes Referenzobjekt eine Menge von Beschriftungspositionen. Maximiere die Anzahl von gesetzten Beschriftungen, sodass jedes Referenzobjekt höchstens eine Beschriftung besitzt und keine zwei Beschriftungen überlappen. In Karten gibt es drei Arten von Referenzobjekten: Punkte, Linien und Gebiete. Leider können wir nicht davon ausgehen, dass es Algorithmen gibt, die das Beschriftungsproblem optimal und effizient, das heißt, mit kurzer Rechenzeit, lösen. Interaktive Karten sind digitale Karten wie sie zum Beispiel in Navigationsgeräten verwendet werden. Interaktive Karten zeigen nur einen Ausschnitt der gesamten Karte, wobei der Benutzer diesen Ausschnitt, den Sichtbereich, verändern kann: Der Benutzer kann den Sichtbereich verschieben, verkleinern und vergrößern (das heißt, heraus- und hineinzoomen), ihn rotieren und die Ansicht kippen, also zwischen Draufsicht und Vogelperspektive variieren. Diese spontanen Änderungen machen das Platzieren von Beschriftungen noch schwieriger. Sobald eine Beschriftung den Sichtbereich verlässt, sollte diese innerhalb des Sichtbereichs neu gesetzt werden. Beim Zoomen soll sich die Größe einer Beschriftung auf dem Bildschirm nicht ändern. Beim Herauszoomen müssen wir daher Beschriftungen löschen um Überlappungen zu verhindern. Beim Hineinzoomen entsteht Platz um weitere Beschriftungen zu platzieren. Diese Aktualisierungen müssen in Echtzeit durchgeführt werden, das heißt, sie müssen so schnell durchgeführt werden, dass der Benutzer nicht bemerkt, dass im Hintergrund neue Positionen berechnet werden. Eine weitere Anforderung interaktiver Karten ist, dass eine Beschriftung nicht springen oder flackern darf, das heißt, wenn eine Beschriftung ihre Position ändern muss, so soll sie sich kontinuierlich zu ihrer neuen Position bewegen, und, während der Benutzer hinauszoomt, darf eine gelöschte Beschriftung nicht wieder eingeblendet werden. In dieser Dissertation stellen wir effiziente Algorithmen vor, die Punkte und Linien dynamisch beschriften. Wir versuchen stets so viele Referenzobjekte wie möglich zu beschriften, wobei wir gleichzeitig fordern, dass die platzierten Beschriftungen weder springen, flackern, noch sich überlappen. Wir haben unsere Algorithmen implementiert und mit Hilfe von echten Kartendaten getestet. Tatsächlich sind unsere Algorithmen echtzeitfähig. KW - Computerkartografie KW - Digitale Karte KW - automated map labeling KW - street labeling KW - point labeling KW - visualization KW - interactive maps KW - automatische Beschriftungsplatzierung KW - Beschriftung von Straßen KW - Punktbeschriftungen KW - Visualisierung KW - Interaktive Karten KW - Beschriftung KW - Visualisierung Y1 - 2015 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:bvb:20-opus-115003 ER - TY - THES A1 - Zink, Johannes T1 - Algorithms for Drawing Graphs and Polylines with Straight-Line Segments T1 - Algorithmen zum Zeichnen von Graphen und Polygonzügen mittels Strecken N2 - Graphs provide a key means to model relationships between entities. They consist of vertices representing the entities, and edges representing relationships between pairs of entities. To make people conceive the structure of a graph, it is almost inevitable to visualize the graph. We call such a visualization a graph drawing. Moreover, we have a straight-line graph drawing if each vertex is represented as a point (or a small geometric object, e.g., a rectangle) and each edge is represented as a line segment between its two vertices. A polyline is a very simple straight-line graph drawing, where the vertices form a sequence according to which the vertices are connected by edges. An example of a polyline in practice is a GPS trajectory. The underlying road network, in turn, can be modeled as a graph. This book addresses problems that arise when working with straight-line graph drawings and polylines. In particular, we study algorithms for recognizing certain graphs representable with line segments, for generating straight-line graph drawings, and for abstracting polylines. In the first part, we first examine, how and in which time we can decide whether a given graph is a stick graph, that is, whether its vertices can be represented as vertical and horizontal line segments on a diagonal line, which intersect if and only if there is an edge between them. We then consider the visual complexity of graphs. Specifically, we investigate, for certain classes of graphs, how many line segments are necessary for any straight-line graph drawing, and whether three (or more) different slopes of the line segments are sufficient to draw all edges. Last, we study the question, how to assign (ordered) colors to the vertices of a graph with both directed and undirected edges such that no neighboring vertices get the same color and colors are ascending along directed edges. Here, the special property of the considered graph is that the vertices can be represented as intervals that overlap if and only if there is an edge between them. The latter problem is motivated by an application in automated drawing of cable plans with vertical and horizontal line segments, which we cover in the second part. We describe an algorithm that gets the abstract description of a cable plan as input, and generates a drawing that takes into account the special properties of these cable plans, like plugs and groups of wires. We then experimentally evaluate the quality of the resulting drawings. In the third part, we study the problem of abstracting (or simplifying) a single polyline and a bundle of polylines. In this problem, the objective is to remove as many vertices as possible from the given polyline(s) while keeping each resulting polyline sufficiently similar to its original course (according to a given similarity measure). N2 - Graphen stellen ein wichtiges Mittel dar, um Beziehungen zwischen Objekten zu modellieren. Sie bestehen aus Knoten, die die Objekte repräsentieren, und Kanten, die Beziehungen zwischen Paaren von Objekten abbilden. Um Menschen die Struktur eines Graphen zu vermitteln, ist es nahezu unumgänglich den Graphen zu visualisieren. Eine solche Visualisierung nennen wir Graphzeichnung. Eine Graphzeichnung ist geradlinig, wenn jeder Knoten als ein Punkt (oder ein kleines geometrisches Objekt, z. B. ein Rechteck) und jede Kante als eine Strecke zwischen ihren beiden Knoten dargestellt ist. Eine sehr einfache geradlinige Graphzeichnung, bei der alle Knoten eine Folge bilden, entlang der die Knoten durch Kanten verbunden sind, nennen wir Polylinie. Ein Beispiel für eine Polylinie in der Praxis ist eine GPS-Trajektorie. Das zugrundeliegende Straßennetzwerk wiederum kann als Graph repräsentiert werden. In diesem Buch befassen wir uns mit Fragen, die sich bei der Arbeit mit geradlinigen Graphzeichnungen und Polylinien stellen. Insbesondere untersuchen wir Algorithmen zum Erkennen von bestimmten mit Strecken darstellbaren Graphen, zum Generieren von geradlinigen Graphzeichnungen und zum Abstrahieren von Polylinien. Im ersten Teil schauen wir uns zunächst an, wie und in welcher Zeit wir entscheiden können, ob ein gegebener Graph ein Stickgraph ist, das heißt, ob sich seine Knoten als vertikale und horizontale Strecken auf einer diagonalen Geraden darstellen lassen, die sich genau dann schneiden, wenn zwischen ihnen eine Kante liegt. Anschließend betrachten wir die visuelle Komplexität von Graphen. Konkret untersuchen wir für bestimmte Graphklassen, wie viele Strecken für jede geradlinige Graphzeichnung notwendig sind, und, ob drei (oder mehr) verschiedene Streckensteigungen ausreichend sind, um alle Kanten zu zeichnen. Zuletzt beschäftigen wir uns mit der Frage, wie wir den Knoten eines Graphen mit gerichteten und ungerichteten Kanten (geordnete) Farben zuweisen können, sodass keine benachbarten Knoten dieselbe Farbe haben und Farben entlang gerichteter Kanten aufsteigend sind. Hierbei ist die spezielle Eigenschaft der betrachteten Graphen, dass sich die Knoten als Intervalle darstellen lassen, die sich genau dann überschneiden, wenn eine Kanten zwischen ihnen verläuft. Das letztgenannte Problem ist motiviert von einer Anwendung beim automatisierten Zeichnen von Kabelplänen mit vertikalen und horizontalen Streckenverläufen, womit wir uns im zweiten Teil befassen. Wir beschreiben einen Algorithmus, welcher die abstrakte Beschreibung eines Kabelplans entgegennimmt und daraus eine Zeichnung generiert, welche die speziellen Eigenschaften dieser Kabelpläne, wie Stecker und Gruppen von zusammengehörigen Drähten, berücksichtigt. Anschließend evaluieren wir die Qualität der so erzeugten Zeichnungen experimentell. Im dritten Teil befassen wir uns mit dem Abstrahieren bzw. Vereinfachen einer einzelnen Polylinie und eines Bündels von Polylinien. Bei diesem Problem sollen aus einer oder mehreren gegebenen Polylinie(n) so viele Knoten wie möglich entfernt werden, wobei jede resultierende Polylinie ihrem ursprünglichen Verlauf (nach einem gegeben Maß) hinreichend ähnlich bleiben muss. KW - Graphenzeichnen KW - Algorithmische Geometrie KW - Algorithmus KW - Algorithmik KW - Polygonzüge KW - graph drawing KW - complexity KW - algorithms KW - straight-line segments KW - polylines KW - graphs KW - Strecken KW - Graphen Y1 - 2024 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:bvb:20-opus-354756 ER -