#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: 3885
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
#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
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: 3885
Re: QGIS : Count et somme
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.
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