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.
Wir wissen bereits, wie man den Rasterrechner verwendet, um neue Rasterlayer mit Hilfe von mathematischen Ausdrücken zu erstellen. Einen ähnlichen Algorithmus gibt es auch für Vektorlayer. Er erstellt eine neuen Layer mit denselben Attributen des Eingabelayers und einem zusätzlichen Attribut, das sich aus der Auswertung des Ausdrucks ergibt. Der Algorithmus wird Feldrechner genannnt und verwendet den folgenden Dialog zur Parametereingabe.
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.
Wir werden zuerst den Anteil der weißen Menschen in jedem Polygon, d.h. in einem Zensusgebiet, bestimmen. Wir können dazu die Felder WHITE
und SHAPE_AREA
aus der Attributtabelle verwenden. Wir dividieren die Werte und multiplizieren sie anschließend mit einer Million (um auf die Dichte je Quadratkilometer zu kommen). Wir können die folgende Formel verwenden.
( "WHITE" / "SHAPE_AREA" ) * 1000000
Der Dialog zur Paramtereingabe sollte wie folgt ausgefüllt sein.
Dadurch wird ein neues Feld WHITE_DENS
erstellt.
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.
Geben Sie die folgende Formel ein
"MALES" / "FEMALES"
Dieses Mal sollte das Parameterfenster wie folgt aussehen. Drücken Sie nun auf die OK Schaltfläche.
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.
Unter Funktionseditor steht ein Feldrechner mit Python zur Verfügung. Hierauf gehen wir jetzt nicht näher ein.