Important
La traduction est le fruit d’un effort communautaire auquel vous pouvez vous joindre. Cette page est actuellement traduite à 62.50%.
17.11. Calculatrice Vecteur
Note
Dans cette leçon, nous verrons comment ajouter de nouveaux attributs à une couche vectorielle en se basant sur une expression mathématique, en utilisant la calculatrice vecteur.
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.
Note
Les récentes versions de Traitement ont considérablement fait évoluer l’interface, devenant plus robuste et plus facile à utiliser.
Voici quelques exemples d’utilisation de cet algorithme.
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
La boîte de dialogue des paramètres devrait être remplie comme montré ci-dessous :
This will generate a new field named WHITE_DENS.
Calculons maintenant dans un nouveau champ le ratio entre les champs MALES` et FEMALES pour voir si la population masculine est numériquement prédominante sur la population féminine.
Enter the following formula:
"MALES" / "FEMALES"
This time the parameters window should look like this before pressing the OK button.
Dans la version précédente, les deux champs étant de type entier, le résultat sera tronqué en un entier. Pour indiquer que le résultat souhaiter doit être à virgule flottante, la formule devrait être: 1.0 * "MALES" / "FEMALES".
Nous pouvons utiliser des fonctions conditionnelles pour avoir un nouveau champ avec comme chaîne de caractères mâle ou femelle à la place de ces valeurs de rapport, en utilisant la formule suivante:
CASE WHEN "MALES" > "FEMALES" THEN 'male' ELSE 'female' END
La fenêtre des paramètres devrait ressembler à ceci.
A python field calculator is available in the Advanced Python field calculator, which will not be detailed here.