É possível usar expressões como valores para quase todas as configurações de estilo. Use o Construtor de expressões para estilizar recursos, usando expressões com base em ambos os atributos de classe de recurso e em atributos de recursos relacionados, ou qualquer valor calculado usando valores de atributo.
Use o Construtor de expressões para criar propriedades calculadas que podem ser usadas para o estilo dinâmico. O modelo de indústria fornece duas funções de texto.
TB_SQL — Use esta função de texto para atributos de consulta de uma classe de recurso relacionada. Os atributos podem ser usados para o estilo. O comando SQL deve corresponder às seguintes regras:
Para testar o comando SQL, execute SELECT g.FID, (comando SQL) FROM <nome da classe de recurso/> g. Por exemplo, use folha de SQL para executar o comando.
Use esta função de texto para criar uma propriedade de texto calculada que fornece uma variável definida pelo usuário para estilização temática. As variáveis são armazenadas na tabela do sistema TB_VARIABLE. Para cada login pessoal, é possível definir essas variáveis.
Por exemplo, em TB_VARIABLE, você define uma variável BUILDING cujo valor representa o FID. No Gerenciador de exibição, você usa a variável para estilizar a construção. Para destacar um único edifício no mapa, é possível inserir o FID da construção em TB_VARIABLE. Se quiser destacar outra construção, não é necessário modificar o modelo de exibição, mas é possível inserir o novo FID em TB_VARIABLE.
Use essas funções para definir um tema para um atributo de exibição, por exemplo, a cor de linha ou espessura. Eles trabalham com vários tipos de dados: sequência de caracteres, real, inteiro, booleano, cor, e data e hora. Cada parâmetro pode ser uma constante ou uma expressão avaliada como uma sequência de caracteres ou valor numérico.
If
If('Condition', TrueValue, FalseValue)
O parâmetro 'Condição' é uma sequência de caracteres que contém qualquer expressão avaliada como um valor booleano (essencialmente, um filtro). Isso pode ser uma simples comparação, como ' população > 1000', na qual 'população' é uma propriedade característica da camada. ‘TrueValue’ e ‘FalseValue’ são expressões que são avaliadas e retornadas quando a condição for verdadeira ou falsa, respectivamente. As duas expressões devem avaliar o mesmo tipo de dados (sequência de caracteres ou número).
Este exemplo poderia ser usado para girar um símbolo de seta voltado para cima para indicar o aumento ou a diminuição de populações: If('pop2005 > pop2000', 0.0, 180.0)
Pesquisa
Lookup(Expression, DefaultValue, Key1, Value1, … KeyN, ValueN)
Essa função implementa uma tabela de pesquisa, na qual cada chave está associada a um único valor. ‘Expressão’ é uma expressão que avalia uma chave (sequência de caracteres ou número). Esta chave é comparada aos parâmetros '‘Key#’ de constantes restantes para selecionar o parâmetro ‘Value#’ constante que deve ser retornado. Se a chave solicitada não for encontrada, o 'DefaultValue' é retornado. Os parâmetros ‘Expressão’ e todos os parâmetros ‘Chave’ devem ter o mesmo tipo de dados, assim como ‘DefaultValue' e ‘Value#’. O número de pares de valor chave não é fixo.
Este exemplo pode ser usado para atribuir cores aos lotes com base no tipo de zoneamento:
Pesquisa (zoneamento, 0xff888888, 'Industrial', 0xffff0000, 'Comercial', 0xff00ff00, 'Residencial', 0xff0000ff)
Faixa
A função de intervalo compara a chave ‘Expressão’ para um conjunto de intervalos, onde uma chave corresponde a um intervalo se MIN < = KEY < MAX:
Intervalo (Expressão, DefaultValue, Min1, Max1, Value1,... MinN, MaxN, ValueN)
Os intervalos são especificados pelos parâmetros 'Min#' e 'Max#', e cada um tem um parâmetro ‘Value#’ associado. Se a chave solicitada não coincide com qualquer um dos intervalos fornecidos, o 'DefaultValue' é retornado. Se os intervalos se sobrepõem, o primeiro intervalo que corresponde a chave será selecionado. Os parâmetros ‘Expressão’ todos os ‘Min’ and ‘Max’ devem ter o mesmo tipo de dados, assim como o ‘DefaultValue’ ' e todos os parâmetros ‘Value#’. O número de conjuntos de valor do intervalo não é fixo.
Este exemplo pode ser usado para especificar o tamanho do símbolo dependendo das populações da cidade:
Intervalo (população, 4.0, 100000, 1000000, 6.0, 1000000, 10000000, 8.0)