Wichtig
Übersetzen ist eine Gemeinschaftsleistung Sie können mitmachen. Diese Seite ist aktuell zu 62.50% übersetzt.
17.11. Vektorberechner
Bemerkung
In dieser Lektion lernen wir, wie man neue Attribute zu einem Vektorlayer basierend auf einem mathematischen Ausdruck mit Hilfe des Vektorrechners hinzufügt.
We already know how to use the raster calculator to create new raster layers using mathematical expressions. A similar algorithm is available for vector layers, and generates a new layer with the same attributes of the input layer, plus an additional one with the result of the expression entered. The algorithm is called Field calculator and has the following parameters dialog.
Bemerkung
In neueren Versionen hat sich die Eingabeschnittstelle stark verändert. Sie ist umfangreicher und einfacher zu nutzen.
Es folgen einige Beispiele zur Nutzung des Algorithmus.
First, let’s calculate the population density of white people in each polygon, which represents a census.
We have two fields in the attributes table that we can use for that, namely WHITE and SHAPE_AREA.
We just have to divide them and multiply by one million (to have density per square km),
so we can use the following formula in the corresponding field:
( "WHITE" / "SHAPE_AREA" ) * 1000000
Der Dialog zur Paramtereingabe sollte wie folgt ausgefüllt sein.
This will generate a new field named WHITE_DENS.
Als nächstes berechnen wir das Verhältnis von MALES zu FEMALES in einem neuen Feld. Wir ermitteln damit inwieweit die männliche Bevölkerung gegenüber der weiblichen vorwiegt.
Enter the following formula:
"MALES" / "FEMALES"
This time the parameters window should look like this before pressing the OK button.
In früheren Versionen wurde das Ergebnis nur als Ganzzahl ausgegeben, da beide Eingabefelder ganzzahlig sind. In diesem Fall muss man folgende Formel verwenden: 1.0 * "MALES" / "FEMALES". Damit wird angezeigt, dass das Ergebnis eine Fließkommazahl sein soll.
Wir können bedingte Funktionen verwenden, um ein neues Feld zu erzeugen, das anstelle des Verhältnisses mit male oder female gefüllt wird. Das kann mit der folgenden Formel erfolgen:
CASE WHEN "MALES" > "FEMALES" THEN 'male' ELSE 'female' END
Das Parameterfenster sollte wie folgt aussehen.
A python field calculator is available in the Advanced Python field calculator, which will not be detailed here.