Puede utilizar expresiones como valores para casi todos los parámetros de estilo. Puede usar el Constructor de expresiones para aplicar estilos a elementos mediante expresiones basadas en los atributos de las clases de elemento y en los atributos de los elementos relacionados, así como en cualquier valor que se calcule usando los valores de los atributos.
Use el Constructor de expresiones para crear propiedades calculadas que se pueden usar para la aplicación dinámica de estilos. El modelo de sector proporciona dos funciones de texto.
TB_SQL: use esta función de texto para consultar atributos de una clase de elemento relacionada. Los atributos se pueden usar en la aplicación de estilo. El comando SQL se debe ajustar a las siguientes reglas:
Para probar el comando SQL, ejecute SELECT g.FID, (comando SQL) FROM <nombre de clase de elemento> g. Por ejemplo, use SQL Sheet para ejecutar el comando.
Use esta función de texto para crear una propiedad de texto calculada que proporciona una variable definida por el usuario para la aplicación de estilo temática. Las variables se almacenan en la tabla de sistema TB_VARIABLE. Estas variables se pueden definir para cada inicio de sesión personal.
Por ejemplo, en TB_VARIABLE, se define una variable BUILDING cuyo valor representa el FID. En el Administrador de visualización, se usa la variable para definir el estilo del edificio. Para resaltar un edificio concreto en el mapa, especifique el FID del edificio en TB_VARIABLE. Si desea resaltar otro edificio, no tiene que modificar el modelo de visualización, basta con que introduzca el nuevo FID en TB_VARIABLE.
Estas funciones definen un tema para un atributo de visualización, como por ejemplo el color de línea o el grosor. Funcionan con diversos tipos de datos: cadenas, reales, enteros, valores booleanos, color, fecha y hora. Cada parámetro puede ser una constante o una expresión que genere una cadena o un valor numérico.
If
If('Condition', TrueValue, FalseValue)
El parámetro ‘Condition’ es una cadena que contiene cualquier expresión que genere un valor booleano (en esencia, un filtro). Normalmente, se trata de una comparación sencilla como 'población > 1000', donde ‘población’ es una propiedad de elemento de la capa. ‘TrueValue’ y ‘FalseValue’ son expresiones que se evalúan y se obtienen cuando la condición es verdadera o falsa, respectivamente. Las dos expresiones deben generar el mismo tipo de datos (una cadena o un número).
Este ejemplo se podría usar para girar un símbolo de flecha orientado hacia arriba con el fin de indicar poblaciones crecientes o decrecientes: If('pop2005 > pop2000', 0.0, 180.0)
Lookup
Lookup(Expression, DefaultValue, Key1, Value1, … KeyN, ValueN)
Esta función implementa una tabla de consulta en la que cada clave está asociada con un único valor. ‘Expression’ es una expresión que genera una clave (una cadena o un número). Esta clave se compara con los demás parámetros constantes ‘Keynº’ para seleccionar el parámetro constante ‘Valuenº’ que se debe devolver. Si la clave solicitada no se puede encontrar, se devuelve ‘DefaultValue’. ‘Expression’ y todos los parámetros ‘Key’ deben tener el mismo tipo de datos. Lo mismo ocurre con ‘DefaultValue’ y todos los parámetros ‘Valuenº’. El número de pares clave-valor no está fijado.
Este ejemplo se podría usar para asignar colores basados en el tipo de zona a las parcelas:
Lookup(zoning, 0xff888888, 'Industrial', 0xffff0000, 'Commercial', 0xff00ff00, 'Residential', 0xff0000ff)
Range
La función Range compara la clave ‘Expression’ con un conjunto de rangos, de manera que una clave coincide con un rango si MIN <= KEY < MAX:
Range(Expression, DefaultValue, Min1, Max1, Value1, … MinN, MaxN, ValueN)
Los rangos se especifican mediante los parámetros ‘Minnº’ y ‘Maxnº’, y cada uno tiene asociado un parámetro ‘Valuenº’. Si la clave solicitada no coincide con ninguno de los rangos proporcionados, se devuelve ‘DefaultValue’. Si los rangos se solapan, se seleccionará el primero que coincida con la clave. ‘Expression’ y todos los parámetros ‘Min’ y ‘Max’ deben tener el mismo tipo de datos. Lo mismo ocurre con ‘DefaultValue’ y todos los parámetros ‘Valuenº’. El número de conjuntos rango-valor no está fijado.
Este ejemplo se podría usar para especificar el tamaño de símbolo en función de las poblaciones de las ciudades:
Range(population, 4.0, 100000, 1000000, 6.0, 1000000, 10000000, 8.0)