Important
La traduction est le fruit d’un effort communautaire auquel vous pouvez vous joindre. Cette page est actuellement traduite à 81.25%.
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.
Tout d’abord, calculons la densité de population des personnes blanches dans chaque polygone, qui représente un recensement. Nous avons deux champs dans la table attributaire que nous pouvons utiliser pour cela, à savoir WHITE et SHAPE_AREA. Nous avons juste à les diviser et les multiplier par un million (pour avoir la densité par km carré), nous pouvons donc utiliser la formulaire suivante dans le champ correspondant :
( "WHITE" / "SHAPE_AREA" ) * 1000000
La boîte de dialogue des paramètres devrait être remplie comme montré ci-dessous :
Cela va générer un nouveau champ appelé 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.
Entrez la formule suivante
"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