Phys. Dirk Burghardt
Phys. Dirk Burghardt
Phys. Dirk Burghardt
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
72 Kapitel 5. Praktische Anwendungen<br />
Plazierung unter Berücksichtigung der Nachbarschaft:<br />
Die Modellierung der Texte erfolgt durch Zuordnung einer Standlinie, des Bezugspunktes, sowie<br />
der Angabe von Länge und Höhe der Textbox, d.h. eine Modellierung auf Buchstabenebene findet<br />
nicht statt. Die Standlinie kann dabei explizit vorgegeben werden oder über das zu beschriftende<br />
Objekt zugeordnet sein (z.B. Mittelachse einer Straße). Damit sind die Freiheitsgrade für die<br />
Textplazierung festgelegt.<br />
So kann eine Beschriftung von Linienobjekten nur erfolgen, wenn die Standlinie über das zu<br />
beschriftende Objekt und nicht explizit vorgegeben wird. Bei der Linienbeschriftung muß des<br />
weiteren zwischen innerem und äußerem Text unterschieden werden. Beispiele für inneren Text<br />
sind die Straßennamen oder die Beschriftung breiter Gewässer, während äußerer Text bei schmalen<br />
Flüssen benutzt wird. Der Hauptunterschied besteht darin, daß sich der innere Text der<br />
Mittelachse vollständig anpaßt, während der äußere Text einer stärkeren Glättung unterliegen<br />
kann. Implementiert wurde die Beschriftung mit innerem Text.<br />
Für die Beschriftung von Flächenobjekten kann innerer, äußerer oder überlagernder Text unterschieden<br />
werden, wobei letzterer das zu beschriftende Objekt berühren darf (z.B. Beschriftung<br />
öffentlicher Gebäude). Innerer Text muß vollständig in der zu beschriftenden Fläche liegen (z.B.<br />
Bezeichnung von Seen, Landschaften) und äußerer Text sollte einen gewissen Mindestabstand<br />
einhalten (z.B. Beschriftung von Ortschaften, sonstige punktförmige Objekte). Realisiert sind<br />
bis jetzt die Beschriftung mit äußerem und überlagerndem Text.<br />
Die Konfliktlösung erfolgt in zwei Schritten. Zunächst wird eine geeignete Grobplazierung des<br />
Textes durchgeführt, anschließend erfolgt die Feinplazierung analog zur Verdrängung von Flächen<br />
mit festem Rand mittels Greedy-Algorithmus (siehe Abschnitt 3.3.4). Die Art der Grobplazierung<br />
ist abhängig vom Typ des zu beschriftenden Objektes. Für die Linienbeschriftung wird<br />
der längste Abschnitt der Standlinie im Kartenausschnitt verwendet und der Bezugspunkt so<br />
gewählt, daß der Text vollständig im Ausschnitt liegt. Zur Grobplazierung der Texte bei der<br />
Beschriftung von Flächenobjekten wird auf einem Raster um den Schwerpunkt des Objektes die<br />
bezüglich der gewichteten Überlagerungsflächen günstigste Position ausgewählt.<br />
Das verwendete Raster ist durch die Parameter ”<br />
Iterationstiefe“ und ”<br />
Schrittweite für Vorauswahl“<br />
aus dem modulspezifischen Konfigurationsfile festgelegt. Die Anzahl der Kandidaten z K<br />
ergibt sich dabei entsprechend der Iterationstiefe t aus z K = 8·∑t<br />
n=1 n. Für t = 1 entspricht dies<br />
der 8-Nachbarschaft. Die Bewichtung der Überlagerungsflächen ist in Grob- und Feinplazierung<br />
identisch.<br />
Die Feinplazierung erfolgt durch Iteration über alle Texte in Randlagen mittels Greedy-Algorithmus,<br />
wobei sich die Bewertungsfunktion aus den Gesamtenergien der einzelnen Texte zusammensetzt.<br />
Die Gesamtenergie eines Textes resultiert aus Addition der gewichteten Überlagerungsflächen<br />
zuzüglich einer Abstandsenergie. Die überdeckten Flächen werden dabei analog<br />
zur Verdrängung von Flächen mit festem Rand ins Verhältnis zur Fläche des plazierten Textes<br />
gesetzt.<br />
Am stärksten gewichtet werden Randüberlagerungen. Ebenfalls stark bewertet sind die Überlagerungen<br />
von Texten untereinander. Weniger stark gewichtet werden Überlagerungen von Hintergrundobjekten<br />
einschließlich Symbolen. Als Richtgrößen können g rand : g text : g back = 100 : 10 : 1<br />
verwendet werden. Die Abstandsenergie wird bei der Beschriftung mit äußerem Text benötigt,<br />
um die Distanz zwischen Text und Objekt möglichst klein zu halten, wobei ein gewisser Mindestabstand<br />
nicht zu unterschreiten ist.