Text-Label

Home  Zurück  Weiter

Mit dem TextLabel-Manager werden automatische Beschriftungen in Textobjekte überführt und in einem separaten Layer gespeichert. Die Funktionsweise des Text-Label-Managers ähnelt der Standardfunktion Beschriftung (AutoLabel), bietet jedoch zahlreiche Vorteile:

Änderungen in der Datenbank wirken sich (optional) auch automatisch auf den Beschriftungstext aus, da die Textobjekte dynamisch mit der Basisrelation verbunden sind.
Verbesserte Druck- und Bildschirmausgabe (Textgröße, Positionierung, Maßstabsabhängkeit), da die Beschriftungen als Textobjekte vorliegen.
Exportfähigkeit (in andere CAD/GIS-Formate), da die Beschriftungen als Textobjekte vorliegen.
Die Text-Label-Beschriftungen können über die Layerkontrolle wahlweise ein-/ausgeblendet werden, da die Beschriftungen als Textobjekte in einem separaten Layer vorliegen.
Die Text-Label-Beschriftungen können anderen Anwendern zur Verfügung gestellt werden, da die Beschriftungen als Textobjekte in separaten Layern gespeichert werden.
TextLabel-Layer sind ganz normale kartierbare Layer und werden im GeoAS Management auch einer Datengruppe zugeordnet (ggf. Relationsabgleich).

 

Im Unterschied zur Automatischen Beschriftung von MapInfo, handelt es sich beim TextLabel um echte Textobjekte, deren Größe durch Koordinaten definiert ist. Diese Texte behalten beim Zoomen oder Drucken immer Ihre tatsächliche Größe (sie zoomen mit). TextLabel-Objekte gehen durch Ein- und Ausblenden der Layer oder durch Speicherbegrenzungen in der Collection nicht verloren. Position, Ausrichtung und Gestaltung der Textobjekte bleiben erhalten. Besonders bei großen Datenmengen ist die Performance besser als bei der Automatischen Beschriftung. Textinhalte werden dynamisch, auf Knopfdruck aktualisiert.

Zu jeder grafischen Ebene (Basis) kann ein TextLabel-Layer definiert werden. In diesem Layer wird zu jedem Basisobjekt ein Textobjekt erzeugt, dass der Beschriftungsanweisung (Layerkontrolle) des Basis-Layers entspricht.

hmtoggle_plus1Einrichtung

Im GeoAS Management kann jede grafische Ebene (Layer) mit einer TextLabel-Funktion versehen werden. Dazu ist in den Metadaten der Ebene (Layer) -(nicht der Gruppe)- einzutragen: Schlüssel=TextLabel, Wert=True.

Achten Sie darauf, dass für die Basis ein Primärschlüssel (PrimaryKey) gesetzt ist. Die Verknüpfung der Basis mit dem TextLabel erfolgt später über diesen Primärschlüssel.

Der TextLabel-Layer wird automatisch beim ersten Aufruf des TextLabel-Managers im gleichen Verzeichnis wie der Basis-Layer erzeugt und geöffnet.


hmtoggle_plus1Erzeugung von Textobjekten (alle Objekte)

Beispiel Grünflächen

images\TextLabel_Beispiele_1.gif

 

Mit welchen Werten das TextLabel erstellt werden soll und wie es gestaltet sein soll, wird wie beim Standard-Autolabel über die Layerkontrolle (Basisrelation) eingestellt. Stellen Sie auf dem Beschriftungsdialog die Spalten oder einen Spalten-Ausdruck ein, legen Sie die Position, Ausrichtung und die Schriftart fest.

images\TextLabel_Layerkontrolle_Beschriftungsoptionen.gif

 

Aktivieren Sie anschließend die Funktion Manager > TextLabel > Alle Objekte.

Falls für mehrere Layer TextLabel-Layer konfiguriert wurden, erscheint eine Auswahlmaske zur Wahl der betreffenden Relation.

Manager_TextLabel3

 

Im Anschluss werden die Textobjekte erzeugt und in die Karte integriert.

images\TextLabel_Beispiele_3.gif

 

In der Layerkontrolle erscheint die Relation GrünflächenLabel, wobei die AutoBeschriftung für diesen Layer deaktiviert wird. Auch für den Layer Grünflächen ist die AutoBeschriftung nach Erzeugung der TextLabel deaktiviert.

images\TextLabel_Beispiele_4.gif

 

Für alle Objekte, die gelabelt wurden, wird im TextLabel-Layer ein grafisches Textobjekt verwaltet.

images\TextLabel_Anzeigefenster.gif


hmtoggle_plus1images\Button_Textlabel_aktualisieren.gif Erzeugung von Textobjekten (selektierte Objekte)

Sobald TextLabel-Objekte für eine Relation erzeugt wurden, kann die Funktion selektierte Objekte Verwendung finden.

Diese ist nützlich, falls sie TextLabel für neu erzeugte Objekte erstellen möchten oder für selektierte Objekte die Beschriftungsspalte über die Layerkontrolle geändert haben und vorhandene TextLabel entsprechend aktualisieren möchten.

Vor dem Aufruf der Funktion  müssen Objekte der Basisrelation im Kartenfenster selektiert werden.

Im Allgemeinen gestaltet sich die Vorgehensweise dann analog zur Erzeugung von Textobjekten für alle Objekte.

 

Worin besteht der Unterschied zwischen den Durchführungsvarianten Selektierte Objekte und Alle Objekte?

Je nach Wahl der Durchführungsvarianten unterscheiden sich die Anzahl der zu verwaltenden Textobjekte und die Datenkonsistenzprüfungen.

In beiden Fällen wird zuerst eine Verschneidung des Basis-Layers mit dem TextLabel-Layer über den Primärschlüssel durchgeführt. Alle so gefundenen Textobjekte werden inhaltlich mit den Werten der Basis-Layers aktualisiert. Position, Ausrichtung und Gestaltung der Textobjekte werden beibehalten.

Für alle Basisobjekte die noch kein TextLabel haben (z.B. neue Objekte) wird automatisch ein neues TextLabel erzeugt und gemäß den Beschriftungs-Einstellungen platziert.

Wurde Alle Objekte gewählt, werden zusätzlich alle Textlabel entfernt, zu denen es kein Basisobjekt mehr gibt.

 

Ändern von Textobjekten

Position, Ausrichtung und Gestaltung der Textobjekte können für jedes TextLabel einzeln direkt im Kartenfenster geändert werden. Die Änderungen können anschließend gespeichert werden und bleiben somit erhalten (auch wenn sich die Beschriftungsspalte ändert).

Falls das Beschriftungsformat oder die Ausrichtung für alle Textobjekte geändert werden soll, sind die vorhandenen TextLabel zu löschen und neue TextLabel zu erzeugen.

Eine Änderung bezüglich der Beschriftungsspalte kann mit Hilfe der TextLabel-Funktion realisiert werden.

Die TextLabel werden bei Änderungen der Werte auf Karteikarten direkt aktualisiert.

Zusätzlich kann die Text-Label Funktion auch aus einem Makro heraus aufgerufen werden.

 

Hinweis

Hinweis

Beim ersten Anstart der Funktion verwenden Sie bitte die Menü-Funktion <Alle Objekte>.
Um Datenfehler zu vermeiden, achten Sie bitte darauf, dass der Primärschlüssel der Basis-Relation auch wirklich eindeutig ist.
Die Relationsstruktur des Label-Layers wird automatisch erzeugt und darf nicht modifiziert werden. Sie besteht aus den Spalten Label, LabelRemove und Angle.
Die Spaltennamen LabelNeu, LabelAdd, LabelText, LabelID und L_Angle werden vom Labelmanager benutzt und dürfen in dem Basis-Layer nicht enthalten sein.
Je nach Grafikkarte kann es vorkommen, dass neu erzeugte Label erst nach Fenster neuzeichnen oder zoomen sichtbar werden.
Aus Performance-Gründen wird der Label-Layer beim Labeln aus allen Kartenfenstern entfernt. Im aktiven Kartenfenster wird sie anschließend wieder hinzugefügt.
Die TextLabel-Funktion steht im Auskunftsmodus nicht zur Verfügung.
Ist bereits eine LabelRelation erzeugt, diese aber nicht geöffnet, kann sie geöffnet oder ersetzt werden.
Relationen, deren Name auf „label" endet, können nicht gelabelt werden. Sie stehen bei der Auswahl <Alle Objekte> nicht zur Verfügung.
Bei mehrzeiligen Beschriftungsausdrücken verwenden Sie bitte als Zeilenumbruch den Ausdruck "Spalte1" + Chr$(10) + "Spalte2".