Wichtig

Übersetzen ist eine Gemeinschaftsleistung - Sie können mitmachen <https://qgis.org/en/site/getinvolved/translate.html#becoming-a-translator>`_. Diese Seite ist aktuell zu 100.00% ü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.

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.

../../../_images/field_calculator.png

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.

../../../_images/density1.png

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.

../../../_images/ratio.png

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.

../../../_images/predominance.png

Unter Funktionseditor steht ein Feldrechner mit Python zur Verfügung. Hierauf gehen wir jetzt nicht näher ein.

../../../_images/advanced.png