Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Suite à un problème technique intervenu entre le 22 et le 23 mars, nous avons du procéder dans la soirée du 25 mars, à la restauration de la base de données du 24 mars (matinée).

En clair, nous avons perdu vos contributions et inscriptions du dimanche 24 et du lundi 25 mars.
Nous vous prions de nous excuser.

#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
Moderateur
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: 41

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: 3787

Re: QGIS: Calculer la somme des aires dans la legende suivant un attribut

Hors ligne

 

#6 Fri 20 January 2023 14:27

GlaDal
Participant assidu
Date d'inscription: 30 Aug 2013
Messages: 987

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: 125

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: 3787

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.


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

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

 

Pied de page des forums

Powered by FluxBB