Pages: 1
- Sujet précédent - QGIS: Calculer la somme des aires dans la legende suivant un attribut - Sujet suivant
#1 Thu 11 June 2015 19:01
- Cegetine
- Juste Inscrit !
- Date d'inscription: 11 Jun 2015
- Messages: 3
QGIS: Calculer la somme des aires dans la legende suivant un attribut
Bonjour,
J'ai une table de polygones avec un attribut qui 4 valeurs possibles: verger, potager, pelouse, maison.
J'ai une analyse thématique simple pour affecter une couleur à chaque surface en fonction de l'attribut.
Je voudrais simplement faire apparaitre dans la légende la surface totale des surfaces concernées pour chacune des valeurs.
Je ne sais pas si ma question est claire?
Merci, Christine
Hors ligne
#2 Fri 12 June 2015 09:13
- nicoboud
- Membre
- Lieu: Nantes
- Date d'inscription: 12 Oct 2007
- Messages: 860
Re: QGIS: Calculer la somme des aires dans la legende suivant un attribut
Bonjour et bienvenue sur le forum,
Une solution possible :
1- utiliser l'extension GroupStat pour produire vos agrégations (mettre votre attribut contenant "verger, potager ..." dans Rows; mettre Sum et Area dans Value)
2- enregistrer votre résultat dans un fichier CSV (menu Data>Save All to CSV File)
3- ajouter ce CSV dans votre projet
4- ajouter une table d'attribut dans votre composeur (la table d'attribut de votre fichier CSV).
Nicolas.
Co-modérateur du forum Mapinfo
Utilisateur Mapinfo et QGIS
Hors ligne
#3 Tue 16 June 2015 09:02
- monique
- Participant actif
- Date d'inscription: 7 Oct 2005
- Messages: 146
Re: QGIS: Calculer la somme des aires dans la legende suivant un attribut
Bonjour,
Vous pouvez aussi utiliser le décompte des entités (clic droit sur la couche)
depuis la version 2.6, ce décompte apparait aussi dans la légende du composeur.
Monique
Hors ligne
#4 Fri 20 January 2023 11:44
- Papa-Yankee-Bzh
- Participant occasionnel
- Date d'inscription: 14 Feb 2019
- Messages: 44
Re: QGIS: Calculer la somme des aires dans la legende suivant un attribut
Bonjour
Je fais remonter ce vieux post car j’ai exactement le même problème mais peut-être que huit ans après il y a une solution plus simple pour le faire directement dans le projet Qgis, sans passer par une extension ?
J’ai essayé avec des formules trouvées sur l’aide (celles qui utilisent aggregate, sum etc.), mais ça ne fonctionne pas : dans la légende, il affiche la même valeur pour toutes les catégories : soit 0, soit la somme totale, soit la somme de la 1ère catégorie, qu’il répète pour les autres.
Dans mon cas, j’ai deux catégories basées sur une colonne "code" (1 = végétation conservée ; 2 = végétation supprimée) et j’ai une colonne "surface". Dans la légende, je voudrais afficher : Végétation conservée (x m2) et Végétation supprimée (y m2) ; c'est l'affichage du nombre pour x et y qui me posent problème, ce qui se passe avant et après, normalement j’y arrive.
Si quelqu’un a une idée ? Sinon tant pis. je taperai le nb dans la légende, à l’ancienne ! :-)
"Le possible est fait, l'impossible est en cours. Pour les miracles, prévoir un délai."
Hors ligne
#5 Fri 20 January 2023 14:11
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3885
Re: QGIS: Calculer la somme des aires dans la legende suivant un attribut
Bonjour,
Genre https://docs.qgis.org/3.22/fr/docs/user … end-labels ?
Hors ligne
#6 Fri 20 January 2023 14:27
- GlaDal
- Participant assidu
- Date d'inscription: 30 Aug 2013
- Messages: 1024
Re: QGIS: Calculer la somme des aires dans la legende suivant un attribut
Bonjour,
Vous pouvez également vous inspirez de cet article :https://pigrecoinfinito.com/2022/06/20/ … a-legenda/
Hors ligne
#7 Sun 22 January 2023 18:18
- liege67
- Participant actif
- Lieu: Liège
- Date d'inscription: 10 Apr 2014
- Messages: 134
Re: QGIS: Calculer la somme des aires dans la legende suivant un attribut
merci pour le partage de ce script made in Italy ;-)
Hors ligne
#8 Tue 24 January 2023 17:32
- Rafalco
- Participant occasionnel
- Date d'inscription: 22 Jul 2016
- Messages: 11
Re: QGIS: Calculer la somme des aires dans la legende suivant un attribut
Bonjour,
J'ai testé, sur qgis 3.28, la formulation donnée par le lien fourni par Santanna: (https://docs.qgis.org/3.22/fr...)
format( '%1 (%2) - %3ha',
@symbol_label,
@symbol_count,
round( aggregate(@layer, 'sum', $area, filter:= "champ choisi" =@symbol_label)/10000 ))
Chez moi elle ne marche pas.
Quelqu'un a-t-il utilisé cette formulation avec succès?
Si oui cela validera au moins le fait que le problème n'est pas dans la formule mais plutôt dans mon installation ou entre le clavier et l'écran!
Merci
Hors ligne
#9 Tue 24 January 2023 23:51
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3885
Re: QGIS: Calculer la somme des aires dans la legende suivant un attribut
Hello,
Je confirme que ça marche. Ma classification est faite sur le champ "TYPE_2"
PS: La prévisualisation en bas de la fenêtre d'expression reste statique sinon incorrecte. Faut quand même valider la fenêtre et ne pas se laisser avoir.
Hors ligne
#10 Wed 25 January 2023 06:46
- Rafalco
- Participant occasionnel
- Date d'inscription: 22 Jul 2016
- Messages: 11
Re: QGIS: Calculer la somme des aires dans la legende suivant un attribut
Bonjour,
Effectivement ça marche. Ton exemple m'a permis de voir où était mon erreur. Cette fonction est réservée à la mise en page.
Je l'avais vu comme un complément du "Afficher le nombre d’entités" du panneau couches.
Merci
Hors ligne
Pages: 1
- Sujet précédent - QGIS: Calculer la somme des aires dans la legende suivant un attribut - Sujet suivant