Sie können für fast alle Stileinstellungen Ausdrücke als Werte verwenden. Verwenden Sie die Ausdruckserstellung, um den Stil von Objekten zu bearbeiten, die Ausdrücke verwenden, die auf Objektklassenattributen, Attributen verknüpfter Objekte oder auf Werten, die Sie mithilfe von Attributwerten berechnen, basieren.
Verwenden Sie die Ausdruckserstellung zum Erstellen von berechneten Eigenschaften, die für die dynamische Stilbearbeitung verwendet werden können. Die Fachschale bietet zwei Textfunktionen.
TB_SQL: Verwenden Sie diese Textfunktion, um Attribute aus einer verknüpften Objektklasse abzurufen. Diese Attribute können für die Stilbearbeitung verwendet werden. Der Befehl SQL muss mit den folgenden Regeln übereinstimmen:
Führen Sie zum Testen des Befehls SQL SELECT g.FID, (Befehl SQL) FROM <Name der Objektklasse> g aus. Verwenden Sie beispielsweise das SQL-Sheet zum Ausführen des Befehls.
Verwenden Sie diese Textfunktion, um eine berechnete Texteigenschaft zu erstellen, die eine benutzerdefinierte Variable für die thematische Stilisierung zur Verfügung stellt. Die Variablen werden in der Systemtabelle TB_VARIABLE gespeichert. Sie können für jede persönliche Anmeldung solche Variablen definieren.
Beispielsweise definieren Sie in TB_VARIABLE eine Variable BUILDING, deren Wert die FID darstellt. Verwenden Sie in der Darstellungsverwaltung die Variable zur Stilanpassung des Gebäudes. Geben Sie die FID des Gebäudes in TB_VARIABLE ein, um ein einziges Gebäude in der Karte hervorzuheben. Wenn Sie ein anderes Gebäude hervorheben möchten, ist das Ändern des Darstellungsmodells nicht nötig. Geben Sie einfach die neue FID in TB_VARIABLE ein.
Mit diesen Funktionen definieren Sie ein Thema für ein Anzeigeattribut, beispielsweise Linienfarbe oder -stärke. Diese Funktionen arbeiten mit mehreren Datentypen: Zeichenfolge, real, Ganzzahl, Boolesch, Farbe und Datum/Uhrzeit. Jeder Parameter kann eine Konstante oder ein Ausdruck sein, der eine Zeichenfolge oder einen numerischen Wert ergibt.
If
If('Condition', TrueValue, FalseValue)
Der Parameter ‘Condition’ ist eine Zeichenfolge, die einen beliebigen Ausdruck enthält und einen Booleschen Wert (im Wesentlichen ein Filter) ergibt. Dies kann ein einziger Vergleich sein, beispielsweise 'Einwohnerzahl > 1000', wobei ‘Einwohnerzahl’ eine Objekteigenschaft des Layers ist. ‘TrueValue’ und ‘FalseValue’ sind Ausdrücke, die überprüft und zurückgegeben werden, wenn die Bedingung wahr bzw. falsch ist. Beide Ausdrücke müssen denselben Datentyp (Zeichenfolge oder Zahl) ergeben.
Dieses Beispiel kann verwendet werden, um ein nach oben zeigendes Pfeilsymbol zu drehen, damit die steigende oder sinkende Einwohnerzahl angegeben wird: If('pop2005 > pop2000', 0.0, 180.0).
Lookup
Lookup(Expression, DefaultValue, Key1, Value1, … KeyN, ValueN)
Diese Funktion ruft eine Suchtabelle auf, in der jeder Schlüssel mit einem einzigen Wert verknüpft ist. ‘Expression’ ist ein Ausdruck, der einen Schlüssel (Zeichenfolge oder Zahl) ergibt. Der Schlüssel wird mit der verbliebenen Konstante ‘Key#’-Parameter verglichen, um die Konstante ‘Value#’-Parameter auszuwählen, die zurückgegeben werden soll. Wenn der angeforderte Schlüssel nicht gefunden werden kann, wird der ‘Standardwert (DefaultValue)’ zurückgegeben. Die Parameter ‘Expression’ und ‘Key’ müssen wie die Parameter ‘DefaultValue’ und ‘Value#’ denselben Datentyp besitzen. Die Anzahl der Paare Key-Value ist nicht festgelegt.
Dieses Beispiel kann verwendet werden, um Parzellen basierend auf ihrem Zonentyp Farben zuzuweisen:
Lookup(zoning, 0xff888888, 'Industrial', 0xffff0000, 'Commercial', 0xff00ff00, 'Residential', 0xff0000ff)
Range
Die Funktion für den Bereich vergleicht den Schlüssel ‘Expression' mit einer Reihe von Bereichen, wobei ein Schlüssel mit einem Bereich übereinstimmt, wenn MIN <= KEY < MAX:
Range(Expression, DefaultValue, Min1, Max1, Value1, … MinN, MaxN, ValueN)
Bereiche werden durch die Parameter ‘Min#’ und ‘Max#’ angegeben, wobei jeder Parameter mit einem ‘Value#’-Parameter verknüpft ist. Wenn der angeforderte Schlüssel mit keinem der zur Verfügung stehenden Bereiche übereinstimmt, wird der ‘DefaultValue’ zurückgegeben. Beim Überlappen von Bereichen wird der erste Bereich ausgewählt, der mit dem Schlüssel übereinstimmt. Die Parameter ‘Expression’ und ‘Min’ sowie ‘Max’ müssen wie die Parameter ‘DefaultValue’ und ‘Value#’ denselben Datentyp besitzen. Die Anzahl der Paare Range-Value ist nicht festgelegt.
Dieses Beispiel kann verwendet werden, um die Symbolgröße abhängig von der Stadtbevölkerung anzugeben:
Range(population, 4.0, 100000, 1000000, 6.0, 1000000, 10000000, 8.0)