Calculadora de campo

O botão mActionCalculateField Calculadora de Campo na tabela de atributos permite realizar cálculos com base na em um atributo existente ou funções definidas. Exemplo: para calcular o comprimento ou área da geometria das feições. Os resultados podem ser gerados para uma nova coluna de atributos ou usados para atualizar valores de uma coluna já existente.

Você tem que deixar a camada vetorial em modo de edição e, após isso, clicar no ícone da calculadora de campo para abrir o diálogo (veja a figure_attributes_3). Na caixa de diálogo, você tem primeiro que selecionar o que se quer para atualizar somente estas, criar um novo campo de atributos onde os resultados do cálculo serão adicionados ou atualizados em um campo existente.

Figure Attributes 3:

../../../_images/fieldcalculator.png

Field Calculator nix

If you choose to add a new field, you need to enter a field name, a field type (integer, real or string), the total field width, and the field precision (see figure_attributes_3). For example, if you choose a field width of 10 and a field precision of 3 it means you have 6 signs before the dot, then the dot and another 3 signs for the precision.

A Lista de funções contem funções assim como os campos e valores. Visualize a função de ajuda na Ajuda de função selecionada. Em Expessão, você pode ver o cálculo das expressões que você criar com a Lista de funções. Para os operadores mais utilizados, veja Operadores.

In the Function List, click on Fields and Values to view all attributes of the attribute table to be searched. To add an attribute to the Field calculator Expression field, double click its name in the Fields and Values list. Generally you can use the various fields, values and functions to construct the calculation expression or you can just type it into the box. To display the values ​​of a field, you just right click on the appropriate field. You can choose between Load top 10 unique values and Load all unique values. On the right side opens the Field Values list with the unique values. To add a value to the Field calculator Expression box, double click its name in the Field Values list.

The Operators, Math, Conversions, String, Geometry and Record groups provides several functions. In Operators you find mathematical operators. Find Math for mathematical functions. The Conversions group contains functions that convert one data type to another. The String group provides functions for data strings. In the Geometry group you find functions for geometry objects. With Record group functions you can add a numeration to your data set. To add a function to the Field calculator Expression box, click on the > and then doubleclick the function.

A short example illustrates how the field calculator works. We want to calculate the length of the railroads layer from the QGIS sample dataset:

  1. Load the Shapefile railroads.shp in QGIS and press mActionOpenTable Open Attribute Table.
  2. Clique em mActionToggleEditing Alternar modo de edição e abra a caixa de diálogo mActionCalculateField Calculadora de Campo.

  3. Marque a caixa de seleção checkbox Criar um novo campo para calcular em um novo campo.

  4. Digite comprimento como Nome do arquivo de Saida, (número decimal) real como Tipo de arquivo de saida e defina a Espessura do campo de saida com 10 e a Precisão de 3.

  5. Now click on function length in the Geometry group to add it as $length into the Field calculator expression box and click [Ok].
  6. Você pode agora encontrar a nova coluna ``comprimento``na tabela de atributos.

The available functions are listed below.

column name "column name"            value of the field column name
'string'                             a string value
NULL                                 null value
a IS NULL                            a has no value
a IS NOT NULL                        a has a value
a IN (value[,value])                 a is below the values listed
a NOT IN (value[,value])             a is not below the values listed
a OR b                               a or *b* is true
a AND b                              a and *b* is true
NOT a                                inverted truth value of a
sqrt(a)                              square root of a
sin(a)                               sinus of a
cos(a)                               cosinus of b
tan(a)                               tangens of a
asin(a)                              arcussinus of a
acos(a)                              arcuscosinus of a
atan(a)                              arcustangens of a
to int(a)                            convert string a to integer
to real(a)                           convert string a to real
to string(a)                         convert number a to string
lower(a)                             convert string a to lower case
upper(a)                             convert string a to upper case
length(a)                            length of string a
atan2(y,x)                           arcustangens of y/x using the signs of the two
                                     arguments to determine the quadrant of the result
replace(*a*, replacethis, withthat)  replace this with that in string a
regexp_replace(a,this,that)          replace the regular expression this with that
substr(*a*,from,len)                 len characters of string *a* starting from from
                                     (first character index is 1)
a || b                               concatenate strings a and b
$rownum                              number current row
$area                                area of polygon
$perimeter                           perimeter of polygon
$length                              length of line
$id                                  feature id
$x                                   x coordinate of point
$y                                   y coordinate of point
xat(n)                               X coordinate of the point of an n-th line (indeces
                                     start at 0; negative values refer to the line end)
yat(n)                               y coordinate of the point of an n-th line (indeces
                                     start at 0; negative values refer to the line end)
a = b                                a and b are equal
a != b and a <> b                    a and b are not equal
a >= b                               a is larger than or equal to b
a <= b                               a is less than or equal to b
a > b                                a is larger than b
a < b                                a is smaller than b
a ~ b                                a matches the regular expression b
a LIKE b                             a equals b
a ILIKE b                            a equals b (without regard to case-sensitive)
a |wedge| b                          a raised to the power of b
a * b                                a multiplied by b
a / b                                a divided by b
a + b                                a plus b
a - b                                a minus b
+ a                                  positive sign
- a                                  negative value of a

O menu da calculadora de campo Lista de funções com a Ajuda de função selecionada , Operadores e Expressão* também estao disponíveis na aba Estilo da propriedades do layer através da opção de renderização baseada em regra e na expressao baseada em rótulo browsebutton na aplicação mActionLabeling Labeling.