È possibile utilizzare espressioni come valori per la maggior parte delle impostazioni di stile. Utilizzare Elaborazione espressioneper applicare stili alle entità geografiche tramite espressioni basate sugli attributi delle classi di entità geografiche e su attributi delle entità geografiche correlate oppure su qualsiasi valore calcolato utilizzando i valori degli attributi.
Elaborazione espressione consente di creare proprietà calcolate da utilizzare per l'applicazione di stili dinamica. Nel modello di settore sono disponibili due funzioni di testo.
TB_SQL: è possibile utilizzare questa funzione testo per eseguire query sugli attributi da una classe di entità geografiche correlata. Gli attributi possono essere utilizzati per l'applicazione di stili. Il comando SQL deve rispettare le regole seguenti:
Per verificare il comando SQL, eseguire SELECT g.FID, (comando SQL) FROM<nome classe di entità geografiche> g. Ad esempio, è possibile utilizzare SQL Sheet per eseguire il comando.
È possibile utilizzare la funzione testo per creare una proprietà testo calcolata che fornisca una variabile definita dall'utente per l'applicazione di stili tematica. Le variabili vengono memorizzate nella tabella di sistema TB_VARIABLE. È possibile definire questo tipo di variabili per ciascun login personale.
Ad esempio in TB_VARIABLE è possibile definire una variabile BUILDING il cui valore rappresenti l'IDE. In Gestione visualizzazioni, è possibile utilizzare la variabile per applicare lo stile all'edificio. Per evidenziare un solo edificio nella carta, è necessario immetterne l'IDE in TB_VARIABLE. Se si desidera evidenziare un altro edificio, non è necessario modificare il modello di visualizzazione, tuttavia è possibile immettere il nuovo IDE in TB_VARIABLE.
È possibile utilizzare queste funzioni per definire un tema per un attributo di visualizzazione, ad esempio colore o spessore delle linee. Possono essere utilizzate con diversi tipi di dati, ad esempio stringhe, numeri reali, numeri interi, dati booleani, colore e data/ora. Ciascun parametro può essere una costante o un'espressione che restituisce una stringa o un valore numerico.
If
If('Condition', TrueValue, FalseValue)
Il parametro 'Condition' è una stringa contenente qualsiasi espressione che restituisce un valore booleano (in pratica, un filtro). Potrebbe trattarsi di una sola operazione di confronto, ad esempio 'population > 1000', dove 'population' è una proprietà di entità geografica del layer. 'TrueValue' e 'FalseValue' sono espressioni che vengono valutate e restituite quando la condizione è, rispettivamente, vera o falsa. Entrambe le espressioni devono restituire lo stesso tipo di dati, ovvero stringhe o numeri.
Questo esempio potrebbe essere utilizzato per ruotare un simbolo freccia con la punta rivolta verso l'alto per indicare l'aumento o la diminuzione della popolazione: If('pop2005 > pop2000', 0.0, 180.0)
Lookup
Lookup(Expression, DefaultValue, Key1, Value1, … KeyN, ValueN)
Questa funzione consente di implementare una tabella di ricerca all'interno della quale ciascuna chiave è associata ad un singolo valore. 'Expression' è un'espressione che restituisce una chiave, che può essere una stringa o un numero. Questa chiave viene confrontata con i parametri 'Key#' della costante rimanente per selezionare il parametro 'Value#' della costante che deve essere restituito. Se la chiave richiesta non viene individuata, viene restituito il valore 'DefaultValue'. 'Expression' e tutti i parametri ‘Key’ devono contenere lo stesso tipo di dati così come 'DefaultValue' e tutti i parametri 'Value#'. Il numero di coppie chiave-valore non è fisso.
Questo esempio potrebbe essere utilizzato per assegnare colori alle particelle in base al tipo di suddivisione delle zone.
Lookup(zoning, 0xff888888, 'Industrial', 0xffff0000, 'Commercial', 0xff00ff00, 'Residential', 0xff0000ff)
Range
La funzione Range confronta la chiave 'Expression' con un set di intervalli, dove una chiave corrisponde ad un intervallo se MIN <= KEY < MAX:
Range(Expression, DefaultValue, Min1, Max1, Value1, … MinN, MaxN, ValueN)
Gli intervalli sono specificati dai parametri 'Min#' e 'Max#' e a ciascuno di essi è associato un parametro 'Value#'. Se la chiave richiesta non corrisponde a nessuno degli intervalli specificati, viene restituito il valore 'DefaultValue'. Se gli intervalli si sovrappongono, verrà selezionato il primo intervallo corrispondente alla chiave. 'Expression' e tutti i parametri 'Min' e 'Max' devono contenere lo stesso tipo di dati così come 'DefaultValue' e tutti i parametri 'Value#'. Il numero di coppie intervallo-valore non è fisso.
Il seguente esempio potrebbe essere utilizzato per specificare la dimensione del simbolo in base alla popolazione delle città:
Range(population, 4.0, 100000, 1000000, 6.0, 1000000, 10000000, 8.0)