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

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Tue 20 January 2015 21:51

Carine13004
Juste Inscrit !
Lieu: Marseille
Date d'inscription: 15 Mar 2013
Messages: 5

QGIS : Count et somme

Bonjour, je prends la main sur QGis :

je cherche à faire un count et une somme sur une couche du style :

Table1 :
Code       Valeur
01       10
01       5
01       1
02       2   
02       4


1/. je veux compter le nombre d'objets par code

Chez MapInfo je ferais Selection SQL :   
Table : Table1
Colonne : Code
Requête : Code, count(*)
Grouper par : Code
Ordonné par : Code (si je veux les ranger).

Résultat :
Code   Count
01       3
02       2

2/. Dans le même ordre d'idée je veux faire la somme de ces valeurs par code

Résultat sous MapInfo :
Code    Valeur
01       16
02       6
   
Je ne trouve pas l'équivalent sous QGis,
les messages plus anciens parlent de l’extension "GroupStat",
mais je n'y arrive pas non plus en suivant le raisonnement suivant :

Fenêtre Group Stat :
Layers : Table1
Colums : valeur
Rows : Code
Value : Sum

Ça ne lui plait pas (j'ai même essayé en inversant colums et rows en désespoir de cause...)

Je voudrais donc
- savoir si c'est bien sur qu'on ne puisse pas faire de comptage et de somme sous QGis directement
sauf en passant par Group Stat (ou en passant par spatialite)
- comprendre ce qui m’échappe avec Group Stat.

(NB : je dois être sure de ce que j'avance on me demande de travailler sur les données,
sans passer par des solutions de secours comme la fusion d'objets sélectionnés en sommant leur valeur).

Je vous remercie, je galère un peu en passant de MapInfo à QGis.
Carine

Hors ligne

 

#2 Wed 21 January 2015 10:44

SANTANNA
Moderateur
Lieu: Angers
Date d'inscription: 18 Jan 2008
Messages: 3945

Re: QGIS : Count et somme

Bonjour,
Group Stats n'est pas vraiment évident à comprendre à moins d'avoir regardé l'aide associée. Et encore... Je pense qu'il peut être beaucoup plus intuitif mais bon...Dans votre cas, il vous faut mettre :
row : code
value : le champ valeur et la fonction Count (à remplacer par Sum pour le second cas).
Pour ce qui concerne les questions d'ordre général sur les statistiques dans QGIS :
- Group Stats est en effet un des plus utilisés/recommandés de la sphère QGIS. Il est beaucoup plus flexible, permet plein de combinaisons, une fois qu'on a compris son fonctionnement.
- je pense que la boite à outils Traitements devrait de plus en plus proposer de fonctions permettant de faire de telles manipulations : une recherche sur "stat" ou "sql" renvoie un certain nombre de résultats que je n'ai pas testés mais si j'en crois ce que je lis ici et là, la boîte à outils va de plus en plus être le lieu où on va trouver tous les scripts possibles et imaginables.
Une autre option est le plugin DissolvewithStats (il faudra accepter l'installation des extensions expérimentales) qui fait quand même de la fusion de géométries mais ressort aussi bien des stats sur le champ.
Bon courage

Dernière modification par SANTANNA (Wed 21 January 2015 10:44)

Hors ligne

 

#3 Wed 21 January 2015 10:49

MathieuR
Membre
Lieu: aix-en-provence
Date d'inscription: 16 Feb 2009
Messages: 1690
Site web

Re: QGIS : Count et somme

Bonjour,

Ce n'est pas sum qu'il faut utiliser mais l'opérateur count.


geodata au cerema et petits billets en géomatique

Hors ligne

 

#4 Wed 21 January 2015 16:23

Carine13004
Juste Inscrit !
Lieu: Marseille
Date d'inscription: 15 Mar 2013
Messages: 5

Re: QGIS : Count et somme

Bonjour,
merci pour toutes ces méthodes que j'ai testées.
Je récapitule et j'apporte quelques modifs (je suis sur QGIs 2.6)

POUR COMPTER :

1/. Group Stat
row : code
value : le champ code (et non valeur) et la fonction Count
(on peut récupérer en mode .csv)

2/. Onglet Traitement/Ligne de commande/Statistics by Categories
Une table s'ajoute aux couches (idem .csv de Group Stat)

POUR SOMMER LES VALEURS

1/. Group Stat
row : code
value : le champ valeur et la fonction Sum

2/. On parle dans les forums de fusion d'entités avec une somme des attributs
(Selectionner les entités et se mettre en mode édition) Onglet Editer/Fusionner les entités sélectionnées.
Sous la 2.6 il n'y a pas possibilité de choisir une somme, la fusion se lance direct.

3/. Autre possibilité avancée : le regroupement d'entité
Onglet Vecteur/Outil de géotraitement/Regrouper.
Apparemment ce n'est pas possible sur des fichiers de points comme c'est mon cas, et il n'y a pas la possibilité de faire de somme.

4/. Extension expérimentale Dissolve With Stats
je n'ai pas encore réussi à la faire marcher !

A bientôt
Carine

Dernière modification par Carine13004 (Wed 21 January 2015 16:31)

Hors ligne

 

#5 Wed 21 January 2015 16:41

Julie P
Participant actif
Lieu: Pessac
Date d'inscription: 4 Oct 2006
Messages: 107
Site web

Re: QGIS : Count et somme

Bonjour,
L'extension dissolve with stats ne fonctionne pas pour les couches de points, puisqu'elle utilise l'algorithme de "regrouper" que vous citez en 3/
Désolée ! (et je corrige les messages d'erreur pour la prochaine version)

Hors ligne

 

#6 Wed 21 January 2015 17:35

SANTANNA
Moderateur
Lieu: Angers
Date d'inscription: 18 Jan 2008
Messages: 3945

Re: QGIS : Count et somme

Carine13004 a écrit:

POUR COMPTER :

1/. Group Stat
row : code
value : le champ code (et non valeur) et la fonction Count
(on peut récupérer en mode .csv)


En principe, si le champ "valeur" est renseignée pour toutes les "code" de la table, count(code)=count(valeur). Utiliser le champ valeur ou le champ code devrait renvoyer le même résultat.

Carine13004 a écrit:

2/. On parle dans les forums de fusion d'entités avec une somme des attributs
(Selectionner les entités et se mettre en mode édition) Onglet Editer/Fusionner les entitées sélectionnées.
Sous la 2.6 il n'y a pas possibilité de choisir une somme, la fusion se lance direct.


Cette option de récupération des statistiques tout en fusionnant des entités reste toujours disponible. Lorsque vous lancez la commande "Fusionner les entités", c'est sur la ligne ID de la fenêtre qui s'ouvre qu'il faut choisir l'opération d'agrégation à faire. Par contre, les fonctions sont assez limitées sans compter qu'il faut sélectionner --> fusionner les entités autant de fois qu'il y a de valeurs différentes dans le champ code. C'est plutôt rébarbatif.
DissolvewithStats a plus de fonctions d'agrégation et l'avantage de gérer la sélection/fusion. Dommage qu'il ne fonctionne pas (pour le moment?) sur les points (une petite couche buffer intermédiaire sur les points peut contourner la chose en attendant...)

Hors ligne

 

Pied de page des forums

Powered by FluxBB