Hier erfolgt eine genaue Bescheibung des Styles "textStyle" und alle dessen Besonderheiten.
Aufbau eines TextStyles
Der Attributblock "textStyle" ist Optional. Hier kann alles Textspezifische über die im Beispiel angegebenen Attribute gesteuert werden.
<textStyle> <content> <layerValue>layerValue</layerValue> </content> <maxZoom>0</maxZoom> <minZoom>0</minZoom> <align> <layerValue>left</layerValue> </align> <baseline> <layerValue>bottom</layerValue> </baseline> <color> <layerValue> <rgbColor> <red>0</red> <green>0</green> <blue>0</blue> </rgbColor> </layerValue> </color> <fontFamily> <layerValue>Arial</layerValue> </fontFamily> <fontStyle> <valueMapping> <attribute>C37</attribute> <value> <inputValue>Linie 1</inputValue> <outputValue>italic</outputValue> </value> <value> <inputValue>Linie 2</inputValue> <outputValue>oblique</outputValue> </value> <defaultValue>normal</defaultValue> </valueMapping> </fontStyle> <fontWeight> <featureValue> <attributeName>Attribut</attributeName> <defaultValue>bold</defaultValue> </featureValue> </fontWeight> <halo> <color> <layerValue> <rgbColor> <red>0</red> <green>0</green> <blue>0</blue> </rgbColor> </layerValue> </color> <width> <layerValue>0.0</layerValue> </width> </halo> <height> <layerValue>0.0</layerValue> </height> <unit>m</unit> <offsetX> <layerValue>0</layerValue> </offsetX> <offsetY> <layerValue>0</layerValue> </offsetY> <rotation> <layerValue>0.0</layerValue> </rotation> <leadingLineAttribute>leadingLine</leadingLineAttribute> </textStyle>
Überblick
Jedes der oben gezeigten und unten aufgelisteten Stilattribute kann entweder als konstanter Wert für den gesamten Layer oder featurespezifisch (von einem Attribut abgeleitet) definiert oder durch ein Mapping von einem Attribut abgeleitet werden. Details dazu findet man auf dieser Seite.
Attribut | Beschreibung | Datentyp | Optional |
---|---|---|---|
rotateWithView | Angabe, ob die Texte bei Kartendrehung mitgedreht werden. | Boolean (true | false) | ja (Standard false) |
content | Angabe des Symbolnamens. | Text | nein |
maxZoom | Angabe ab welcher Zoomstufe der Text zu sehen ist. | Integer | ja |
minZoom | Angabe bis zu welcher Zoomstufe der Text zu sehen ist. | Integer | ja |
align | Angabe der Textausrichtung. | TextAlignType | ja (Standard center) |
baseline | Angabe der Textausrichtung. Nähere Information finden Sie im weiteren Verlauf des Kapitels. | bottom | center | top | hanging | ideographic | baseline | ja |
color | Angabe der Textfarbe. | ColorIndexType | ja |
font | Angabe der graphischen Textausprägung. Beispiel: Bold 2px Calibri,sans-serif. Wird ab Version 1.0.14 nicht mehr ausgewertet!!!! | Text | ja |
fontFamily | Angabe des Fonts, z.B. Arial mit dem Texte ausgegeben werden sollen | Text | Ja |
fontStyle | Angabe der Ausprägung des Fonts. | normal | oblique | italic | Ja |
fontWeight | Angabe zur Stärke des Fonts. | normal | bold | Ja |
halo | Angaben für die Textumrandung. | ja | |
halo.color | Angabe der Textumrandungsfarbe. | ColorIndexType | ja |
halo.width | Angabe der Textumrandungsbreite in Pixel | Double | ja |
height | Angabe der Texthöhe | Double | ja |
unit | Angabe der Einheit in der Texthöhe dargestellt wird (m := Meter, px := Pixel). Standard ist die Angabe von Metern. Bei einer Angabe in Pixel bleibt ein Text unabhängig von der Zoomstufe immer gleich groß, d.h. er skaliert nicht mit | m | px | ja (Standard m) |
offsetX | Die globale Verschiebung des Textes bzgl. zum Einfügepunkt in x-Richtung. | Integer | ja |
offsetY | Die globale Verschiebung des Textes bzgl. zum Einfügepunkt in y-Richtung. | Integer | ja |
rotation | Angabe Textdrehung. | Double | ja |
leadingLineAttribute | Attribut, welches die Führungsliniengeometrie angibt. Wenn das Attribut leer oder nicht angegeben ist, wird keine Führungslinie gezeichnet. Die Führungslinie wird derzeit als Haarlinie in der Farbe des Texts dargestellt | Text | ja |
Baseline
Da die Angabe von Baseline nicht immer verständlich sind, soll folgende Grafik behilflich sein:
Anbei noch ein Vergleich der Werte.
Wert in XML | Wert in CAD / GISX 2.x | DXF Kode | Open Layers | Bemerkung |
---|---|---|---|---|
bottom | bottom | |||
ideographic | bottom | 1 | ideographic | Der Unterschied zwischen bottom und ideographic hängt stark vom verwendeten Text und Font ab. |
baseline | baseline | 0 | alphabetic | |
center | middle | 2 | middle | |
hanging | top | 3 | hanging | Hierbei handelt es sich um keinen Fehler in der Zuordnung der Werte. In CAD Systemen wird "top" tatsächlich als "hanging" interpretiert. |
top | top |
Attributnamen
Bei der Textverarbeitung von GISX 2 Daten gibt es momentan eine Besonderheit: Je nach Konfiguration des Themas (siehe Themenoptionen) werden die Texte und Attributblöcke entweder zu Einzeltexten mit einem eigenen Set von Attributen aufgelöst oder dies passiert nicht, wobei dann die normalen Attribute der Text- und Haupttabelle gemäß der Attributdokumentation zur Verfügung stehen.
Das Standardverhalten ist das Umwandeln von Texten und Attributblöcke entweder zu Einzeltexten. Diese besitzen momentan ausschließlich folgende vorverarbeiteten Attribute:
Attributname | Datentyp intern | Bedeutung |
---|---|---|
content | Text | Verarbeiteter Textinhalt GISX2: Wurde in der Texttabelle als CVALUE "@(S)E0101.C37" angegeben, so wird hier bereits der Inhalt der Spalte C37 für das Objekt zurückgegeben. |
font | Text | Fontname (z.B. Arial) GISX2: Hier findet man den Fontnamen der aus dem Textstil abgeleitet wurde. |
fontWeight | normal | bold | Textstärke GISX2: Hier findet man die Textstärke die aus dem Textstil abgeleitet wurde. |
fontStyle | normal | italic | Textausprägung GISX2: Hier findet man die Textausprägung die aus dem Textstil abgeleitet wurde. |
height | Double | Die Texthöhe in m. GISX2: Hier findet man entweder die Angabe aus der DB-Spalte HN oder oder im Fall von Attributblöcken |
color | Color | Die Textfarbe GISX2: Hier findet man entweder die Angabe aus der DB-Spalte NSTYLE oder im Fall von Attributblöcken - wenn explizit definiert - die Farbe der Einzeltexte im Attributblock wieder. |
rotation | Double | Der endgültige Drehwinkel des Einzeltexts. GISX2: Bei Zusatztexten ist das die Angabe aus der DB-Spalte NROTATION. Im Fall von Einzeltexten eines Attributblocks wird dazu der Drehwinkel des Einzeltexts im Attributblock addiert. |
geometry | Point | Die Punktgeometrie des Texteinfügepunkts für den Einzeltext. |
leadingLine | LineString | Die Liniengeometrie einer eventuellen Führungslinie |
Setzt man in der Themendefinition hingegen das Flag IGNORE_TEXTRESOLVING, so kann man Zusatztexte und Symbolen mit Stilen versehen, die sich auf die Attribute der Text- und/oder Haupttabelle direkt beziehen. Diese können der Attributdokumentation für das jeweilige Thema entnommen werden.