Tutoriel : Calcul du pourcentage de l'occupation des sols par sous-bassin
5. Calculer la superficie de la classe d'occupation des sols par sous-bassin
Nous devons maintenant calculer la superficie de la classe CORINE niveau 1 par sous-bassin.
1. Ouvrez la table des attributs de la couche corine_bassins_intersect_cor.
Dans la table d'attributs, nous pouvons trouver le champ SurfBassin avec la superficie de chaque sous-bassin, le champ DN avec l'ID unique de chaque sous-bassin, et le champ Niveau1 avec la classe CORINE de niveau 1 pour chaque entité.
Nous allons ajouter un nouveau champ et calculer la superficie de chaque entité qui correspond à la superficie de chaque classe de niveau 1 dans un sous-bassin, de la même manière que nous l'avons fait précédemment pour les sous-bassins.
2. Basculez en mode édition.
3. Ajouter un champ SurfClass
avec comme Type, Nombre décimal (réel), une Longueur 10
, et Précision 2
.
4. Utilisez la Calculatrice de champ pour calculer SurfClass = $area
et cliquez sur Tout mettre à jour.
5. Ajoutez maintenant un champ pour le pourcentage de chaque classe CORINE niveau 1 dans chaque sous-bassin. Appelez le champ Pourcentage
avec le Type ; Nombre décimal (réel), Longueur 4
, et Précision 1
.
6. Utilisez le calculateur de champ pour calculer le pourcentage comme suit: Pourcentage = (SurfClass/SurfBassin) * 100
. Vous pouvez utiliser le Calculateur d'expression pour formuler l'équation.
7. Cliquez sur Tout mettre à jour pour attribuer le pourcentage à chaque entité.
8. Pour compléter la table des attributs, ajoutez un champ avec les noms correspondant aux classes de niveau 1 sous forme de texte. Appelez-le OccupSol
. Utilisez la fonction CASE...WHEN
(c-à-d Cas ..... quand) pour cela.
Cette fonction vous permet de rédiger des conditions. Cela signifie par exemple : si l'attribut " Niveau1" est égal à la valeur 1, le résultat est la chaîne de caractères "Surfaces artificielles", etc.
9. Enregistrer les modifications et sortez du mode d'édition.
La table des attributs devrait maintenant ressembler à ceci :