12.2. Lista de funções
As funções, operadores e variáveis disponíveis no QGIS estão listadas abaixo, agrupadas por categorias.
12.2.1. Funções de Agregação
Este grupo contém funções que agregam valores em camadas e campos.
12.2.1.1. aggregate
Retorna um valor agregado calculado usando feições de outra camada.
Sintaxe |
aggregate(layer, aggregate, expression, [filter], [concatenator=’’], [order_by]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
12.2.1.2. array_agg
Retorna um array de valores agregados de um campo ou expressão.
Sintaxe |
array_agg(expression, [group_by], [filter], [order_by]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
12.2.1.3. collect
Retorna a geometria multipartes de geometrias agregadas de uma expressão
Sintaxe |
collect(expression, [group_by], [filter]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
12.2.1.4. concatenate
Retorna todas as strings agregadas de um campo ou expressão unidas por um delimitador.
Sintaxe |
concatenate(expression, [group_by], [filter], [concatenator], [group_by]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
12.2.1.5. concatenate_unique
Retorna todas as strings exclusivas de um campo ou expressão unidas por um delimitador.
Sintaxe |
concatenate_unique(expression, [group_by], [filter], [concatenator], [order_by]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
12.2.1.6. count
Retorna a contagem de feições correspondentes.
Sintaxe |
count(expression, [group_by], [filter]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
12.2.1.7. count_distinct
Retorna a contagem de valores distintos.
Sintaxe |
count_distinct(expression, [group_by], [filter]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
12.2.1.8. count_missing
Retorna a contagem de valores ausentes (NULL).
Sintaxe |
count_missing(expression, [group_by], [filter]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
12.2.1.9. iqr
Retorna o intervalo interquartil calculado de um campo ou expressão.
Sintaxe |
iqr(expression, [group_by], [filter]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
12.2.1.10. majority
Retorna a maioria agregada dos valores (o valor mais comum) de um campo ou expressão.
Sintaxe |
majority(expression, [group_by], [filter]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
12.2.1.11. max_length
Retorna o comprimento máximo de strings de um campo ou expressão.
Sintaxe |
max_length(expression, [group_by], [filter]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
12.2.1.12. maximum
Retorna o valor máximo agregado de um campo ou expressão.
Sintaxe |
maximum(expression, [group_by], [filter]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
12.2.1.13. mean
Retorna o valor médio agregado de um campo ou expressão.
Sintaxe |
mean(expression, [group_by], [filter]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
12.2.1.14. median
Retorna o valor médio agregado de um campo ou expressão.
Sintaxe |
median(expression, [group_by], [filter]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
12.2.1.15. min_length
Retorna o comprimento mínimo de strings de um campo ou expressão.
Sintaxe |
min_length(expression, [group_by], [filter]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
12.2.1.16. minimum
Retorna o valor mínimo agregado de um campo ou expressão.
Sintaxe |
minimum(expression, [group_by], [filter]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
12.2.1.17. minority
Retorna a minoria agregada de valores (valor de menor ocorrência) de um campo ou expressão.
Sintaxe |
minority(expression, [group_by], [filter]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
12.2.1.18. q1
Retorna o primeiro quartil calculado de um campo ou expressão.
Sintaxe |
q1(expression, [group_by], [filter]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
12.2.1.19. q3
Retorna o terceiro quartil calculado de um campo ou expressão.
Sintaxe |
q3(expression, [group_by], [filter]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
12.2.1.20. range
Retorna o intervalo agregado de valores (máximo - mínimo) de um campo ou expressão.
Sintaxe |
range(expression, [group_by], [filter]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
12.2.1.21. relation_aggregate
Retorna um valor agregado calculado usando todas as feições filhas que coincidirem com a relação da camada.
Sintaxe |
relation_aggregate(relation, aggregate, expression, [concatenator=’’], [order_by]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
Leitura adicional: Criando uma ou muitas para muitas relações
12.2.1.22. stdev
Retorna o valor agregado do desvio padrão de um campo ou expressão.
Sintaxe |
stdev(expression, [group_by], [filter]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
12.2.1.23. sum
Retorna o valor somado agregado de um campo ou expressão.
Sintaxe |
sum(expression, [group_by], [filter]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
12.2.2. Funções de Array
Este grupo contém funções para criar e manipular arrays (também conhecidas como estruturas de dados da lista). A ordem dos valores no array é importante, diferentemente da ‘map’ data structure, onde a ordem dos pares chave-valor é irrelevante e os valores são identificados por suas chaves.
12.2.2.1. array
Retorna um array contendo todos os valores passados como parâmetros.
Sintaxe |
matriz(valor1, valor2, …) |
Argumentos |
|
Exemplos |
|
12.2.2.2. array_all
Retorna verdadeiro se uma matriz contiver todos os valores de uma determinada matriz.
Sintaxe |
array_all(array_a, array_b) |
Argumentos |
|
Exemplos |
|
12.2.2.3. array_append
Retorna uma matriz com o valor fornecido adicionado no final.
Sintaxe |
array_append(array, value) |
Argumentos |
|
Exemplos |
|
12.2.2.4. array_cat
Retorna um array com todos os arrays informados concatenados.
Sintaxe |
array_cat(array1, array2, …) |
Argumentos |
|
Exemplos |
|
12.2.2.5. array_contains
Retorna verdadeiro se um array contiver o valor fornecido.
Sintaxe |
array_contains(array, value) |
Argumentos |
|
Exemplos |
|
12.2.2.6. array_count
Conta o número de ocorrências de um determinado valor em um array.
Sintaxe |
array_count(array, value) |
Argumentos |
|
Exemplos |
|
12.2.2.7. array_distinct
Retorna um array contendo valores distintos do array fornecido.
Sintaxe |
matriz_distinta(matriz) |
Argumentos |
|
Exemplos |
|
12.2.2.8. array_filter
Retorna um array com apenas os itens para os quais a expressão é avaliada como verdadeira.
Sintaxe |
filtro_matriz(matriz, expressão, [limite=0]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
12.2.2.9. array_find
Retorna o menor index (0 para o primeiro) do valor dentro de um array. Retorna -1 se o valor não for encontrado.
Sintaxe |
array_find(array, value) |
Argumentos |
|
Exemplos |
|
12.2.2.10. array_first
Retorna o primeiro valor de um array.
Sintaxe |
array_first(array) |
Argumentos |
|
Exemplos |
|
12.2.2.11. array_foreach
Retorna um array com a expressão aplicada em cada item.
Sintaxe |
array_foreach(array, expression) |
Argumentos |
|
Exemplos |
|
12.2.2.12. array_get
Retorna o enésimo (N) valor (0 para o primeiro) ou ultimo -enésimo valor (-1 para o último) de um array.
Sintaxe |
array_get(array, pos) |
Argumentos |
|
Exemplos |
|
Dica
Você pode usar também o operador de índice ([]) para pegar um valor de um array.
12.2.2.13. array_insert
Retorna um array com o valor fornecido adicionado na posição especificada.
Sintaxe |
array_insert(array, pos, value) |
Argumentos |
|
Exemplos |
|
12.2.2.14. array_intersect
Retorna verdadeiro se pelo menos um elemento do array1 existir em array2.
Sintaxe |
array_intersect(array1, array2) |
Argumentos |
|
Exemplos |
|
12.2.2.15. array_last
Retorna o último valor de um array.
Sintaxe |
array_last(array) |
Argumentos |
|
Exemplos |
|
12.2.2.16. array_length
Retorna o número de elementos de um array.
Sintaxe |
array_length(array) |
Argumentos |
|
Exemplos |
|
12.2.2.17. array_majority
Retorna os valores mais comuns em um array.
Sintaxe |
array_majority(array, [option=’all’]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
12.2.2.18. array_max
Retorna o valor máximo de um array.
Sintaxe |
array_max(array) |
Argumentos |
|
Exemplos |
|
12.2.2.19. array_mean
Retorna a média dos valores aritméticos de um array. Valores não numéricos no array são ignorados.
Sintaxe |
array_mean(array) |
Argumentos |
|
Exemplos |
|
12.2.2.20. array_median
Retorna a mediana dos valores aritméticos de um array. Valores não aritméticos no array são ignorados.
Sintaxe |
array_median(array) |
Argumentos |
|
Exemplos |
|
12.2.2.21. array_min
Retorna o valor mínimo de um array.
Sintaxe |
array_min(array) |
Argumentos |
|
Exemplos |
|
12.2.2.22. array_minority
Retorna os valores menos comuns de um array.
Sintaxe |
array_minority(array, [option=’all’]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
12.2.2.23. array_prepend
Retorna um array com o valor informado inserido no início.
Sintaxe |
array_prepend(array, value) |
Argumentos |
|
Exemplos |
|
12.2.2.24. array_prioritize
Retorna um array ordenado utilizando a ordenação especificada em outro array. Os valores que estiverem presentes no primeiro array mas faltam no segundo array serão inseridos no final do resultado.
Sintaxe |
array_prioritize(array, array_prioritize) |
Argumentos |
|
Exemplos |
|
12.2.2.25. array_remove_all
Retorna um array com todas as entradas do valor informado removidas.
Sintaxe |
array_remove_all(array, value) |
Argumentos |
|
Exemplos |
|
12.2.2.26. array_remove_at
Retorna um array com o index informado removido.
Sintaxe |
array_remove_at(array, pos) |
Argumentos |
|
Exemplos |
|
12.2.2.27. array_replace
Retorna um array com o valor fornecido, array, ou um map dos valores substituídos.
Value & variant do array
Retorna um array com o valor fornecido ou array dos valores substituídos por outro valor ou um array de valores
Sintaxe |
array_replace(array, before, after) |
Argumentos |
|
Exemplos |
|
Variação por mapeamento
Retorna um array com as chaves do map fornecido substituído pelo valores pareados.
Sintaxe |
array_replace(array, map) |
Argumentos |
|
Exemplos |
|
12.2.2.28. array_reverse
Retorna a matriz fornecida com valores da matriz na ordem inversa.
Sintaxe |
array_reverse(array) |
Argumentos |
|
Exemplos |
|
12.2.2.29. array_slice
Retorna uma parcela do array, O fatiamento é definido pelos argumentos start_pos e end_pos.
Sintaxe |
array_slice(array, start_pos, end_pos) |
Argumentos |
|
Exemplos |
|
12.2.2.30. array_sort
Retorna o array fornecido com os elementos ordenados.
Sintaxe |
array_sort(array, [ascending=true]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
12.2.2.31. array_sum
Retorna a soma dos valores aritméticos em uma array. Valores não numéricos na array são ignorados.
Sintaxe |
array_sum(array) |
Argumentos |
|
Exemplos |
|
12.2.2.32. array_to_string
Contatena os elementos do array em uma string separada pelo delimitador e utilizando uma string opcional para valores vazios.
Sintaxe |
array_to_string(array, [delimiter=’,’], [empty_value=’’]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
12.2.2.33. generate_series
Cria uma array contendo uma sequência de números.
Sintaxe |
generate_series(start, stop, [step=1]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
12.2.2.34. regexp_matches
Retorna um array de todas as strings capturadas pelos grupos de captura, na ordem em que os próprios grupos aparecem na expressão regular fornecida em relação a uma string.
Sintaxe |
regexp_matches(string, regex, [empty_value=’’]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
12.2.2.35. string_to_array
Divide a string em um array usando o delimitador fornecido e string opcional fornecida para valores vazios,
Sintaxe |
string_to_array(string, [delimiter=’,’], [empty_value=’’]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
12.2.3. Funções de Cor
Este grupo contém funções para manipulação de cores.
12.2.3.1. color_cmyk
Retorna uma representação em string de uma cor com base em seus componentes ciano, magenta, amarelo e preto
Sintaxe |
color_cmyk(cyan, magenta, yellow, black) |
Argumentos |
|
Exemplos |
|
12.2.3.2. color_cmyka
Retorna uma representação em string de uma cor com base em seus componentes ciano, magenta, amarelo, preto e alfa (transparência)
Sintaxe |
color_cmyka(cyan, magenta, yellow, black, alpha) |
Argumentos |
|
Exemplos |
|
12.2.3.3. color_grayscale_average
Aplica um filtro de escala cinza e retorna uma representação em string de uma cor fornecida.
Sintaxe |
color_grayscale_average(color) |
Argumentos |
|
Exemplos |
|
12.2.3.4. color_hsl
Retorna uma representação em string de uma cor com base em seus atributos de matiz, saturação e luminosidade.
Sintaxe |
color_hsl(hue, saturation, lightness) |
Argumentos |
|
Exemplos |
|
12.2.3.5. color_hsla
Retorna uma representação em string de uma cor com base em seus atributos de matiz, saturação, brilho e alfa (transparência)
Sintaxe |
color_hsla(hue, saturation, lightness, alpha) |
Argumentos |
|
Exemplos |
|
12.2.3.6. color_hsv
Retorna uma representação em string de uma cor baseada na sua matiz, saturação e valores dos atributos.
Sintaxe |
color_hsv(hue, saturation, value) |
Argumentos |
|
Exemplos |
|
12.2.3.7. color_hsva
Retorna uma representação em string de uma cor com base em seus atributos de matiz, saturação, valor e alfa (transparência).
Sintaxe |
color_hsva(hue, saturation, value, alpha) |
Argumentos |
|
Exemplos |
|
12.2.3.8. color_mix_rgb
Returns a string representing a color mixing the red, green, blue, and alpha values of two provided colors based on a given ratio.
Sintaxe |
color_mix_rgb(color1, color2, ratio) |
Argumentos |
|
Exemplos |
|
12.2.3.9. color_part
Retorna um componente específico de uma string de cores, por exemplo, o componente vermelho ou o componente alfa.
Sintaxe |
color_part(color, component) |
Argumentos |
|
Exemplos |
|
12.2.3.10. color_rgb
Retorna uma representação em string de uma cor baseada em seus componentes vermelho, verde e azul.
Sintaxe |
color_rgb(red, green, blue) |
Argumentos |
|
Exemplos |
|
12.2.3.11. color_rgba
Retorna uma representação em string de uma cor baseada em seus componentes vermelho, verde, azul e alpha (transparência).
Sintaxe |
color_rgba(red, green, blue, alpha) |
Argumentos |
|
Exemplos |
|
12.2.3.12. create_ramp
Retorna um rampa gradiente a partir de um mapa de cores e passos.
Sintaxe |
create_ramp(map, [discrete=false]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
12.2.3.13. darker
Retorna uma string de cor mais escura (ou mais clara)
Sintaxe |
darker(color, factor) |
Argumentos |
|
Exemplos |
|
Leitura adicional: lighter
12.2.3.14. lighter
Retorna uma string de cor mais clara (ou mais escura)
Sintaxe |
lighter(color, factor) |
Argumentos |
|
Exemplos |
|
Leitura adicional: darker
12.2.3.15. project_color
Retorna uma cor do esquema de cores do projeto.
Sintaxe |
project_color(name) |
Argumentos |
|
Exemplos |
|
Leitura adicional: configurando cores do projeto
12.2.3.16. ramp_color
Retorna uma representação em string de uma rampa de cores.
Variante de rampa salva
Retorna uma representação em string de uma cor a partir de uma rampa salva
Sintaxe |
ramp_color(ramp_name, value) |
Argumentos |
|
Exemplos |
|
Nota
As rampas de cores podem variar entre as instalações do QGIS. Esta função pode não retornar o resultado esperado se você mudar seu projeto QGIS entre instalações.
Variante de rampa criada por expressão
Retorna uma representação em string de uma cor a partir de uma rampa criada por expressão
Sintaxe |
ramp_color(ramp, value) |
Argumentos |
|
Exemplos |
|
Leitura adicional: Setting a Color Ramp, The color ramp drop-down shortcut
12.2.3.17. set_color_part
Define um componente de cor específico para uma sttring cores, por exemplo, o componente vermelho ou o componente alfa.
Sintaxe |
set_color_part(color, component, value) |
Argumentos |
|
Exemplos |
|
12.2.4. Funções Condicionais
Este grupo contém funções para lidar com verificações condicionais em expressões.
12.2.4.1. CASE
CASE é utilizado para verificar uma série de condições e retornar o resultado para a primeira condição que atender. As condições são verificadas sequencialmente, e se uma condição for verdadeira, a verificação para, e o valor correspondente é retornado, Se nenhuma condição for verdadeira, o valor na cláusula ELSE é retornada. No entanto, se nenhuma cláusula ELSE for declarada e nenhuma das condições forem atendidas, NULL é retornado.
CASE
WHEN condição THEN resultado
[ …n ]
[ ELSE resultado ]
END
[] indica componentes opcionais
Argumentos |
|
Exemplos |
|
12.2.4.2. coalesce
Retorna o primeiro valor não NULO da lista de expressões.
Esta função pode receber qualquer número de argumentos.
Sintaxe |
coalesce(expression1, expression2, …) |
Argumentos |
|
Exemplos |
|
12.2.4.3. if
Testa uma condição e retorna um resultado diferente dependendo da verificação condicional.
Sintaxe |
if(condition, result_when_true, result_when_false) |
Argumentos |
|
Exemplos |
|
12.2.4.4. nullif
Retorna um valor NULL se value1 for igual ao value2; caso contrário irá retornar value1. Isso pode ser usado para substituir valores condicionalmente por NULL.
Sintaxe |
nullif(value1, value2) |
Argumentos |
|
Exemplos |
|
12.2.4.5. regexp_match
Retorna a primeira posição que corresponda com a expressão regular em uma string unicode, ou 0 se a sub string não for encontrada.
Sintaxe |
regexp_match(input_string, regex) |
Argumentos |
|
Exemplos |
|
12.2.4.6. try
Testa uma expressão e retorna seu valor se não tiver erros. Se a expressão retornar algum erro, um valor alternativo será retornado quando fornecido, caso contrário a função retornará NULL.
Sintaxe |
try(expression, [alternative]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
12.2.5. Funções de Conversão
Este grupo contém funções para conversão de um tipo de dado em outro (ex.: string de/para inteiro, binário de/para string, string para data, …).
12.2.5.1. from_base64
Decodifica uma string codificada em Base64 em um valor binário.
Sintaxe |
from_base64(string) |
Argumentos |
|
Exemplos |
|
12.2.5.2. hash
Cria uma hash de uma string fornecida com um determinado método. Um byte (8 bits) é representado por dois “dígitos” hexadecimais, então ‘md4’ (16 bytes) gera uma string hexadecimal de 16 * 2 = 32 caracteres de extensão e ‘keccak_512’ (64 bytes) gera uma string hexadecimal de 64 * 2 = 128 caracteres de extensão.
Sintaxe |
hash(string, method) |
Argumentos |
|
Exemplos |
|
12.2.5.3. md5
Cria uma hash md5 de uma string.
Sintaxe |
md5(string) |
Argumentos |
|
Exemplos |
|
12.2.5.4. sha256
Cria uma hash sha256 de uma string.
Sintaxe |
sha256(string) |
Argumentos |
|
Exemplos |
|
12.2.5.5. to_base64
Codifica um valor binário em uma string, usando a codificação Base64.
Sintaxe |
to_base64(value) |
Argumentos |
|
Exemplos |
|
12.2.5.6. to_date
Converte uma string em um objeto de data. Uma string de formatação pode ser fornecida para analisar a string; veja QDate::fromString ou a documentação da função format_date para documentação adicional da fomatação. Por padrão o locale atual do usuário do QGIS será utilizado.
Sintaxe |
to_date(string, [format], [language]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
12.2.5.7. to_datetime
Converte uma string em um objeto datetime. Uma string opcional pode ser fornecido para avaliar a string; veja QDate::fromString, QTime::fromString ou a documentação da função format_date para documentação adicional do formato. Por padrão a localização atual do usuário do QGIS é utilizada.
Sintaxe |
to_datetime(string, [format], [language]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
12.2.5.8. to_decimal
Converte uma coordenada de grau, minuto e segundo em seu equivalente decimal.
Sintaxe |
to_decimal(value) |
Argumentos |
|
Exemplos |
|
12.2.5.9. to_dm
Converte uma coordenada em grau, minuto.
Sintaxe |
to_dm(coordinate, axis, precision, [formatting=]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
12.2.5.10. to_dms
Converte uma coordenada para grau, minuto, segundo.
Sintaxe |
to_dms(coordinate, axis, precision, [formatting=]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
12.2.5.11. to_int
Converte uma string para um número inteiro. Nada será retornado se o valor não puder ser convertido para inteiro (ex. ‘123asd’ é inválido).
Sintaxe |
to_int(string) |
Argumentos |
|
Exemplos |
|
12.2.5.12. to_interval
Converte uma string para o tipo intervalo. Pode ser utilizado dias, horas, mês, etc de uma data.
Sintaxe |
to_interval(string) |
Argumentos |
|
Exemplos |
|
12.2.5.13. to_real
Converte uma string para um número real. Nada é retornado se um valor não puder ser convertido para real (ex.: ‘123.56asd’ é inválido). Os números são arredondados após salvar as alterações se a precisão for menor que o resultado da conversão.
Sintaxe |
to_real(string) |
Argumentos |
|
Exemplos |
|
12.2.5.14. to_string
Converte um número em string.
Sintaxe |
to_string(number) |
Argumentos |
|
Exemplos |
|
12.2.5.15. to_time
Converte uma string em um objeto time. Uma string de formato opcional pode ser fornecida para analisar a string; veja QTime::fromString para documentação adicional sobre o formato.
Sintaxe |
to_time(string, [format], [language]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
12.2.6. Funções Personalizadas
Este grupo contém funções criadas pelo usuário. Veja Editor de Funções para mais detalhes.
12.2.7. Funções de Data e Hora
Este grupo contém funções para manipulação de data e hora. este grupo compartilha várias funções com os grupos Funções de Conversão (to_date, to_time, to_datetime, to_interval) e Funções de String (format_date).
Nota
Armazenando data, datetime e intervalos em campos
A habilidade para armazenar valores data, hora and datetime depende diretamente do provedor da fonte (ex., Shapefile aceita o formato date, mas não datetime ou formato time). A seguir estão algumas sugestões para superar essa limitação:
date, datetime and time podem ser convertidos e armazenados em campos do tipo texto usando a função format_date() .
Intervals podem ser armazenados em campos do tipo inteiro ou decimal após a utilização de uma das funções de extração de data (ex., day() para pegar o intervalo em dias)
12.2.7.1. age
Retorna a diferença entre duas datas ou datetimes.
A diferença é retornada como um Interval
e precisa ser usada com uma das seguintes funções para extrair informações úteis:
year
month
week
day
hour
minute
second
Sintaxe |
age(datetime1, datetime2) |
Argumentos |
|
Exemplos |
|
12.2.7.2. datetime_from_epoch
Retorna um datetime cujo a data e hora são o número de milisegundos, mseg, que se passaram desde 1970-01-01T00:00:00.000, Coordinated Universal Time (Qt.UTC), e convertido para Qt.LocalTime.
Sintaxe |
datetime_from_epoch(int) |
Argumentos |
|
Exemplos |
|
12.2.7.3. day
Extrai o dia de uma data ou o número de dias de um intervalo.
Variante Data
Extrai o dia de um date ou datetime.
Sintaxe |
day(date) |
Argumentos |
|
Exemplos |
|
Variante Intervalo
Calcula a duração em dias de um intervalo.
Sintaxe |
day(interval) |
Argumentos |
|
Exemplos |
|
12.2.7.4. day_of_week
Retorna o dia da semana para um date ou datetime específico. O valor retornado varia de 0 até 6, onde 0 corresponde a Domingo e 6 Sábado.
Sintaxe |
day_of_week(date) |
Argumentos |
|
Exemplos |
|
12.2.7.5. epoch
Retorna o intervalo em milisegundos entre a epoc unix e um valor de data fornecida.
Sintaxe |
epoch(date) |
Argumentos |
|
Exemplos |
|
12.2.7.6. format_date
Fomata o tipo date ou string em uma string formadata customizada. Usa o formato de string do Qt date/time . Veja QDateTime::toString.
Sintaxe |
format_date(datetime, format, [language]) [] indica argumentos opcionais |
||||||||||||||||||||||||||||||||||||||||||||||||
Argumentos |
|
||||||||||||||||||||||||||||||||||||||||||||||||
Exemplos |
|
12.2.7.7. hour
Extrai a parte das horas de uma daterime ou hora, ou o número de horas de um intervalo.
Variação de tempo
Extrai a parte das horas de uma daterime ou hora.
Sintaxe |
hour(datetime) |
Argumentos |
|
Exemplos |
|
Variante Intervalo
Calcula a duração em horas de um intervalo.
Sintaxe |
hour(interval) |
Argumentos |
|
Exemplos |
|
12.2.7.8. make_date
Cria um valor de data a partir de números de ano, mês e dia.
Sintaxe |
make_date(year, month, day) |
Argumentos |
|
Exemplos |
|
12.2.7.9. make_datetime
Cria um valor de data e hora a partir de números de ano, mês, dia, hora, minuto e segundo.
Sintaxe |
make_datetime(year, month, day, hour, minute, second) |
Argumentos |
|
Exemplos |
|
12.2.7.10. make_interval
Cria um intervalo de valores para os valores de ano, mês, semanas, dias, horas, minutos e segundos.
Sintaxe |
make_interval([years=0], [months=0], [weeks=0], [days=0], [hours=0], [minutes=0], [seconds=0]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
12.2.7.11. make_time
Cria um valor de tempo a partir de números de hora, minuto e segundo.
Sintaxe |
make_time(hour, minute, second) |
Argumentos |
|
Exemplos |
|
12.2.7.12. minute
Extrai a parte de minutos de um datetime ou hora, ou o número de minutos de um intevalor.
Variação de tempo
Extrai a parte dos minutos de uma hora ou datetime.
Sintaxe |
minute(datetime) |
Argumentos |
|
Exemplos |
|
Variante Intervalo
Calcula a extensão em minutos de um intervalo.
Sintaxe |
minute(interval) |
Argumentos |
|
Exemplos |
|
12.2.7.13. month
Extrai a parte do mês de uma data ou o número de meses de um intervalo.
Variante Data
Extrai a parte de mês de uma data ou datetime.
Sintaxe |
month(date) |
Argumentos |
|
Exemplos |
|
Variante Intervalo
Calcula a duração em meses de um intervalo.
Sintaxe |
month(interval) |
Argumentos |
|
Exemplos |
|
12.2.7.14. now
Retorna a data e hora atuais. A função é estática e retornará resultados consistentes durante a avaliação. A hora retornada é a hora em que a expressão é preparada.
Sintaxe |
now() |
Exemplos |
|
12.2.7.15. second
Extrai a parte dos segundos de um datetime ou hora, ou o número de segundos de um intervalo.
Variação de tempo
Extrai a parte do segundos de uma hora ou datetime.
Sintaxe |
second(datetime) |
Argumentos |
|
Exemplos |
|
Variante Intervalo
Calcula a duração em segundos de um intervalo.
Sintaxe |
second(interval) |
Argumentos |
|
Exemplos |
|
12.2.7.16. to_date
Converte uma string em um objeto de data. Uma string de formatação pode ser fornecida para analisar a string; veja QDate::fromString ou a documentação da função format_date para documentação adicional da fomatação. Por padrão o locale atual do usuário do QGIS será utilizado.
Sintaxe |
to_date(string, [format], [language]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
12.2.7.17. to_datetime
Converte uma string em um objeto datetime. Uma string opcional pode ser fornecido para avaliar a string; veja QDate::fromString, QTime::fromString ou a documentação da função format_date para documentação adicional do formato. Por padrão a localização atual do usuário do QGIS é utilizada.
Sintaxe |
to_datetime(string, [format], [language]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
12.2.7.18. to_interval
Converte uma string para o tipo intervalo. Pode ser utilizado dias, horas, mês, etc de uma data.
Sintaxe |
to_interval(string) |
Argumentos |
|
Exemplos |
|
12.2.7.19. to_time
Converte uma string em um objeto time. Uma string de formato opcional pode ser fornecida para analisar a string; veja QTime::fromString para documentação adicional sobre o formato.
Sintaxe |
to_time(string, [format], [language]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
12.2.7.20. week
Extrai o número da semana de uma data ou o número de semanas de um intervalo.
Variante Data
Extrai o número da semana de uma data ou datetime.
Sintaxe |
week(date) |
Argumentos |
|
Exemplos |
|
Variante Intervalo
Calcula a duração em semanas de um intervalo.
Sintaxe |
week(interval) |
Argumentos |
|
Exemplos |
|
12.2.7.21. year
Extrai a parte do ano de uma data ou o número de anos de um intervalo.
Variante Data
Extrai a parte do ano de uma data ou de um datetime.
Sintaxe |
year(date) |
Argumentos |
|
Exemplos |
|
Variante Intervalo
Calcula a duração em anos de um intervalo.
Sintaxe |
year(interval) |
Argumentos |
|
Exemplos |
|
Alguns exemplos:
Além dessas funções, subtrair datas, datas ou horas usando o operador -
(menos) retornará um intervalo.
Adicionar ou subtrair um intervalo a datas, data/hora ou horas, usando os operadores +
(mais) e -
(menos), retornará uma data/hora.
Obtenha o número de dias até o lançamento do QGIS 3.0:
to_date('2017-09-29') - to_date(now()) -- Returns <interval: 203 days>
O mesmo com o tempo:
to_datetime('2017-09-29 12:00:00') - now() -- Returns <interval: 202.49 days>
Obtenha a data/hora de 100 dias a partir de agora:
now() + to_interval('100 days') -- Returns <datetime: 2017-06-18 01:00:00>
12.2.8. Campos e Valores
Contém uma lista de campos da camada e valores especiais.
Clique duas vezes no nome de um campo para adicioná-lo à sua expressão. Você também pode digitar o nome do campo (de preferência entre aspas duplas) ou seu alias.
Para recuperar os valores dos campos a serem usados em uma expressão, selecione o campo apropriado e, no widget mostrado, escolha entre 10 Amostras e Todos os Únicos. Os valores solicitados são exibidos e você pode usar a caixa Pesquisar na parte superior da lista para filtrar o resultado. Valores de amostra também podem ser acessados clicando com o botão direito do mouse em um campo.
Para adicionar um valor à expressão que você está escrevendo, clique duas vezes nela na lista. Se o valor for de um tipo de string, deve ser simples entre aspas, caso contrário, nenhuma citação será necessária.
12.2.8.1. NULL
Equivale a um valor NULO.
Sintaxe |
NULL |
Exemplos |
|
Nota
Para testar NULO, use uma expressão IS NULL ou IS NOT NULL.
12.2.9. Funções de Arquivos e Caminhos
Este grupo contém funções que manipulam nomes de arquivos e caminhos.
12.2.9.1. base_file_name
Retorna o nome base do arquivo sem o diretório ou sufixo do arquivo.
Sintaxe |
base_file_name(path) |
Argumentos |
|
Exemplos |
|
12.2.9.2. exif
Recupera valores de tag exif de um arquivo de imagem.
Sintaxe |
exif(path, [tag]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
12.2.9.3. file_exists
Retorna verdadeiro se existir um caminho de arquivo.
Sintaxe |
file_exists(path) |
Argumentos |
|
Exemplos |
|
12.2.9.4. file_name
Retorna o nome de um arquivo (incluindo a extensão do arquivo), excluindo o diretório.
Sintaxe |
file_name(path) |
Argumentos |
|
Exemplos |
|
12.2.9.5. file_path
Retorna o componente de diretório de um caminho de arquivo. Isso não inclui o nome do arquivo.
Sintaxe |
file_path(path) |
Argumentos |
|
Exemplos |
|
12.2.9.6. file_size
Retorna o tamanho (em bytes) de um arquivo.
Sintaxe |
file_size(path) |
Argumentos |
|
Exemplos |
|
12.2.9.7. file_suffix
Retorna o sufixo de um arquivo (extensão) de um caminho de arquivo.
Sintaxe |
file_suffix(path) |
Argumentos |
|
Exemplos |
|
12.2.9.8. is_directory
Retorna verdadeiro se um caminho corresponder a um diretório.
Sintaxe |
is_directory(path) |
Argumentos |
|
Exemplos |
|
12.2.9.9. is_file
Retorna verdadeiro se um caminho corresponder a um arquivo.
Sintaxe |
is_file(path) |
Argumentos |
|
Exemplos |
|
12.2.10. Funções de Formulário
Este grupo contém funções que operam exclusivamente sobre os atributos de um contexto. Por exemplo, na configuração dos widgets de campos.
12.2.10.1. current_parent_value
Utilizável apenas em um contexto de formulário incorporado, esta função retorna o valor atual e não salvo de um campo no formulário pai que está sendo editado no momento. Isso será diferente dos valores de atributo reais da feição pai para feições que estão sendo editadas no momento ou que ainda não foram adicionadas a uma camada pai. Quando usada em um widget de filtro por expressão de relação de valor, essa função deve ser agrupada em um ‘coalesce()’ que pode recuperar o recurso pai real da camada quando o formulário não é usado em um contexto incorporado.
Sintaxe |
current_parent_value(field_name) |
Argumentos |
|
Exemplos |
|
12.2.10.2. current_value
Retorna o valor atual não salvo de um campo no formulário ou linha da tabela que está sendo editada no momento. Isso será diferente dos valores de atributo reais da feição para feições que estão sendo editadas no momento ou que ainda não foram adicionadas a uma camada.
Sintaxe |
current_value(field_name) |
Argumentos |
|
Exemplos |
|
12.2.11. Funções de Combinação Fuzzy
Este grupo contém funções para comaparações fuzzy entre valores.
12.2.11.1. hamming_distance
Retorna a distância de Hamming entre duas strings. Isso equivale ao número de caracteres em posições correspondentes nas strings de entrada onde os caracteres são diferentes. As cadeias de caracteres de entrada devem ter o mesmo comprimento e a comparação diferencia maiúsculas de minúsculas.
Sintaxe |
hamming_distance(string1, string2) |
Argumentos |
|
Exemplos |
|
12.2.11.2. levenshtein
Retorna a distância de edição Levenshtein entre duas cadeias. Isso equivale ao número mínimo de edições de caracteres (inserções, exclusões ou substituições) necessárias para alterar uma cadeia para outra.
A distância Levenshtein é uma medida da semelhança entre duas astrings. Distâncias menores significam que as string são mais semelhantes, e distâncias maiores indicam mais strings diferentes. A distância diferencia maiúsculas de minúsculas.
Sintaxe |
levenshtein(cadeia1, cadeia2) |
Argumentos |
|
Exemplos |
|
12.2.11.3. longest_common_substring
Retorna a sub string comum mais longa entre duas strings. Essa sub string é a cadeia mais longa que é uma sub string das duas strings de entrada. Por exemplo, a sub string comum mais longa de “ABABC” e “BABCA” é “BABC”. A substring faz distinção entre maiúsculas e minúsculas.
Sintaxe |
longest_common_substring(string1, string2) |
Argumentos |
|
Exemplos |
|
12.2.11.4. soundex
Retorna a representação Soundex de uma string. Soundex é um algoritmo de correspondência fonética, portanto, strings com sons semelhantes devem ser representadas pelo mesmo código Soundex.
Sintaxe |
soundex(string) |
Argumentos |
|
Exemplos |
|
12.2.12. Funções Gerais
Este grupo contém funções gerais variadas.
12.2.12.1. env
Obtém uma variável de ambiente e retorna seu conteúdo como uma string. Se a variável não for encontrada, NULL será retornado. Isso é útil para injetar configurações específicas do sistema, como letras de unidade ou prefixos de caminho. A definição de variáveis de ambiente depende do sistema operacional, verifique com o administrador do sistema ou a documentação do sistema operacional como isso pode ser definido.
Sintaxe |
env(name) |
Argumentos |
|
Exemplos |
|
12.2.12.2. eval
Avalia uma expressão que é passada em uma string. Útil para expandir parâmetros dinâmicos passados como campos ou variáveis de contexto.
Sintaxe |
eval(expression) |
Argumentos |
|
Exemplos |
|
12.2.12.3. eval_template
Avalia um modelo que é passado em uma string. Útil para expandir parâmetros dinâmicos passados como variáveis de contexto ou campos.
Sintaxe |
eval_template(template) |
Argumentos |
|
Exemplos |
|
12.2.12.4. is_layer_visible
Retorna verdadeiro se uma camada especificada estiver visível.
Sintaxe |
is_layer_visible(layer) |
Argumentos |
|
Exemplos |
|
12.2.12.5. mime_type
Retorna o mime type dos dados binários.
Sintaxe |
mime_type(bytes) |
Argumentos |
|
Exemplos |
|
12.2.12.6. var
Retorna o valor armazenado em uma variável especificada.
Sintaxe |
var(nome) |
Argumentos |
|
Exemplos |
|
Leitura adicional: Lista de variáveis padrão
12.2.12.7. with_variable
Esta função define uma variável para qualquer código de expressão que será fornecido como 3º argumento. Isso só é útil para expressões complicadas, onde o mesmo valor calculado precisa ser usado em lugares diferentes.
Sintaxe |
with_variable(name, value, expression) |
Argumentos |
|
Exemplos |
|
12.2.13. Funções de Geometria
Este grupo contém funções que operam em objetos de geometria (por exemplo, buffer, transform, $area).
12.2.13.1. affine_transform
Retorna a geometria após uma transformação afim. Os cálculos estão no Sistema de Referência Espacial desta geometria. As operações são realizadas em escala, rotação, ordem de translação. Se houver um deslocamento Z ou M, mas a coordenada não estiver presente na geometria, ela será adicionada.
Sintaxe |
affine_transform(geometry, delta_x, delta_y, rotation_z, scale_x, scale_y, [delta_z=0], [delta_m=0], [scale_z=1], [scale_m=1]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
12.2.13.2. angle_at_vertex
Retorna o ângulo da bissetriz (ângulo médio) para a geometria de um vértice especificado em uma geometria de linha. Os ângulos estão em graus no sentido horário a partir do norte.
Sintaxe |
angle_at_vertex(geometry, vertex) |
Argumentos |
|
Exemplos |
|
12.2.13.3. $area
Retorna a área do recurso atual. A área calculada por esta função respeita tanto a configuração do elipsóide do projeto atual quanto as configurações da unidade de área. Por exemplo, se um elipsóide foi definido para o projeto, a área calculada será elipsoidal, e se nenhum elipsóide for definido, a área calculada será planimétrica.
Sintaxe |
$area |
Exemplos |
|
12.2.13.4. area
Retorna a área de um objeto de geometria polígono. Os cálculos são sempre planimétricos no Sistema de Referência Espacial (SRS) dessa geometria, e as unidades da área retornada corresponderão às unidades do SRS. Isso difere dos cálculos realizados pela função $area, que realizará cálculos elipsoidais com base nas configurações de elipsóide e unidade de área do projeto.
Sintaxe |
area(geometry) |
Argumentos |
|
Exemplos |
|
12.2.13.5. azimuth
Retorna o azimute baseado no norte como o ângulo em radianos medido no sentido horário da vertical em point_a a point_b.
Sintaxe |
azimuth(point_a, point_b) |
Argumentos |
|
Exemplos |
|
12.2.13.6. boundary
Retorna o fechamento do limite combinatório da geometria (ou seja, o limite topológico da geometria). Por exemplo, uma geometria de polígono terá um limite que consiste nas cadeias de linhas para cada anel no polígono. Alguns tipos de geometria não têm um limite definido, por exemplo, pontos ou coleções de geometria, e retornarão NULO.
Sintaxe |
boundary(geometry) |
Argumentos |
|
Exemplos |
|
Leitura adicional: algoritmo Limite
12.2.13.7. bounds
Retorna uma geometria que representa a caixa delimitadora de uma geometria de entrada. Os cálculos estão no Sistema de Referência Espacial desta geometria.
Sintaxe |
bounds(geometry) |
Argumentos |
|
Exemplos |
|
Leitura adicional: Caixas delimitadoras. algorithm
12.2.13.8. bounds_height
Retorna a altura do rentângulo envolvente de uma geometria. O cálculos são no Sistema de Referencia Espacial da geometria.
Sintaxe |
bounds_height(geometry) |
Argumentos |
|
Exemplos |
|
12.2.13.9. bounds_width
Retorna a largura do retângulo envolvente de uma geometria. Os cálculos estão no Sistema de Referência Espacial desta geometria.
Sintaxe |
bounds_width(geometry) |
Argumentos |
|
Exemplos |
|
12.2.13.10. buffer
Retorna uma geometria que representa todos os pontos cuja distância dessa geometria é menor ou igual à distância. Os cálculos estão no Sistema de Referência Espacial desta geometria.
Sintaxe |
buffer(geometry, distance, [segments=8], [cap=’round’], [join=’round’], [miter_limit=2]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
Leitura adicional: Buffer algorithm
12.2.13.11. buffer_by_m
Cria um buffer ao longo de uma geometria de linha onde o diâmetro do buffer varia de acordo com os valores m nos vértices da linha.
Sintaxe |
buffer_by_m(geometry, [segments=8]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
Leitura adicional: Buffer de largura variável (por valor M) algorithm
12.2.13.12. centroid
Retorna o centro geométrico de uma geometria.
Sintaxe |
centroid(geometry) |
Argumentos |
|
Exemplos |
|
Leitura adicional: Centroides algorithm
12.2.13.13. close_line
Retorna uma linha fechada da linha de entrada anexando o primeiro ponto ao final da linha, se ainda não estiver fechada. Se a geometria não for uma sequência de linhas ou sequência de várias linhas, o resultado será NULL.
Sintaxe |
close_line(geometry) |
Argumentos |
|
Exemplos |
|
12.2.13.14. closest_point
Retorna o ponto em geometria1 que está mais próximo de geometria2.
Sintaxe |
closest_point(geometry1, geometry2) |
Argumentos |
|
Exemplos |
|
12.2.13.15. collect_geometries
Coleta uma série de geometrias em um objeto de geometria multi parte.
Lista de variantes de argumentos
As partes geométricas são especificadas como argumentos separados para a função.
Sintaxe |
collect_geometries(geometry1, geometry2, …) |
Argumentos |
|
Exemplos |
|
Variante array
As partes de geometria são especificadas como um array de partes de geometria.
Sintaxe |
collect_geometries(array) |
Argumentos |
|
Exemplos |
|
Leitura adicional: Coletar geometrias algorithm
12.2.13.16. combine
Retorna a combinação de duas geometrias.
Sintaxe |
combine(geometria1, geometria2) |
Argumentos |
|
Exemplos |
|
12.2.13.17. contains
Testa se uma geometria contém outra. Retorna true se e somente se nenhum ponto de geometry2 estiver no exterior de geometry1 e pelo menos um ponto do interior de geometry2 estiver no interior de geometry1.
Sintaxe |
contains(geometry1, geometry2) |
Argumentos |
|
Exemplos |
|
Leitura adicional: overlay_contains
12.2.13.18. convex_hull
Retorna o convex hull de uma geometria. Ele representa a geometria convexa mínima que encerra todas as geometrias dentro do conjunto.
Sintaxe |
convex_hull(geometry) |
Argumentos |
|
Exemplos |
|
Leitura adicional: Casco convexo. algorithm
12.2.13.19. crosses
Testa se uma geometria cruza outra. Retorna verdadeiro se as geometrias fornecidas tiverem alguns, mas não todos, pontos internos em comum.
Sintaxe |
crosses(geometry1, geometry2) |
Argumentos |
|
Exemplos |
|
Leitura adicional: overlay_crosses
12.2.13.20. difference
Retorna uma geometria que representa a parte da geometria1 que não faz interseção com geometria2.
Sintaxe |
difference(geometry1, geometry2) |
Argumentos |
|
Exemplos |
|
Leitura adicional: Diferença algorithm
12.2.13.21. disjoint
Testa se as geometrias não se cruzam espacialmente. Retorna verdadeiro se as geometrias não compartilharem nenhum espaço.
Sintaxe |
disjoint(geometry1, geometry2) |
Argumentos |
|
Exemplos |
|
Leitura adicional: overlay_disjoint
12.2.13.22. distance
Retorna a distância mínima (com base na referência espacial) entre duas geometrias em unidades projetadas.
Sintaxe |
distance(geometry1, geometry2) |
Argumentos |
|
Exemplos |
|
12.2.13.23. distance_to_vertex
Retorna a distância ao longo da geometria para um vértice especificado.
Sintaxe |
distance_to_vertex(geometry, vertex) |
Argumentos |
|
Exemplos |
|
12.2.13.24. end_point
Retorna o último nó de uma geometria.
Sintaxe |
end_point(geometry) |
Argumentos |
|
Exemplos |
|
Leitura adicional: Extrair vértices específicos algorithm
12.2.13.25. exif_geotag
Cria uma geometria de pontos a partir da geotag do exif de um arquivo de imagem.
Sintaxe |
exif_geotag(path) |
Argumentos |
|
Exemplos |
|
12.2.13.26. extend
Estende o início e o fim de uma geometria de linha em um valor especificado. As linhas são estendidas usando o rumo do primeiro e do último segmento da linha. Para uma multi linha, todas as partes são estendidas. As distâncias estão no Sistema de Referência Espacial desta geometria.
Sintaxe |
extend(geometry, start_distance, end_distance) |
Argumentos |
|
Exemplos |
|
Leitura adicional: Linhas estendidas. algorithm
12.2.13.27. exterior_ring
Retorna uma linha representando o anél exterior de uma geometria do tipo polígono. Se a geometria não for um polígono o resultado será NULL.
Sintaxe |
exterior_ring(geometry) |
Argumentos |
|
Exemplos |
|
12.2.13.28. extrude
Retorna uma versão extrudada da geometria de entrada (Multi-)Curve ou (Multi-)Linha com uma extensão especificada por x e y.
Sintaxe |
extrude(geometry, x, y) |
Argumentos |
|
Exemplos |
|
12.2.13.29. flip_coordinates
Retorna uma cópia da geometria com as coordenadas x e y trocadas. Útil para reparar geometrias que tiveram seus valores de latitude e longitude invertidos.
Sintaxe |
flip_coordinates(geometry) |
Argumentos |
|
Exemplos |
|
Leitura adicional: Trocar as coordenadas X e Y algorithm
12.2.13.30. force_rhr
Força uma geometria a respeitar a Regra da Mão Direita, na qual a área limitada por um polígono está à direita do limite. Em particular, o anel externo é orientado no sentido horário e os anéis internos no sentido anti-horário.
Sintaxe |
force_rhr(geometry) |
Argumentos |
|
Exemplos |
|
Leitura adicional: Regra de força da mão direita. algorithm
12.2.13.31. geom_from_gml
Retorna uma geometria a partir de uma representação GML de geometria.
Sintaxe |
geom_from_gml(gml) |
Argumentos |
|
Exemplos |
|
12.2.13.32. geom_from_wkb
Retorna uma geometria criada a apartir de um uma representação Well-Known Binary (WKB).
Sintaxe |
geom_from_wkb(binary) |
Argumentos |
|
Exemplos |
|
12.2.13.33. geom_from_wkt
Retorna uma geometria criada a partir de uma representação Well-Known Text (WKT - Texto Bem Conhecido)
Sintaxe |
geom_from_wkt(text) |
Argumentos |
|
Exemplos |
|
12.2.13.34. geom_to_wkb
Retorna uma representação Well-known Binarye(WKB - Binário Bem Conhecido) da geometria
Sintaxe |
geom_to_wkb(geometry) |
Argumentos |
|
Exemplos |
|
12.2.13.35. geom_to_wkt
Retorna a representação Well-Know Text (WKT - Texto Bem Conhecido) da geometria sem o metadado do SRID.
Sintaxe |
geom_to_wkt(geometry, [precision=8]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
12.2.13.36. $geometry
Retorna a geometria da feição atual. Pode ser usado para processamento com outras funções.
Sintaxe |
$geometry |
Exemplos |
|
12.2.13.37. geometry
Retorna a geometria de uma feição.
Sintaxe |
geometry(feature) |
Argumentos |
|
Exemplos |
|
12.2.13.38. geometry_n
Retorna uma geometria específica de uma coleção de geometrias ou NULO se a geometria de entrada não for uma coleção.
Sintaxe |
geometry_n(geometry, index) |
Argumentos |
|
Exemplos |
|
12.2.13.39. geometry_type
Retorna uma valor em texto descrevendo o tipo de uma geometria (Point, Line ou Polygon)
Sintaxe |
geometry_type(geometry) |
Argumentos |
|
Exemplos |
|
12.2.13.40. hausdorff_distance
Retorna a distância de Hausdorff entre duas geometrias. Este é básicamente a medição de quão similar ou diferentes duas geometrias são, quanto menor a distancia mais similares são as geometrias.
A função pode ser executada com um argumento opcional de fração densificar. Se não for especificado, é usada uma aproximação da distância padrão de Hausdorff. Essa aproximação é exata ou próxima o suficiente para um grande subconjunto de casos úteis. Exemplos destes são:
distância computada entre Linestrings que são aproximadamente paralelas umas às outras e aproximadamente iguais em comprimento. Isso ocorre em redes lineares correspondentes.
Teste de similaridade de geometrias.
Se a aproximação padrão fornecida por este método for insuficiente, especifique o argumento opcional de densificar fração. Especificar este argumento realiza uma densificação do segmento antes de calcular a distância discreta de Hausdorff. O parâmetro define a fração para densificar cada segmento. Cada segmento será dividido em vários subsegmentos de igual comprimento, cuja fração do comprimento total é a mais próxima da fração dada. Diminuir o parâmetro fração densificar fará com que a distância retornada se aproxime da verdadeira distância de Hausdorff para as geometrias.
Sintaxe |
hausdorff_distance(geometry1, geometry2, [densify_fraction]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
12.2.13.41. inclination
Retorna a inclinação medida do zênite (0) ao nadir (180) no point_a ao point_b.
Sintaxe |
inclinação(ponto_a, ponto_b) |
Argumentos |
|
Exemplos |
|
12.2.13.42. interior_ring_n
Retorna um anél interior específico de uma geometria polígono, ou NULL se a geometria não for polígono.
Sintaxe |
interior_ring_n(geometry, index) |
Argumentos |
|
Exemplos |
|
12.2.13.43. intersection
Retorna uma geometria que representa a porção compartilhada de duas geometrias.
Sintaxe |
intersection(geometria1, geometria2) |
Argumentos |
|
Exemplos |
|
Leitura adicional: Interseção algorithm
12.2.13.44. intersects
Testa quando a geometria interseciona outra. Retorna verdadeiro se as geometrias espacialmente intercessionam (compartilham alguma porção do espaço) e falso quando não compartilham.
Sintaxe |
intersects(geometry1, geometry2) |
Argumentos |
|
Exemplos |
|
Leitura adicional: overlay_intersects
12.2.13.45. intersects_bbox
Testa quando o retangulo envolvente de uma geometria sobrepõe outro retângulo envolvente. Retorna verdadeiro se as geometrias intercessionam espacialmente o retângulo envolvente definido, ou falso se eles não.
Sintaxe |
intersects_bbox(geometry1, geometry2) |
Argumentos |
|
Exemplos |
|
12.2.13.46. is_closed
Retorna verdadeiro se uma linha está fechada (pontos inicial e final são coincidentes), ou falso se a linha não está fechada. Se a geometria não for uma linha o resultado será NULL.
Sintaxe |
is_closed(geometry) |
Argumentos |
|
Exemplos |
|
12.2.13.47. is_empty
Retorna verdadeiro se uma geometria estiver vazia (sem coordenadas), falso se a geometria não estiver vazia e NULO se não houver geometria. Consulte também está_vazio_ou_nulo.
Sintaxe |
is_empty(geometry) |
Argumentos |
|
Exemplos |
|
12.2.13.48. is_empty_or_null
Retorna verdadeiro se uma geometria é NULL ou vazia ( sem coordenadas) ou falso em outro caso. Esta função é como a expressão ‘$geometry IS NULL ou is_enpty($geometry)’
Sintaxe |
is_empty_or_null(geometry) |
Argumentos |
|
Exemplos |
|
12.2.13.49. is_multipart
Retorna verdadeiro se a geometria for do tipo Multi.
Sintaxe |
is_multipart(geometry) |
Argumentos |
|
Exemplos |
|
12.2.13.50. is_valid
Retorna verdadeiro se uma geometria for válida; se for bem formado em 2D de acordo com as regras da OGC.
Sintaxe |
is_valid(geometry) |
Argumentos |
|
Exemplos |
|
12.2.13.51. $length
Retorna o comprimento de uma linha. Se você precisar do comprimento da borda de um polígono, use $perimeter. O comprimento calculado por esta função respeita tanto a configuração do elipsóide do projeto atual quanto as configurações da unidade de distância. Por exemplo, se um elipsóide foi definido para o projeto, o comprimento calculado será elipsoidal, e se nenhum elipsóide for definido, o comprimento calculado será planimétrico.
Sintaxe |
$length |
Exemplos |
|
12.2.13.52. length
Retorna o número de caracteres em uma string ou o tamanho de uma geometria linha.
Variante string
Retorna o número de caracteres em uma string.
Sintaxe |
length(string) |
Argumentos |
|
Exemplos |
|
Variante geometria
Calcule o comprimento de um objeto de geometria linha. Os cálculos são sempre planimétricos no Sistema de Referência Espacial (SRS) dessa geometria, e as unidades do comprimento retornado corresponderão às unidades do SRS. Isso difere dos cálculos realizados pela função $length, que realizará cálculos elipsoidais com base nas configurações de elipsóide e unidade de distância do projeto.
Sintaxe |
length(geometry) |
Argumentos |
|
Exemplos |
|
Leitura adicional: straight_distance_2d
12.2.13.53. length3D
Calcule o comprimento de um objeto de linha geométrica. Os cálculos são sempre planimétricos no Sistema de Referência Espacial (SRS) dessa geometria, e as unidades do comprimento retornado corresponderão às unidades do SRS. Isso difere dos cálculos realizados pela função $length, que realizará cálculos elipsoidais com base nas configurações de elipsóide e unidade de distância do projeto.
Sintaxe |
length3D(geometry) |
Argumentos |
|
Exemplos |
|
12.2.13.54. line_interpolate_angle
Retorna o ângulo paralelo à geometria a uma distância especificada ao longo de uma geometria de linhas. Os ângulos estão em graus no sentido horário do norte.
Sintaxe |
line_interpolate_angle(geometry, distance) |
Argumentos |
|
Exemplos |
|
12.2.13.55. line_interpolate_point
Retorna o ponto interpolado por uma distância específica ao longo de uma geometria de linha.
Sintaxe |
line_interpolate_point(geometry, distance) |
Argumentos |
|
Exemplos |
|
Leitura adicional: Interpolar ponto na linha algorithm
12.2.13.56. line_locate_point
Retorna a distância ao longo de uma linha correspondente à posição mais próxima da linha a uma geometria de ponto especificada.
Sintaxe |
line_locate_point(geometry, point) |
Argumentos |
|
Exemplos |
|
12.2.13.57. line_merge
Retorna uma geometria LineString ou MultiLineString, em que quaisquer LineStrings conectadas da geometria de entrada foram mescladas em uma única cadeia de linhas. Esta função retornará NULL se passar uma geometria que não seja uma LineString/MultiLineString.
Sintaxe |
line_merge(geometry) |
Argumentos |
|
Exemplos |
|
12.2.13.58. line_substring
Retorna a parte de uma geometria de linha (ou curva) que fica entre as distâncias inicial e final especificadas (medidas a partir do início da linha). Os valores Z e M são interpolados linearmente a partir dos valores existentes.
Sintaxe |
line_substring(geometry, start_distance, end_distance) |
Argumentos |
|
Exemplos |
|
Leitura adicional: Linha de substring. algorithm
12.2.13.59. m
Retorna o valor m de uma geometria de ponto.
Sintaxe |
m(geometry) |
Argumentos |
|
Exemplos |
|
12.2.13.60. m_max
Retorna o valor máximo de m (medida) de uma geometria.
Sintaxe |
m_max(geometry) |
Argumentos |
|
Exemplos |
|
12.2.13.61. m_min
Retorna o valor mínimo de m (medida) de uma geometria.
Sintaxe |
m_min(geometry) |
Argumentos |
|
Exemplos |
|
12.2.13.62. main_angle
Retorna o ângulo do eixo longo (no sentido horário, em graus a partir do Norte) do retângulo envolvente mínimo orientado, que cobre completamente a geometria.
Sintaxe |
main_angle(geometry) |
Argumentos |
|
Exemplos |
|
12.2.13.63. make_circle
Cria um polígono circular.
Sintaxe |
make_circle(center, radius, [segments=36]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
12.2.13.64. make_ellipse
Cria um polígono elíptico.
Sintaxe |
make_ellipse(center, semi_major_axis, semi_minor_axis, azimuth, [segments=36]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
12.2.13.65. make_line
Cria uma geometria de linha a partir de uma série de geometrias de ponto.
Lista de variantes de argumentos
Os vértices de linha são especificados como argumentos separados para a função.
Sintaxe |
make_line(point1, point2, …) |
Argumentos |
|
Exemplos |
|
Variante array
Os vértices de linha são especificados como um array de pontos.
Sintaxe |
make_line(array) |
Argumentos |
|
Exemplos |
|
12.2.13.66. make_point
Cria uma geometria de ponto a partir de x e y (e valores z e m opcionais).
Sintaxe |
make_point(x, y, [z], [m]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
12.2.13.67. make_point_m
Cria uma geometria de ponto a partir de uma coordenada x, y e um valor m.
Sintaxe |
criar_ponto_m(x, y, m) |
Argumentos |
|
Exemplos |
|
12.2.13.68. make_polygon
Cria uma geometria de polígono a partir de um anel externo e uma série opcional de geometrias de anel interno.
Sintaxe |
make_polygon(outerRing, [innerRing1], [innerRing2], …) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
12.2.13.69. make_rectangle_3points
Cria um retângulo a partir de 3 pontos.
Sintaxe |
make_rectangle_3points(point1, point2, point3, [option=0]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
12.2.13.70. make_regular_polygon
Cria um polígono regular.
Sintaxe |
make_regular_polygon(center, radius, number_sides, [circle=0]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
12.2.13.71. make_square
Cria um quadrado a partir da diagonal.
Sintaxe |
make_square(point1, point2) |
Argumentos |
|
Exemplos |
|
12.2.13.72. make_triangle
Cria um polígono triangular.
Sintaxe |
make_triangle(point1, point2, point3) |
Argumentos |
|
Exemplos |
|
12.2.13.73. minimal_circle
Retorna o círculo mínimo de uma geometria. Ele representa o círculo mínimo que envolve todas as geometrias dentro do conjunto.
Sintaxe |
minimal_circle(geometry, [segments=36]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
Leitura adicional: Círculos mínimos fechados. algorithm
12.2.13.74. nodes_to_points
Retorna uma geometria multiponto que consiste em cada nó na geometria de entrada.
Sintaxe |
nodes_to_points(geometry, [ignore_closing_nodes=false]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
Leitura adicional: Extrair vértices algorithm
12.2.13.75. num_geometries
Retonra o número de geometrias em uma coleção de geometrias, ou NULL se a geometria de entrada não for uma coleção.
Sintaxe |
num_geometrias(geometria) |
Argumentos |
|
Exemplos |
|
12.2.13.76. num_interior_rings
Retorna o número de anéis interiores em um polígono ou coleção de geometrias, ou NULL se a geometria de entrada não for polígono ou coleção.
Sintaxe |
num_interior_rings(geometry) |
Argumentos |
|
Exemplos |
|
12.2.13.77. num_points
Retorna o número de vértices em uma geometria.
Sintaxe |
num_points(geometry) |
Argumentos |
|
Exemplos |
|
12.2.13.78. num_rings
Retorna o número de anéis (incluindo anéis externos) em um polígono ou coleção de geometrias ou NULO se a geometria de entrada não for um polígono ou coleção.
Sintaxe |
num_rings(geometry) |
Argumentos |
|
Exemplos |
|
12.2.13.79. offset_curve
Retorna uma geometria formada pelo deslocamento de uma geometria linha para o lado. As distâncias estão no Sistema de Referência Espacial desta geometria.
Sintaxe |
offset_curve(geometry, distance, [segments=8], [join=1], [miter_limit=2.0]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
Leitura adicional: Linhas de desvio. algorithm
12.2.13.80. order_parts
Ordena as partes de um MultiGeometry por um determinado critério
Sintaxe |
order_parts(geometry, orderby, [ascending=true]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
12.2.13.81. oriented_bbox
Retorna uma geometria que representa o menor retângulo envolvente orientado de uma geometria de entrada.
Sintaxe |
oriented_bbox(geometry) |
Argumentos |
|
Exemplos |
|
Leitura adicional: Orientação mínima da caixa limitante. algorithm
12.2.13.82. overlaps
Testa quando a geometria sobrepõe outra. Retonra verdadeiro se as geometrias compartilham espaço, possuem a mesma dimensão, mas não estão completamentes contidas uma pela outra.
Sintaxe |
overlaps(geometry1, geometry2) |
Argumentos |
|
Exemplos |
|
12.2.13.83. overlay_contains
Retorna quando a feição atual contém espacialmente no mínimo uma feição de uma camada alvo, ou um lista baseada em expressão de resultados de feições na camada alvo contidas pela feição atual.
Leia mais sobre o predicado GEOS “Contains” , como descrito na função do PostGIS `ST_Contains<https://postgis.net/docs/ST_Contains.html>`_.
Sintaxe |
overlay_contains(layer, [expression], [filter], [limit], [cache=false]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
Leitura adicional: contains, manipulação de arrays, algorítimo Selecionar pela localização
12.2.13.84. overlay_crosses
Retorna quando a feição atual espacialmente cruza uma feição de uma camada alvo, ou uma lista de resultados baseados em expressão para as feições na camada alvo cruzadas pela feição atual.
Leia mais sobre o predicado GEOS “Crosses”, conforme descrito na função PostGIS ST_Crosses.
Sintaxe |
overlay_crosses(layer, [expression], [filter], [limit], [cache=false]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
Leitura adicional: crosses, manipulação de array, algorítimo Selecionar pela localização
12.2.13.85. overlay_disjoint
Retorna se a feição atual está separada espacialmente de todos as feições de uma camada de destino ou de uma lista de resultados baseados em expressão para as feições na camada de destino que estão separados da feição atual.
Leia mais sobre o predicado GEOS “Disjoint”, conforme descrito na função PostGIS ST_Disjoint.
Sintaxe |
overlay_disjoint(layer, [expression], [filter], [limit], [cache=false]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
Leitura adicional: disjoint, manipulação de array, algoritimo Selecionar pela localização
12.2.13.86. overlay_equals
Retorna quando a feição atual é espacialmente igual a pelo menos uma feição da camada alvo, ou uma lista baseada em expressão de resultados das feições na camada alvo que são espacialmente iguais à feição atual.
Leia mais sobre o predicado GEOS “Equals” acima, conforme descrito na função PostGIS ST_Equals function.
Sintaxe |
overlay_equals(layer, [expression], [filter], [limit], [cache=false]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
Leitura adicional: manipulação de array, algorítmo Selecionar pela localização
12.2.13.87. overlay_intersects
Retorna se feição atual intercepta espacialmente pelo menos uma feição de uma camada de destino ou uma matriz de resultados baseados em expressão para as feições na camada de destino interceptados pela feição atual.
Leia mais sobre o predicado GEOS “Intersects”, como descrito na função PostGIS ST_Intersects.
Sintaxe |
overlay_intersects(layer, [expression], [filter], [limit], [cache=false]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
Leitura adicional: intersects, manipulação de array, algorítmo Selecionar pela localização
12.2.13.88. overlay_nearest
Retorna se a feição atual tem feições de uma camada de destino dentro de uma determinada distância ou uma matriz de resultados baseados em expressões para as feições na camada de destino dentro de uma distância da feição atual.
Nota: Esta função pode ser lenta e consumir muita memória para camadas grandes.
Sintaxe |
overlay_nearest(layer, [expression], [filter], [limit=1], [max_distance], [cache=false]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
Leitura adicional: manipulação de array, algorítmo Unir atributos por mais próximo
12.2.13.89. overlay_touches
Retorna se a feição atual toca espacialmente pelo menos uma feição de uma camada de destino ou uma matriz de resultados baseados em expressão para as feições na camada de destino tocadas pela feição atual.
Leia mais sobre o predicado subjacente “Touches” do GEOS, conforme descrito na função ST_Touches do PostGIS.
Sintaxe |
overlay_touches(layer, [expression], [filter], [limit], [cache=false]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
Leitura adicional: touches, manipulação de array, algorítmo Selecionar pela localização
12.2.13.90. overlay_within
Retorna se a feição atual está espacialmente dentro de pelo menos uma feição da camada de destino ou uma matriz de resultados baseados em expressão para as feições na camada de destino que contém a feição atual.
Leia mais sobre o predicado GEOS “dentro” subjacente, conforme descrito na função ST_Within do PostGIS.
Sintaxe |
overlay_within(layer, [expression], [filter], [limit], [cache=false]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
Leitura adicional: within, manipulação de array, algorítmo Selecionar pela localização
12.2.13.91. $perimeter
Retorna o comprimento do perímetro da feição atual. O perímetro calculado por esta função respeita a configuração do elipsóide do projeto atual e as configurações da unidade de distância. Por exemplo, se um elipsóide foi definido para o projeto, o perímetro calculado será elipsoidal e, se nenhum elipsóide for definido, o perímetro calculado será planimétrico.
Sintaxe |
$perimeter |
Exemplos |
|
12.2.13.92. perimeter
Retorna o perímetro de um objeto de polígono geométrico. Os cálculos são sempre planimétricos no Spatial Reference System (SRS) dessa geometria, e as unidades do perímetro retornado corresponderão às unidades do SRS. Isso difere dos cálculos executados pela função $perimeter, que realizará cálculos elipsoidais com base nas configurações do elipsóide e da unidade de distância do projeto.
Sintaxe |
perimeter(geometry) |
Argumentos |
|
Exemplos |
|
12.2.13.93. point_n
Retorna um nó específico de uma geometria.
Sintaxe |
point_n(geometry, index) |
Argumentos |
|
Exemplos |
|
Leitura adicional: Extrair vértices específicos algorithm
12.2.13.94. point_on_surface
Retorna um ponto garantido estar na superfície de uma geometria.
Sintaxe |
point_on_surface(geometry) |
Argumentos |
|
Exemplos |
|
Leitura adicional: algorítmo Ponto na Superfície
12.2.13.95. pole_of_inaccessibility
Calcula o pólo aproximado de inacessibilidade para uma superfície, que é o ponto interno mais distante do limite da superfície. Essa função usa o algoritmo ‘polylabel’ (Vladimir Agafonkin, 2016), que é uma abordagem iterativa garantida para encontrar o verdadeiro pólo de inacessibilidade dentro de uma tolerância especificada. Tolerâncias mais precisas requerem mais iterações e demoram mais para serem calculadas.
Sintaxe |
pole_of_inaccessibility(geometry, tolerance) |
Argumentos |
|
Exemplos |
|
Leitura adicional: algorítmo Pólo de inacessibilidade
12.2.13.96. project
Retorna um ponto projetado de um ponto inicial usando uma distância, um rumo (azimute) e uma elevação em radianos.
Sintaxe |
project(point, distance, azimuth, [elevation]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
Leitura adicional: algorítmo Projetar pontos (Cartesiano)
12.2.13.97. relate
Testa a representação do modelo de interseção 9 estendido dimensional (DE-9IM) da relação entre duas geometrias.
Variante de relação
Retorna a representação Dimensional Extended 9 Intersection Model (DE-9IM) da relação entre duas geometrias.
Sintaxe |
relate(geometry, geometry) |
Argumentos |
|
Exemplos |
|
Variante de correspondência de padrão
Testa se a relação DE-9IM entre duas geometrias corresponde a um padrão especificado.
Sintaxe |
relate(geometry, geometry, pattern) |
Argumentos |
|
Exemplos |
|
12.2.13.98. reverse
Inverte a direção de uma cadeia de linha invertendo a ordem de seus vértices.
Sintaxe |
reverse(geometry) |
Argumentos |
|
Exemplos |
|
Leitura adicional: Direção reversa da linha algorithm
12.2.13.99. rotate
Retorna uma versão rotacionada de uma geometria. Os cálculos estão no Sistema de Referência Espacial desta geometria.
Sintaxe |
rotate(geometry, rotation, [center]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
12.2.13.100. segments_to_lines
Retorna uma geometria de várias linhas que consiste em uma linha para cada segmento na geometria de entrada.
Sintaxe |
segments_to_lines(geometry) |
Argumentos |
|
Exemplos |
|
Leitura adicional: algorítmo Explodir linhas
12.2.13.101. shortest_line
Retorna a linha mais curta que une geometria1 a geometria2. A linha resultante começará em geometria1 e terminará em geometria2.
Sintaxe |
shortest_line(geometry1, geometry2) |
Argumentos |
|
Exemplos |
|
12.2.13.102. simplify
Simplifica uma geometria removendo nós usando um limite baseado em distância (ou seja, o algoritmo de Douglas Peucker). O algoritmo preserva grandes desvios nas geometrias e reduz o número de vértices em segmentos quase retos.
Sintaxe |
simplify(geometry, tolerance) |
Argumentos |
|
Exemplos |
|
Leitura adicional: algorítmo Simplificar
12.2.13.103. simplify_vw
Simplifica uma geometria removendo nós usando um limite baseado em área (ou seja, o algoritmo de Visvalingam-Whyatt). O algoritmo remove vértices que criam pequenas áreas em geometrias, por exemplo, picos estreitos ou segmentos quase retos.
Sintaxe |
simplify_vw(geometry, tolerance) |
Argumentos |
|
Exemplos |
|
Leitura adicional: algorítmo Simplificar
12.2.13.104. single_sided_buffer
Retorna uma geometria formada pelo buffer de apenas um lado de uma geometria linestring. As distâncias estão no Sistema de Referência Espacial desta geometria.
Sintaxe |
single_sided_buffer(geometry, distance, [segments=8], [join=1], [miter_limit=2.0]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
Leitura adicional: algorítmo Buffer de lado único
12.2.13.105. sinuosity
Retorna a sinuosidade de uma curva, que é a razão entre o comprimento da curva e a distância reta (2D) entre suas extremidades.
Sintaxe |
sinuosity(geometry) |
Argumentos |
|
Exemplos |
|
12.2.13.106. smooth
Suaviza uma geometria adicionando nós extras que arredondam os cantos na geometria. Se as geometrias de entrada contiverem valores Z ou M, eles também serão suavizados e a geometria de saída manterá a mesma dimensionalidade da geometria de entrada.
Sintaxe |
smooth(geometry, [iterations=1], [offset=0.25], [min_length=-1], [max_angle=180]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
Leitura adicional: algorítmo Suave
12.2.13.107. start_point
Retorna o primeiro nó de uma geometria.
Sintaxe |
start_point(geometry) |
Argumentos |
|
Exemplos |
|
Leitura adicional: Extrair vértices específicos algorithm
12.2.13.108. straight_distance_2d
Retorna a distância direta/euclidiana entre o primeiro e o último vértice de uma geometria. A geometria deve ser uma curva (sequência circular, sequência de linhas).
Sintaxe |
straight_distance_2d(geometry) |
Argumentos |
|
Exemplos |
|
Leitura adicional: length
12.2.13.109. sym_difference
Retorna uma geometria que representa as partes de duas geometrias que não se intersectam.
Sintaxe |
sym_difference(geometry1, geometry2) |
Argumentos |
|
Exemplos |
|
Leitura adicional: Diferença simétrica algorithm
12.2.13.110. tapered_buffer
Cria um buffer ao longo de uma geometria de linha onde o diâmetro do buffer varia uniformemente ao longo do comprimento da linha.
Sintaxe |
tapered_buffer(geometry, start_width, end_width, [segments=8]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
Leitura adicional: algorítmo Buffers cônicos.
12.2.13.111. touches
Testa se uma geometria toca outra. Retorna verdadeiro se as geometrias tiverem pelo menos um ponto em comum, mas seus interiores não se cruzarem.
Sintaxe |
touches(geometry1, geometry2) |
Argumentos |
|
Exemplos |
|
Leitura adicional: overlay_touches
12.2.13.112. transform
Retorna a geometria transformada de um CRS de origem para um CRS de destino.
Sintaxe |
transform(geometry, source_auth_id, dest_auth_id) |
Argumentos |
|
Exemplos |
|
Leitura adicional: algorítmo Reprojetar camada
12.2.13.113. translate
Retorna uma versão traduzida de uma geometria. Os cálculos estão no Sistema de Referência Espacial desta geometria.
Sintaxe |
translate(geometry, dx, dy) |
Argumentos |
|
Exemplos |
|
Leitura adicional: algorítmo Traduzir
12.2.13.114. union
Retorna uma geometria que representa a união do conjunto de pontos das geometrias.
Sintaxe |
union(geometry1, geometry2) |
Argumentos |
|
Exemplos |
|
12.2.13.115. wedge_buffer
Retorna um buffer em forma de cunha originário de uma geometria de ponto.
Sintaxe |
wedge_buffer(center, azimuth, width, outer_radius, [inner_radius=0.0]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
Leitura adicional: algorítmo Crie buffers de cunha (wedge buffer).
12.2.13.116. within
Testa se uma geometria está dentro de outra. Retorna verdadeiro se a geometria1 estiver completamente dentro da geometria2.
Sintaxe |
within(geometry1, geometry2) |
Argumentos |
|
Exemplos |
|
Leitura adicional: overlay_within
12.2.13.117. $x
Retorna a coordenada x da feição de ponto atual. Se a feição for multiponto, a coordenada x do primeiro ponto será retornada.
Sintaxe |
$x |
Exemplos |
|
12.2.13.118. x
Retorna a coordenada x de uma geometria de ponto ou a coordenada x do centroide para uma geometria sem ponto.
Sintaxe |
x(geometry) |
Argumentos |
|
Exemplos |
|
12.2.13.119. $x_at
Recupera uma coordenada x da geometria da feição atual.
Sintaxe |
$x_at(i) |
Argumentos |
|
Exemplos |
|
12.2.13.120. x_max
Retorna a coordenada x máxima de uma geometria. Os cálculos estão no sistema de referência espacial desta geometria.
Sintaxe |
x_max(geometria) |
Argumentos |
|
Exemplos |
|
12.2.13.121. x_min
Retorna a coordenada x mínima de uma geometria. Os cálculos estão no sistema de referência espacial desta geometria.
Sintaxe |
x_min(geometria) |
Argumentos |
|
Exemplos |
|
12.2.13.122. $y
Retorna a coordenada y da feição de ponto atual. Se a feição for multiponto, a coordenada y do primeiro ponto será retornada.
Sintaxe |
$y |
Exemplos |
|
12.2.13.123. y
Retorna a coordenada y de uma geometria de ponto ou a coordenada y do centroide para uma geometria sem ponto.
Sintaxe |
y(geometry) |
Argumentos |
|
Exemplos |
|
12.2.13.124. $y_at
Recupera uma coordenada y da geometria da feição atual.
Sintaxe |
$y_at(i) |
Argumentos |
|
Exemplos |
|
12.2.13.125. y_max
Retorna a coordenada y máxima de uma geometria. Os cálculos estão no sistema de referência espacial desta geometria.
Sintaxe |
y_max(geometry) |
Argumentos |
|
Exemplos |
|
12.2.13.126. y_min
Retorna a coordenada y mínima de uma geometria. Os cálculos estão no sistema de referência espacial desta geometria.
Sintaxe |
y_min(geometry) |
Argumentos |
|
Exemplos |
|
12.2.13.127. $z
Retorna o valor z da feição de ponto atual se for 3D. Se a feição for multiponto, o valor z do primeiro ponto será retornado.
Sintaxe |
$z |
Exemplos |
|
12.2.13.128. z
Retorna a coordenada z de uma geometria de ponto, ou NULO se a geometria não tiver valor z.
Sintaxe |
z(geometry) |
Argumentos |
|
Exemplos |
|
12.2.13.129. z_max
Retorna a coordenada z máxima de uma geometria, ou NULO se a geometria não tiver valor z.
Sintaxe |
z_max(geometry) |
Argumentos |
|
Exemplos |
|
12.2.13.130. z_min
Retorna a coordenada z mínima de uma geometria, ou NULO se a geometria não tiver valor z.
Sintaxe |
z_min(geometry) |
Argumentos |
|
Exemplos |
|
12.2.14. Funções de Layout
Este grupo contém funções para manipular as propriedades dos itens de layout de impressão.
12.2.14.1. item_variables
Retorna um mapa de variáveis de um item de layout dentro deste layout de impressão.
Sintaxe |
item_variables(id) |
Argumentos |
|
Exemplos |
|
Leitura adicional: Lista de variáveis padrão
12.2.14.2. map_credits
Retorna uma lista de strings de crédito (direitos de uso) para as camadas mostradas em um item de mapa de layout.
Sintaxe |
map_credits(id, [include_layer_names=false], [layer_name_separator=’: ‘]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
Esta função precisa que Propriedades de metadados de acesso das camadas tenham sido preenchidos.
12.2.15. Camadas do mapa
Este grupo contém uma lista das camadas disponíveis no projeto atual. Isso oferece uma maneira conveniente de escrever expressões referentes a várias camadas, como quando se fazem consultas usando aggregates, attribute ou spatial.
Também fornece algumas funções convenientes para manipular camadas.
12.2.15.1. decode_uri
Pega uma camada e decodifica o uri do provedor de dados subjacente. Depende do provedor de dados, quais dados estão disponíveis.
Sintaxe |
decode_uri(layer, [part]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
12.2.15.2. layer_property
Retorna uma propriedade de camada correspondente ou valor de metadados.
Sintaxe |
layer_property(layer, property) |
Argumentos |
|
Exemplos |
|
Leitura adicional: propriedades de camada vector, raster e mesh
12.2.16. Funções de mapeamento
Este grupo contém funções para criar ou manipular chaves e valores de estruturas de dados de mapas (também conhecidos como objetos de dicionário, pares de chave-valor ou arrays associativos). Ao contrário de estrutura de dados lista em que a ordem dos valores importa, a ordem dos pares de chave-valor no objeto de mapa não é relevante e os valores são identificados por suas chaves.
12.2.16.1. from_json
Carrega um texto formatado como JSON
Sintaxe |
from_json(string) |
Argumentos |
|
Exemplos |
|
12.2.16.2. hstore_to_map
Cria um mapa a parir de uma string formatada como hstore
Sintaxe |
hstore_to_map(string) |
Argumentos |
|
Exemplos |
|
12.2.16.3. map
Retorna um mapa contendo todas as chaves e valores passados como par de parâmetros.
Sintaxe |
map(key1, value1, key2, value2, …) |
Argumentos |
|
Exemplos |
|
12.2.16.4. map_akeys
Retorna um array contendo todas as chaves de um mapa
Sintaxe |
map_akeys(map) |
Argumentos |
|
Exemplos |
|
12.2.16.5. map_avals
Retorna todos os valores de um map como um array.
Sintaxe |
map_avals(map) |
Argumentos |
|
Exemplos |
|
12.2.16.6. map_concat
Retorna um mapa contendo todas as entradas dos mapas fornecidos. Se dois mapas contiverem a mesma chave, o valor do segundo mapa será usado.
Sintaxe |
map_concat(map1, map2, …) |
Argumentos |
|
Exemplos |
|
12.2.16.7. map_delete
Retorna um mapa com a chave fornecida e seu valor correspondente excluído.
Sintaxe |
map_delete(map, key) |
Argumentos |
|
Exemplos |
|
12.2.16.8. map_exist
Retorna verdadeiro se a chave informada exisitr no mapa
Sintaxe |
map_exist(map, key) |
Argumentos |
|
Exemplos |
|
12.2.16.9. map_get
Retorna o valor de um mapa, dada sua chave. Retorna NULO se a chave não existir.
Sintaxe |
map_get(map, key) |
Argumentos |
|
Exemplos |
|
Dica
Você pode utilizar também o operador de índice ([]) para pegar um valor de um mapa.
12.2.16.10. map_insert
Retorna um mapa com uma chave/valor adicionado. Se a chave já existir, seu valor será substituído.
Sintaxe |
map_insert(map, key, value) |
Argumentos |
|
Exemplos |
|
12.2.16.11. map_to_hstore
Mescla os elementos de um mapa em uma string formatada em hstore.
Sintaxe |
map_to_hstore(map) |
Argumentos |
|
Exemplos |
|
12.2.16.12. to_json
Cria uma string formada em JSON a partir de um mapa, matriz ou outro valor.
Sintaxe |
to_json(value) |
Argumentos |
|
Exemplos |
|
12.2.17. Funções Matemáticas
Este grupo contém funções matemáticas (por exemplo, raiz quadrada, sen e cos).
12.2.17.1. abs
Retorna o valor absoluto de um número.
Sintaxe |
abs(value) |
Argumentos |
|
Exemplos |
|
12.2.17.2. acos
Retorna o cosseno inverso de um valor em radianos.
Sintaxe |
acos(valor) |
Argumentos |
|
Exemplos |
|
12.2.17.3. asin
Retorna o seno inverso de um valor em radianos.
Sintaxe |
asen(value) |
Argumentos |
|
Exemplos |
|
12.2.17.4. atan
Retorna a tangente inversa de um valor em radianos.
Sintaxe |
atan(value) |
Argumentos |
|
Exemplos |
|
12.2.17.5. atan2
Retorna a tangente inversa de dy/dx usando os sinais dos dois argumentos para determinar o quadrante do resultado.
Sintaxe |
atan2(dy, dx) |
Argumentos |
|
Exemplos |
|
12.2.17.6. ceil
Arredonda um número para cima.
Sintaxe |
ceil(value) |
Argumentos |
|
Exemplos |
|
12.2.17.7. clamp
Restringe um valor de entrada a um intervalo especificado.
Sintaxe |
clamp(minimum, input, maximum) |
Argumentos |
|
Exemplos |
|
12.2.17.8. cos
Retorna o cosseno de um ângulo.
Sintaxe |
cos(angle) |
Argumentos |
|
Exemplos |
|
12.2.17.9. degrees
Converte de radianos para graus.
Sintaxe |
degrees(radians) |
Argumentos |
|
Exemplos |
|
12.2.17.10. exp
Retorna o exponencial de um valor.
Sintaxe |
exp(valor) |
Argumentos |
|
Exemplos |
|
12.2.17.11. floor
Arredonda um número para baixo.
Sintaxe |
floor(value) |
Argumentos |
|
Exemplos |
|
12.2.17.12. ln
Retorna o logaritmo natural de um valor.
Sintaxe |
ln(value) |
Argumentos |
|
Exemplos |
|
12.2.17.13. log
Retorna o valor do logaritmo do valor passado e da base.
Sintaxe |
log(base, value) |
Argumentos |
|
Exemplos |
|
12.2.17.14. log10
Retorna o valor do logaritmo de base 10 da expressão passada.
Sintaxe |
log10(value) |
Argumentos |
|
Exemplos |
|
12.2.17.15. max
Retorna o maior valor em um conjunto de valores.
Sintaxe |
max(value1, value2, …) |
Argumentos |
|
Exemplos |
|
12.2.17.16. min
Retorna o menor valor em um conjunto de valores.
Sintaxe |
min(value1, value2, …) |
Argumentos |
|
Exemplos |
|
12.2.17.17. pi
Retorna o valor de pi para cálculos.
Sintaxe |
pi() |
Exemplos |
|
12.2.17.18. radians
Converte de graus para radianos.
Sintaxe |
radians(degrees) |
Argumentos |
|
Exemplos |
|
12.2.17.19. rand
Retorna um inteiro aleatório dentro do intervalo especificado pelo argumento mínimo e máximo (inclusive). Se uma seed for fornecida, o retorno será sempre o mesmo, dependendo da seed.
Sintaxe |
rand(min, max, [seed=NULL]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
12.2.17.20. randf
Retorna um float aleatório dentro do intervalo especificado pelo argumento mínimo e máximo (inclusive). Se uma seed for fornecida, o retorno será sempre o mesmo, dependendo da seed.
Sintaxe |
randf([min=0.0], [max=1.0], [seed=NULL]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
12.2.17.21. round
Arredonda um número para número de casas decimais.
Sintaxe |
round(value, [places=0]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
12.2.17.22. scale_exp
Transforma um determinado valor de um domínio de entrada para um intervalo de saída usando uma curva exponencial. Esta função pode ser usada para atenuar valores dentro ou fora do intervalo de saída especificado.
Sintaxe |
scale_exp(value, domain_min, domain_max, range_min, range_max, exponent) |
Argumentos |
|
Exemplos |
|
12.2.17.23. scale_linear
Transforma um determinado valor de um domínio de entrada em um intervalo de saída usando interpolação linear.
Sintaxe |
scale_linear(value, domain_min, domain_max, range_min, range_max) |
Argumentos |
|
Exemplos |
|
12.2.17.24. sin
Retorna o seno de um ângulo.
Sintaxe |
sin(angle) |
Argumentos |
|
Exemplos |
|
12.2.17.25. sqrt
Retorna a raiz quadrada de um valor.
Sintaxe |
sqrt(value) |
Argumentos |
|
Exemplos |
|
12.2.17.26. tan
Retorna a tangente de um ângulo.
Sintaxe |
tan(angle) |
Argumentos |
|
Exemplos |
|
12.2.18. Funções de Malhas
Este grupo contém funções que calculam ou retornam valores relacionados à mesh.
12.2.18.1. $area_face
Retorna a área da face da malha atual. A área calculada por esta função respeita tanto a configuração do elipsóide do projeto atual quanto as configurações da unidade de área. Por exemplo, se um elipsóide foi definido para o projeto, a área calculada será elipsoidal, e se nenhum elipsóide for definido, a área calculada será planimétrica.
Sintaxe |
$area_face |
Exemplos |
|
12.2.18.2. $face_index
Retorna o índice da face da malha atual.
Sintaxe |
$face_index |
Exemplos |
|
12.2.18.3. $vertex_as_point
Retorna o vértice atual como uma geometria de ponto.
Sintaxe |
$vertex_as_point |
Exemplos |
|
12.2.18.4. $vertex_index
Retorna o índice do vértice do mesh atual
Sintaxe |
$vertex_index |
Exemplos |
|
12.2.18.5. $vertex_x
Retorna a coordenada X do vértice da malha atual.
Sintaxe |
$vertex_x |
Exemplos |
|
12.2.18.6. $vertex_y
Retorna a coordenada Y do vértice da malha atual.
Sintaxe |
$vertex_y |
Exemplos |
|
12.2.18.7. $vertex_z
Retorna o valor Z do vértice do mesh atual.
Sintaxe |
$vertex_z |
Exemplos |
|
12.2.19. Operadores
Este grupo contém operadores (por exemplo, +, -, *). Observe que, para a maioria das funções matemáticas abaixo, se uma das entradas for NULL, o resultado será NULL.
12.2.19.1. %
Restante da divisão
Sintaxe |
a % b |
Argumentos |
|
Exemplos |
|
12.2.19.2. *
Multiplicação de dois valores
Sintaxe |
a * b |
Argumentos |
|
Exemplos |
|
12.2.19.3. +
Adição de dois valores. Se um dos valores for NULO, o resultado será NULO.
Sintaxe |
a + b |
Argumentos |
|
Exemplos |
|
12.2.19.4. -
Subtração de dois valores. Se um dos valores for NULO, o resultado será NULO.
Sintaxe |
a - b |
Argumentos |
|
Exemplos |
|
12.2.19.5. /
Divisão de dois valores
Sintaxe |
a / b |
Argumentos |
|
Exemplos |
|
12.2.19.6. <
Compara dois valores e avalia como 1 se o valor da esquerda for menor que o valor da direita.
Sintaxe |
a < b |
Argumentos |
|
Exemplos |
|
12.2.19.7. <=
Compara dois valores e avalia como 1 se o valor da esquerda for menor ou igual ao valor da direita.
Sintaxe |
a <= b |
Argumentos |
|
Exemplos |
|
12.2.19.8. <>
Compara dois valores e avalia com 1 se eles não forem iguais.
Sintaxe |
a <> b |
Argumentos |
|
Exemplos |
|
12.2.19.9. =
Compara dois valores e avalia com 1 se forem iguais.
Sintaxe |
a = b |
Argumentos |
|
Exemplos |
|
12.2.19.10. >
Compara dois valores e avalia como 1 se o valor esquerdo for maior que o valor direito.
Sintaxe |
a > b |
Argumentos |
|
Exemplos |
|
12.2.19.11. >=
Compara dois valores e avalia como 1 se o valor da esquerda for maior ou igual ao valor da direita.
Sintaxe |
a >= b |
Argumentos |
|
Exemplos |
|
12.2.19.12. AND
Retorna 1 quando as condições a e b são verdadeiras.
Sintaxe |
a AND b |
Argumentos |
|
Exemplos |
|
12.2.19.13. ILIKE
Retorna 1 se o primeiro parâmetro corresponder ao padrão fornecido sem distinção entre maiúsculas e minúsculas. LIKE pode ser usado em vez de ILIKE para fazer a correspondência diferenciar maiúsculas de minúsculas. Trabalha com números também.
Sintaxe |
string/número padrão ILIKE |
Argumentos |
|
Exemplos |
|
12.2.19.14. IN
Retorna 1 se o valor for encontrado em uma lista de valores.
Sintaxe |
a IN b |
Argumentos |
|
Exemplos |
|
12.2.19.15. IS
Retorna 1 se a for igual a b.
Sintaxe |
a IS b |
Argumentos |
|
Exemplos |
|
12.2.19.16. IS NOT
Retorna 1 se a não for igual a b.
Sintaxe |
a IS NOT b |
Argumentos |
|
Exemplos |
|
12.2.19.17. LIKE
Retorna 1 se o primeiro parâmetro combinar com o padrão informado. Funciona com números também.
Sintaxe |
texto/número padrão LIKE |
Argumentos |
|
Exemplos |
|
12.2.19.18. NOT
Nega uma condição.
Sintaxe |
NOT a |
Argumentos |
|
Exemplos |
|
12.2.19.19. OR
Retorna 1 quando a condição a ou b é verdadeira.
Sintaxe |
a OR b |
Argumentos |
|
Exemplos |
|
12.2.19.20. []
Operador de índice. Retorna um elemento de uma matriz ou valor de mapa.
Sintaxe |
[index] |
Argumentos |
|
Exemplos |
|
12.2.19.21. ^
Potência de dois valores.
Sintaxe |
a ^ b |
Argumentos |
|
Exemplos |
|
12.2.19.22. ||
Une dois valores em uma string.
Se um dos valores for NULL o resultado será NULL. Veja a função CONCAT para um comportamento diferente
Sintaxe |
a || b |
Argumentos |
|
Exemplos |
|
12.2.19.23. ~
Executa uma correspondência de expressão regular em um valor de string. Os caracteres de barra invertida devem ter escape duplo (por exemplo, “\\s” para corresponder a um caractere de espaço em branco).
Sintaxe |
string ~ regex |
Argumentos |
|
Exemplos |
|
Leitura adicional: regexp_match
12.2.20. Funções de Processamento
Este grupo contém funções que operam em algoritmos de processamento.
12.2.20.1. parameter
Retorna o valor de um parâmetro de entrada do algoritmo de processamento.
Sintaxe |
parameter(name) |
Argumentos |
|
Exemplos |
|
12.2.21. Funções de Rasters
Este grupo contém funções para operar na camada raster.
12.2.21.1. raster_statistic
Retorna as estatísticas de uma camada raster.
Sintaxe |
raster_statistic(layer, band, property) |
Argumentos |
|
Exemplos |
|
12.2.21.2. raster_value
Retorna o valor raster encontrado no ponto fornecido.
Sintaxe |
raster_value(layer, band, point) |
Argumentos |
|
Exemplos |
|
12.2.22. Funções de Registro e Atributos
Este grupo contém funções que operam na identificação da registros.
12.2.22.1. attribute
Retorna um atributo de uma feição.
** Variante 1**
Retorna o valor de um atributo da feição atual.
Sintaxe |
attribute(attribute_name) |
Argumentos |
|
Exemplos |
|
Variante 2
Permite que a feição de destino e o nome do atributo sejam especificados.
Sintaxe |
attribute(feature, attribute_name) |
Argumentos |
|
Exemplos |
|
12.2.22.2. attributes
Retorna um mapa contendo todos os atributos de uma feição, onde os nomes de campo são as chaves do mapa
** Variante 1**
Retorna um mapa de todos os atributos da feição atual.
Sintaxe |
attributes() |
Exemplos |
|
Variante 2
Permite que a feição de destino seja especificada.
Sintaxe |
attributes(feature) |
Argumentos |
|
Exemplos |
|
Leitura adicional: Funções de mapeamento
12.2.22.3. $currentfeature
Retorna a feição atual que está sendo avaliada. Isso pode ser usado com a função ‘attribute’ para avaliar os valores de atributo da feição atual.
Sintaxe |
$currentfeature |
Exemplos |
|
12.2.22.4. display_expression
Retorna a expressão de exibição para uma determinada feição em uma camada. A expressão é avaliada por padrão. Pode ser usado com zero, um ou mais argumentos, veja abaixo para detalhes.
Sem parâmetros
Se for chamada sem nenhum parâmetro, a função irá avaliar a expressão de exibição da feição atual na camada atual.
Sintaxe |
display_expression() |
Exemplos |
|
Um parâmetro ‘feição’
Se chamada apenas com um parâmetro ‘feição’, a função avaliará a feição especificada da camada atual.
Sintaxe |
display_expression(feature) |
Argumentos |
|
Exemplos |
|
Parâmetros de camada e feição
Se a função for chamada com uma camada e uma feição, ela avaliará a feição especificada da camada especificada.
Sintaxe |
display_expression(layer, feature, [evaluate=true]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
12.2.22.5. get_feature
Retorna a primeia feição de uma camada correspondente a um determinado valor de atributo.
Sintaxe |
get_feature(layer, attribute, value) |
Argumentos |
|
Exemplos |
|
12.2.22.6. get_feature_by_id
Retorna a feição com um id em uma camada.
Sintaxe |
get_feature_by_id(layer, feature_id) |
Argumentos |
|
Exemplos |
|
Leitura adicional: $id
12.2.22.7. $id
Retorna o ID da feição da linha atual.
Sintaxe |
$id |
Exemplos |
|
12.2.22.8. is_selected
Retorna Verdadeiro se uma feição for selecionada. Pode ser usado com zero, um ou dois argumentos, veja abaixo para detalhes.
Sem parâmetros
Se chamada sem parâmetros, a função retornará verdadeiro se a feição atual na camada atual for selecionada.
Sintaxe |
is_selected() |
Exemplos |
|
Um parâmetro ‘feição’
Se invocada apenas com o parâmetro ‘feature’, a função irá retornar verdadeiro se a feição especificada da camada atual estiver selecionada.
Sintaxe |
is_selected(feature) |
Argumentos |
|
Exemplos |
|
Dois parâmetros
Se a função for chamada com uma camada e uma feição, ela retornará verdadeiro se a feição especificada da camada especificada for selecionada.
Sintaxe |
is_selected(layer, feature) |
Argumentos |
|
Exemplos |
|
12.2.22.9. maptip
Retorna o maptip de uma feição de uma camada. A expressão é avaliada por padrão. Pode ser usada com zero, um ou mais argumentos, veja abaixo para mais detalhes.
Sem parâmetros
Se chamada sem parâmetros, a função avaliará a dica de mapa da feição atual na camada atual.
Sintaxe |
maptip() |
Exemplos |
|
Um parâmetro ‘feição’
Se chamada apenas com um parâmetro ‘feição’, a função avaliará a feição especificada da camada atual.
Sintaxe |
maptip(feature) |
Argumentos |
|
Exemplos |
|
Parâmetros de camada e feição
Se a função for chamada com uma camada e uma feição, ela avaliará a feição especificada da camada especificada.
Sintaxe |
maptip(layer, feature, [evaluate=true]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
12.2.22.10. num_selected
Retorna o número de feições selecionadas em uma determinada camada. Por padrão, funciona na camada na qual a expressão é avaliada.
Sintaxe |
num_selected([layer=current layer]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
12.2.22.11. represent_value
Retorna o valor de representação configurado para um valor de campo. Depende do tipo de widget configurado. Frequentemente, isso é útil para widgets de ‘Mapa de valores’.
Sintaxe |
represent_value(value, fieldName) |
Argumentos |
|
Exemplos |
|
Leitura adicional: tipos de widget
12.2.22.12. sqlite_fetch_and_increment
Gerencia valores auto incrementais em bancos de dados sqlite
Valores SQLIte padrões podem apenas serem aplicados durante a inserção e não pré-buscados.
Isso torna impossível adquirir uma chave primária incrementada via AUTO_INCREMENT antes de criar a linha no banco de dados. Observação: com postgres, isso funciona por meio da opção avaliar valores padrão.
Ao adicionar novas feições com relações, é muito bom poder adicionar filhos para um pai, enquanto o formulário dos pais ainda está aberto e equanto a feição pai não estiver commitada.
Para contornar essa limitação, esta função pode ser usada para gerenciar valores de sequência em uma tabela separada em formatos baseados em sqlite como gpkg.
A tabela de sequência será filtrada para um id de sequência (filter_attribute e filter_value) e o valor atual do id_field será incrementado em 1 e o valor incrementado retornado.
Se colunas adicionais exigirem a especificação de valores, o mapa default_values poderá ser usado para essa finalidade.
Observação
Esta função modifica a tabela sqlite de destino. Destina-se ao uso com configurações de valor padrão para atributos.
Quando o parâmetro do banco de dados for uma camada e a camada estiver no modo de transação, o valor será recuperado apenas uma vez durante o tempo de vida de uma transação e armazenado em cache e incrementado. Isso torna inseguro trabalhar no mesmo banco de dados de vários processos em paralelo.
Sintaxe |
sqlite_fetch_and_increment(database, table, id_field, filter_attribute, filter_value, [default_values]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
Leitura adicional: Data Sources Properties, Criando uma ou muitas para muitas relações
12.2.22.13. uuid
Gera um Idenrificador Universal Único (UUID) para cada linha utilizando o método Qt QUuid::createUuid.
Sintaxe |
uuid([format=’WithBraces’]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
12.2.23. Relações
Este grupo contém a liste de relações disponíveis no projeto atual, junto com suas descrições. Ele permite acesso rápido ao ID da relação para a escrita de uma expressção (como por exemplo a função relation_aggregate) ou customização de um formulário.
12.2.24. Funções de String
Este grupo contém funções que operam em textos (por exemplo, quer substituir, converter para maiúsculas).
12.2.24.1. ascii
Retorna o código unicode associado ao primeiro caractere de uma string.
Sintaxe |
ascii(string) |
Argumentos |
|
Exemplos |
|
12.2.24.2. char
Retorna um caractere associal a um código unicode.
Sintaxe |
char(code) |
Argumentos |
|
Exemplos |
|
12.2.24.3. concat
Concatena várias strings em uma. Valores nulos são convertidos em strings vazias. Outros valores (como números) são convertidos para string).
Sintaxe |
concat(string1, string2, …) |
Argumentos |
|
Exemplos |
|
Sobre a concatenação de campos
Você pode também concatenar strings ou valores de campos utilizando também os operadores ||
ou +
, com algumas características:
O operador
+
também significa somar expressão; portanto, se você tiver um operando inteiro (valor numérico ou de campo), isso pode ser propenso a erros e é melhor usar os outros:'My feature id is: ' + "gid" => triggers an error as gid returns an integer
Quando qualquer um dos argumentos for um valor NULL,
||
ou+
retornará um valor NULL. Para retornar os outros argumentos independentemente do valor NULL, convém usar a funçãoconcat
:'My feature id is: ' + NULL ==> NULL 'My feature id is: ' || NULL => NULL concat('My feature id is: ', NULL) => 'My feature id is: '
12.2.24.4. format
Formate uma string usando os argumentos fornecidos.
Sintaxe |
format(string, arg1, arg2, …) |
Argumentos |
|
Exemplos |
|
12.2.24.5. format_date
Fomata o tipo date ou string em uma string formadata customizada. Usa o formato de string do Qt date/time . Veja QDateTime::toString.
Sintaxe |
format_date(datetime, format, [language]) [] indica argumentos opcionais |
||||||||||||||||||||||||||||||||||||||||||||||||
Argumentos |
|
||||||||||||||||||||||||||||||||||||||||||||||||
Exemplos |
|
12.2.24.6. format_number
Retonra um número formatado com o separador de milhar de acordo com a localização, Por padrão a localização atual do QGIS é utilizada. Também permite truncar as casas decimais para a quantidade de casas fornecidas.
Sintaxe |
format_number(number, [places=0], [language]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
12.2.24.7. left
Retorna uma parte de uma string que contém os enésimos caractere mais a esquerda de uma string.
Sintaxe |
left(string, length) |
Argumentos |
|
Exemplos |
|
12.2.24.8. length
Retorna o número de caracteres em uma string ou o tamanho de uma geometria linha.
Variante string
Retorna o número de caracteres em uma string.
Sintaxe |
length(string) |
Argumentos |
|
Exemplos |
|
Variante geometria
Calcule o comprimento de um objeto de geometria linha. Os cálculos são sempre planimétricos no Sistema de Referência Espacial (SRS) dessa geometria, e as unidades do comprimento retornado corresponderão às unidades do SRS. Isso difere dos cálculos realizados pela função $length, que realizará cálculos elipsoidais com base nas configurações de elipsóide e unidade de distância do projeto.
Sintaxe |
length(geometry) |
Argumentos |
|
Exemplos |
|
12.2.24.9. lower
Converte uma cadeia em letras minúsculas.
Sintaxe |
lower(string) |
Argumentos |
|
Exemplos |
|
12.2.24.10. lpad
Retorna uma cadeia preenchida à esquerda até a largura especificada, usando um caractere de preenchimento. Se a largura de destino for menor que o comprimento da cadeia, a cadeia, será truncada.
Sintaxe |
lpad(string, width, fill) |
Argumentos |
|
Exemplos |
|
12.2.24.11. regexp_match
Retorna a primeira posição que corresponda com a expressão regular em uma string unicode, ou 0 se a sub string não for encontrada.
Sintaxe |
regexp_match(input_string, regex) |
Argumentos |
|
Exemplos |
|
12.2.24.12. regexp_replace
Retorna uma string com Retorna uma string com a expressão regular fornecida substituída.
Sintaxe |
regexp_replace(input_string, regex, replacement) |
Argumentos |
|
Exemplos |
|
12.2.24.13. regexp_substr
Retorna a parte de uma cadeia que corresponde a uma expressão regular fornecida.
Sintaxe |
regexp_substr(input_string, regex) |
Argumentos |
|
Exemplos |
|
12.2.24.14. replace
Retorna uma string com a string, array ou mapa de strings fornecido substituído.
Variante String & array
Retorna uma string com a string ou matriz de strings fornecida substituída por uma string ou uma matriz de strings.
Sintaxe |
replace(string, before, after) |
Argumentos |
|
Exemplos |
|
Variação por mapeamento
Retorna a string com as chaves de mapas substituidas pelos valores pareados. As chaves mais longas são avaliadas primeiro.
Sintaxe |
replace(string, map) |
Argumentos |
|
Exemplos |
|
12.2.24.15. right
Retorna uma sub string que contém os caracteres n mais à direita da string.
Sintaxe |
right(string, length) |
Argumentos |
|
Exemplos |
|
12.2.24.16. rpad
Retorna uma string preenchida à direita na largura especificada, usando um caractere de preenchimento. Se a largura de destino for menor que o comprimento da string, a string será truncada.
Sintaxe |
rpad(string, width, fill) |
Argumentos |
|
Exemplos |
|
12.2.24.17. strpos
Retorna a primeira posição encontrada de uma substring em outra string, ou 0 se a substring não for encontrada.
Sintaxe |
strpos(haystack, needle) |
Argumentos |
|
Exemplos |
|
12.2.24.18. substr
Retorna uma parte de uma string.
Sintaxe |
substr(string, start, [length]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
12.2.24.19. title
Converte todas as palavras de uma string de título (todas as palavras com a primeira letra maiúscula).
Sintaxe |
title(string) |
Argumentos |
|
Exemplos |
|
12.2.24.20. to_string
Converte um número em string.
Sintaxe |
to_string(number) |
Argumentos |
|
Exemplos |
|
12.2.24.21. trim
Remove todos os espaços em branco do início e do final (espaços vazios, tabulações, etc) de uma string.
Sintaxe |
trim(string) |
Argumentos |
|
Exemplos |
|
12.2.24.22. upper
Converte uma string em letras maiúsculas.
Sintaxe |
upper(string) |
Argumentos |
|
Exemplos |
|
12.2.24.23. wordwrap
Retorna uma string agrupada em um número máximo/mínimo de caracteres.
Sintaxe |
wordwrap(string, wrap_length, [delimiter_string]) [] indica argumentos opcionais |
Argumentos |
|
Exemplos |
|
12.2.25. Expressões do usuário
Este grupo contém as expressões salvas como expressões do usuário.
12.2.26. Variáveis
Este grupo contém variáveis dinâmicas relacionadas a aplicação, ao arquivo do projeto e outras configurações. A disponibilidade das variáveis depende do contexto:
na caixa de diálogo de propriedades da camada
do layout de impressão
Para usar essas variáveis em uma expressão, elas devem ser precedidas pelo caractere @
(por exemplo, @row_number
).
Variável |
Descrição |
---|---|
algorithm_id |
O ID exclusivo de um algoritmo |
animation_end_time |
Fim do intervalo de tempo geral da animação (como um valor de data e hora) |
animation_interval |
Duração do intervalo temporal geral da animação (como um valor de intervalo) |
animation_start_time |
Início do intervalo temporal geral da animação (como um valor de data e hora) |
atlas_feature |
A feição atual do atlas (como objeto de feição) |
atlas_featureid |
O ID da feição do atlas atual |
atlas_featurenumber |
O número atual da feição do atlas no layout |
atlas_filename |
O nome do arquivo do atlas atual |
atlas_geometry |
A geometria da feição do atlas atual |
atlas_layerid |
O ID da camada de cobertura do atlas atual |
atlas_layername |
O nome atual da camada de cobertura do atlas |
atlas_pagename |
O nome da página atual do atlas |
atlas_totalfeatures |
O número total de feições no atlas |
canvas_cursor_point |
A última posição do cursor na tela nas coordenadas geográficas do projeto |
cluster_color |
A cor dos símbolos em um cluster ou NULL se os símbolos tiverem cores misturadas |
cluster_size |
O número de símbolos contidos em um cluster |
current_feature |
A feição atualmente sendo editada no formulário de atributo ou na linha da tabela |
current_geometry |
A geometria da feição atualmente sendo editada no formulário ou na linha da tabela |
current_parent_feature |
representa a feição que está sendo editada no formulário pai. Apenas utilizável em um formulário incorporado pelo contexto. |
geometria_parent_atual |
representa a geometria da feição que está sendo editada no formulário pai. Apenas utilizável em formulário incorporado pelo contexto. |
form_mode |
Para que o formulário é usado, como AddFeatureMode, SingleEditMode, MultiEditMode, SearchMode, AggregateSearchMode ou IdentifyMode como string. |
frame_duration |
Duração temporal de cada quadro de animação (como um valor de intervalo) |
frame_number |
Número do quadro atual durante a reprodução da animação |
frame_rate |
Número de quadros por segundo durante a reprodução da animação |
fullextent_maxx |
Valor máximo de x da extensão completa da tela (incluindo todas as camadas) |
fullextent_maxy |
Valor y máximo da extensão total da tela (incluindo todas as camadas) |
fullextent_minx |
Valor mínimo de x da extensão completa da tela (incluindo todas as camadas) |
fullextent_miny |
Valor y mínimo da extensão completa da tela (incluindo todas as camadas) |
geometry_part_count |
O número de partes na geometria da feição renderizada |
geometry_part_num |
O número da parte da geometria atual para a feiição que está sendo renderizada |
geometry_point_count |
O número de pontos na parte da geometria renderizada |
geometry_point_num |
O número do ponto atual na parte da geometria renderizada |
geometry_ring_num |
Número do anel da geometria atual da feição sendo renderizado (para feições do tipo polígonos apenas). O anel exterior tem um valor de 0; |
grid_axis |
O eixo de anotação da grade atual (por exemplo, ‘x’ para longitude, ‘y’ para latitude) |
grid_number |
O valor atual da anotação da grade |
item_id |
O ID do usuário do item de layout (não necessariamente exclusivo) |
item_uuid |
O ID exclusivo do item de layout |
layer |
A camada atual |
layer_crs |
Autoridade do Sistema de Referência de Coordenadas da camada atual |
layer_id |
O ID da camada atual |
layer_ids |
Uma lista com os ID de todas as camadas de mapas no projeto atual |
layer_name |
O nome da camada atual |
layers |
Lista com todas as camadas no projeto atual |
layout_dpi |
A resolução da composição (DPI) |
layout_name |
O nome do layout |
layout_numpages |
O número de páginas no layout |
layout_page |
O número da página do item atual no layout |
layout_pageheight |
Altura da página atual no layout (em mm para tamanhos de papéis padrão, ou qualquer outra unidade sendo usada pelo tamanho de papel customizado) |
layout_pageoffsets |
Array de coordenadas do eixo Y de cada página. Permite posicionar itens dinamicamente nas páginas em um contexto em que os tamanhos das páginas podem mudar |
layout_pagewidth |
Largura da página atual no layout (em mm para tamanhos de papel padrão, ou outra unidade utilizada em tamanhos de papel customizado) |
legend_column_count |
O número de colunas na legenda |
legend_filter_by_map |
Indica se o conteúdo da legenda é filtrado pelo mapa |
legend_filter_out_atlas |
Indica se o atlas é filtrado para fora da legenda |
legend_split_layers |
Indica se as camadas podem ser divididas na legenda |
legend_title |
O título da lenda |
legend_wrap_string |
O(s) caractere(s) usados para quebrar o texto da legenda |
map_crs |
O Sistema de referência de coordenadas do mapa atual |
map_crs_acronym |
A sigla do Sistema de referência de coordenadas do mapa atual |
map_crs_definition |
A definição completa do Sistema de referência de coordenadas do mapa atual |
map_crs_description |
O nome do Sistema de referência de coordenadas do mapa atual |
map_crs_ellipsoid |
A sigla do elipsóide do Sistema de referência de coordenadas do mapa atual |
map_crs_proj4 |
A definição Proj4 do Sistema de referência de coordenadas do mapa atual |
map_crs_projection |
O nome descritivo do método de projeção usado pelo sistema de referência de coordenadas do mapa (por exemplo, ‘Albers Área Igual’) |
map_crs_wkt |
A definição WKT do Sistema de referência de coordenadas do mapa atual |
map_end_time |
O fim do intervalo de tempo temporal do mapa (como um valor de data e hora) |
map_extent |
A geometria que representa a extensão atual do mapa |
map_extent_center |
A feição de ponto no centro do mapa |
map_extent_height |
A altura atual do mapa |
map_extent_width |
A largura atual do mapa |
map_id |
O ID do destino atual do mapa. Será ‘canvas’ para renderizações de tela, e o ID do item para renderizações de mapa de layout |
intervalo do mapa |
A duração do intervalo de tempo temporal do mapa (como um valor de intervalo) |
map_layer_ids |
A lista de IDs da camada do mapa visíveis no mapa |
map_layers |
A lista de camadas do mapa visíveis no mapa |
map_rotation |
A rotação atual do mapa |
map_scale |
A escala atual do mapa |
map_start_time |
O início do intervalo de tempo temporal do mapa (como um valor de data e hora) |
map_units |
As unidades de medidas do mapa |
model_path |
Caminho completo (incluindo o nome do arquivo) do modelo atual (ou caminho do projeto se o modelo estiver incorporado em um projeto). |
model_folder |
Pasta que contém o modelo atual (ou pasta do projeto se o modelo estiver incorporado em um projeto). |
model_name |
Nome do modelo atual |
model_group |
Grupo para o modelo atual |
notification_message |
Conteúdo da mensagem de notificação enviada pelo provedor (disponível apenas para ações acionadas por notificações do provedor). |
parent |
Refere-se a feição atual na camada pai, fornecendo acesso aos seus atributos e geometria ao filtrar uma função aggregate |
project_abstract |
O resumo do projeto, extraído dos metadados do projeto |
project_area_units |
A unidade de área do projeto atual, usada no cálculo de áreas de geometrias |
project_author |
O autor do projeto, extraído dos metadados do projeto |
project_basename |
O nome base do nome do arquivo do projeto atual (sem caminho e extensão) |
project_creation_date |
A data de criação do projeto, extraída dos metadados do projeto |
project_crs |
O Sistema de referência de coordenadas do projeto |
project_crs_arconym |
A sigla do Sistema de referência de coordenadas do projeto |
project_crs_definition |
A definição completa do Sistema de referência de coordenadas do projeto |
project_crs_description |
A descrição do Sistema de referência de coordenadas do projeto |
project_crs_ellipsoid |
O elipsóide do Sistema de referência de coordenadas do projeto |
project_crs_proj4 |
A representação do Proj4 do Sistema de referência de coordenadas do projeto |
project_crs_wkt |
A representação WKT (well known text) do Sistema de referência de coordenadas do projeto |
project_distance_units |
A unidade de distância para o projeto atual, usada no cálculo de comprimentos de geometrias e distâncias |
project_ellipsoid |
O nome do elipsóide do projeto atual, usado no cálculo de áreas geodésicas ou comprimentos de geometrias |
project_filename |
O nome do arquivo do projeto atual |
project_folder |
A pasta do projeto atual |
project_home |
O caminho inicial do projeto atual |
project_identifier |
O identificador do projeto, obtido dos metadados do projeto |
project_keywords |
As palavras-chave do projeto, extraídas dos metadados do projeto |
project_last_saved |
Data/hora em que o projeto foi salvo pela última vez. |
project_path |
O caminho completo (incluindo o nome do arquivo) do projeto atual |
project_title |
O título do projeto atual |
project_units |
As unidades do SRC do projeto |
qgis_locale |
O idioma atual do QGIS |
qgis_os_name |
O nome atual do sistema operacional, por exemplo, ‘windows’, ‘linux’ ou ‘osx’ |
qgis_platform |
A plataforma QGIS, por exemplo, ‘desktop’ ou ‘servidor’ |
qgis_release_name |
O nome da versão atual do QGIS |
qgis_short_version |
A string curta da versão atual do QGIS |
qgis_version |
A string de versão atual do QGIS |
qgis_version_no |
O número da versão atual do QGIS |
row_number |
Armazena o número da linha atual |
snapping_results |
Dá acesso aos resultados de encaixe ao digitalizar uma feição (disponível apenas no adicionar feição) |
scale_value |
O valor atual da distância da barra de escala |
selected_file_path |
Caminho de arquivo selecionado do seletor de widget de arquivo ao carregar um arquivo com um sistema de armazenamento externo |
symbol_angle |
O ângulo do símbolo usado para renderizar a feição (válido apenas para símbolos de marcador) |
symbol_color |
A cor do símbolo usado para renderizar a feição |
symbol_count |
O número de feições representadas pelo símbolo (na legenda do layout) |
symbol_id |
O ID interno do símbolo (na legenda do layout) |
symbol_label |
O rótulo do símbolo (um rótulo definido pelo usuário ou o rótulo gerado automaticamente por padrão - na legenda do layout) |
symbol_layer_count |
Número total de camadas de símbolo no símbolo |
symbol_layer_index |
Current symbol layer index |
symbol_marker_column |
Número da coluna para marcador (válido apenas para preenchimentos de padrão de ponto). |
symbol_marker_row |
Número da linha do marcador (válido apenas para preenchimentos de padrão de ponto). |
user_account_name |
O nome da conta do sistema operacional do usuário atual |
user_full_name |
O nome do usuário do sistema operacional do usuário atual |
value |
O valor atual |
vector_tile_zoom |
Nível exato de zoom do bloco vetorial do mapa que está sendo renderizado (derivado da escala do mapa atual). Normalmente no intervalo [0, 20]. Ao contrário de @zoom_nível, esta variável é um valor de ponto flutuante que pode ser usado para interpolar valores entre dois níveis de zoom inteiros. |
with_variable |
Permite definir uma variável para uso em uma expressão e evitar recalcular o mesmo valor repetidamente |
@zoom_nível |
Nivel de zoom do tile do vetor no mapa que está sendo renderizado (derivado da escala do mapa atual). Normalmente um intervalo [0,20]. |
Alguns exemplos:
Retorna a coordenada X de um centro de item de mapa no layout:
x( map_get( item_variables( 'map1'), 'map_extent_center' ) )
Retorne, para cada feição na camada atual, o número de feições de aeroporto sobrepostas:
aggregate( layer:='airport', aggregate:='count', expression:="code", filter:=intersects( $geometry, geometry( @parent ) ) )
Obtém o object_id do primeiro ponto ajustado de uma linha:
with_variable( 'first_snapped_point', array_first( @snapping_results ), attribute( get_feature_by_id( map_get( @first_snapped_point, 'layer' ), map_get( @first_snapped_point, 'feature_id' ) ), 'object_id' ) )
12.2.27. Funções Recentes
Este grupo contém funções usadas recentemente. Dependendo do contexto de seu uso (seleção de feição, calculadora de campo, genérico), as expressões aplicadas recentemente são adicionadas à lista correspondente (até dez expressões), ordenadas de mais para menos recente. Isso facilita a rápida recuperação e reaplicação de expressões usadas anteriormente.