Exercice 12 : Calculatrice de champ

Utiliser la calculatrice sur de nouveaux champs

Objectif : rajouter deux champs à une couche vectorielle et calculer automatiquement leur valeur

Question

Dans la couche COMMUNES de la BD TOPO (répertoire H_ADMINISTRATIF), rajouter deux champs :

  • un champ SURFACE qui donnera la superficie de la commune en hectares (sans décimale) à partir des fonctions géométriques ;

  • un champ DENSITE qui permettra d'obtenir le nombre d'habitants au km² pour chaque commune (également sans décimale).

Solution

Ajout du champ SURFACE
  • Afficher la table attributaire du fichier COMMUNE de la BDTOPO.

  • Entrer en mode édition en cliquant sur l'icône «Basculer en mode édition ».

  • Utiliser la calculatrice de champ pour créer le champ SURFACE.

  • Choisir un type Nombre entier.

  • On utilisera l'opérateur géométrique $area qui donnera la surface en m².

  • Comme il est demandé que le champ SURFACE soit exprimé en hectares et en unités (sans décimale), il faut utiliser d'autres fonctions pour transformer les m² en hectares et les arrondir à l'unité en utilisant l'opérateur de conversion toint() vers un nombre entier.

NB : pour rappel, un hectare est égal à 10 000m².

  • Comme il apparaît sur l'image ci-dessous, la formule à composer est : toint ( $area / 10000 )

  • Cette formule peut être :

    • soit saisie directement au clavier dans la partie inférieure de la fenêtre

    • soit composée en double-cliquant sur chaque opérateur dans la liste au-dessus.

Création et calcul du champ SURFACE

Cliquer sur OK.

Le nouveau champ SURFACE se trouve à la droite dans la table attributaire.

Champ SURFACE rajouté
Ajout du champ DENSITE

On utilise également la calculatrice de champ pour créer le champ DENSITE.

  • Celui-ci sera calculé à partir du champ POPUL et de la fonction $area. Comme il est demandé que la densité soit exprimée en nombre d'habitants par km², on divisera le résultat de $area par 1 000 000 (1 000 000 de m² dans un km²).

  • Choisir un type Nombre entier.

  • Dans la fenêtre Expression, saisir la formule de calcul suivante à partir des champs POPULATION et des fonctions : toint("POPUL" / ($area / 1000000))

  • Ne pas oublier de fermer les parenthèses ouvertes.

  • On peut aussi utiliser la formule : toint("POPUL" / $area) x 1000000

  • Les noms des champs peuvent être entre guillemets ("POPUL") soit sans guillemets (POPUL). Ceux-ci sont utiles essentiellement dans le cas où le nom du champ contient des espaces. Par défaut, le composeur de formules met les guillemets.

N.B. : on aurait pu également calculer la densité en utilisant le champ SURFACE créé précédemment, mais comme sa valeur est approchée à l'entier le plus proche, il vaut mieux repartir de la fonction initiale $area ce qui minimisera l'erreur sur le calcul de la densité.

Création et calcul du champ DENSITE

L' « Aperçu du résultat » qui apparaît sous la fenêtre « Expression » indique le résultat trouvé par la calculatrice de champ.

Si la formule est correcte, cliquer sur OK. La fenêtre se ferme automatiquement.

Les résultats du calcul apparaissent dans la colonne DENSITE située à droite dans la table attributaire.

Champ DENSITE ajouté

Les résultats à obtenir par communes de la BD TOPO sont les suivants pour la surface en hectares et la densité en nombre d'habitants par km²  :

Résultats exercice 12

Pour visualiser ce résultat on utilisera la possibilité d'organiser les colonnes de la table attributaire par clic droit dans un des noms de colonnes, puis organiser les colonnes.

Puis on cliquera sur la colonne NOM pour trier par ordre alphabétique sur les noms de communes.