Outdated version of the documentation. Find the latest one here.

Feldrechner

Der mActionCalculateField Feldrechner Knopf in der Atttributtabelle ermöglicht es, auf Basis von Attributwerten oder definierten Funktionen, z.B. Längen- oder Flächenberechnung neue Werte zu berechnen. Die Ergebnisse können in eine neue Attributspalte geschrieben werden oder bereits vorhandene Werte einer bestehenden Attributspalte zu überschreiben.

Erst müssen Sie den Vektorlayer in den Bearbeitungsmodus bringen. Dann können Sie auf das Feldrechner Icon klicken, um den Dialog zu öffnen (siehe figure_attributes_3). Im Dialog müssen Sie zu Beginn auswählen, ob Sie nur ausgewählte Objekte updaten wollen, eine neue Attributspalte erstellen wollen wo die Ergebnisse einer Berechnung eingetragen werden oder ob Sie ein bestehendes Feld updaten wollen.

Figure Attributes 3:

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

Field Calculator nix

Wenn Sie eine neue Attributspalte verwenden wollen, müssen Sie einen Namen dafür angeben, den Ausgabefeldtyp (integer, real or string), die Ausgabefeldbreite und die Ausgabefeldgenauigkeit (Nachkommastellen) (siehe figure_attributes_3). Wenn Sie z.B. als Ausgabefeldbreite 10 gewählt haben und eine Ausgabefeldgenauigkeit von 3, bedeutet es, dass sie 6 Zeichen vor dem Trennzeichen, das Trennzeichen und weitere 3 Nachkommastellen in der Spalte zur Verfügung haben.

Die Funktionsliste enthält Funktionen genauso wie Felder und Werte. Schauen Sie auch in die Hilfefunktion in Hilfe zur gewählten Funktion. In Ausdruck sehen Sie die Berechnungsausdrücke die Sie mit der Funktionsliste erstellt haben. Die am häufigsten verwendeten Operatoren finden Sie unter Operatoren.

Klicken Sie in der Funktionsliste auf Felder und Werte um sich alle Attribute der zu betreffenden Attributtabelle anzeigen zu lassen. Um ein Attribut in das Ausdruck Feld einzufügen machen Sie einen Doppelklick in die Liste Felder und Werte. Sie können im Allgemeinen verschiedene Felder, Werte und Funktionen benutzen um den Berechnungsausdruck zu konstruiren Sie können diese aber auch einfach in die Box eingeben. Um den Wert eines Feldes darzustellen klicken Sie einfach auf das entsprechende Feld. Sie können zwischen Die ersten zehn eindeutigen Werte laden und Alle eindeutigen Werte laden wählen. Auf der rechten Seite öffnet sich dann die Feldwerte Liste mit den eindeutigen Werten. Um einen Wert zu der Ausdruck Box des Feldrechners hinzuzufügen machen Sie einen Doppelklick auf seinen Namen in der Feldwerte Liste.

Die Gruppen Operatoren, Mathematik, Umwandlungen, Zeichenketten, Geometrie und Datensatz stellen zahlreiche Funktionen zur Verfügung. In Operatoren finden Sie mathematische Operatoren. Suchen Sie in Mathematik nach mathematischen Funktionen. Die Umwandlungen Gruppe enthält Funktionen die einen Datentyp in einen anderen konvertieren. Die Zeichenkette Gruppe stellt Funktionen für Datenketten zur Verfügung. in der Geometrie Gruppe finden Sie Funktionen für Geometrieobjekte. Mit den Funktionen der Datensatz Gruppe können Sie Ihren Datensatz mit einer Nummerierung versehen. Um eine Funktion in die Ausdruck Box des Feldrechners hinzuzufügen klicken Sie auf > und doppelklicken Sie dann die Funktion.

Ein kurzes Beispiel veranschaulicht wie der Feldrechner arbeitet. Wir wollen die Länge des railroads Layers aus dem QGIS Beispieldatensatz berechnen.

  1. Laden Sie das Shape railroads.shp in QGIS und öffnen Sie die den Dialog mActionOpenTable Attributtabelle öffnen.

  2. Klicken Sie auf mActionToggleEditing Bearbeitungsmodus umschalten und öffnen Sie den mActionCalculateField Feldrechner Dialog.

  3. Wählen Sie das checkbox Neues Feld anlegen Kontrollkästchen um die Berechnungen in ein neues Feld zu speichern.

  4. Setzen Sie laenge als Ausgabefeldname, real als Ausgabefeldtyp und definieren Sie die Ausgabefeldbreite mit 10 und die Ausgabefeldgenauigkeit mit 3.

  5. Klicken Sie jetzt auf die Funktion laenge in der Geometrie Gruppe um es als $length in den Feldrechnerausdruck zu kopieren und drücken dann auf [Ok].

  6. Sie können jetzt eine neue Spalte laenge in der Attributtabelle finden.

Die erhältlichen Funktionen sind unten aufgeführt.

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

Die Funktionsliste des Feldrechners mit den Menüs Hilfe zu gewählten Funktionen, Operatoren und Ausdruck findet man auch in der regelbasierten Darstellung im Reiter Stil der Layereigenschaften und in der Ausdrucksbeschriftung browsebutton in der mActionLabeling Beschriftung Kernanwendung.