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

Printemps des cartes 2024

#1 Fri 25 March 2022 11:45

Raf
Participant occasionnel
Date d'inscription: 25 Oct 2019
Messages: 17

QGIS: Comptage d'entite par valeur de champ

Bonjour à vous.

J'ai deux couches : une couche de commune et une couche de mobilier archéologie avec un champ de n° Insee pour faire une relation et un champ de type de mobilier (céramique, fer etc...).

J'aimerais, pour chaque commune, obtenir le décompte de chaque entité par type de mobilier en utilisant l'expression

relation_aggregate('Ma_relation', 'count', 'Type_de_Mob', "ceramique(par exemple)")

Mais je n'arrive pas à filtrer le comptage correctement. Il ne me trouve que le décompte de chaque entité de mobilier par commune.

Auriez vous une solution?

Merci d'avance

Hors ligne

 

#2 Fri 25 March 2022 12:01

sylvainSIG
Participant assidu
Lieu: Moissac
Date d'inscription: 29 Nov 2018
Messages: 263

Re: QGIS: Comptage d'entite par valeur de champ

Hello,

Essayes avec :


Code:

aggregate(layer:='tonlayer', aggregate:='count', expression:="tonchampmobilier", filter:="insee"

C'est l'équivalent ou presque de la requête PGSQL :

Code:

SELECT 
   insee,
   count(insee) 
FROM 
   tatable
GROUP BY insee
ORDER BY insee

Dernière modification par sylvainSIG (Fri 25 March 2022 12:04)

Hors ligne

 

#3 Fri 25 March 2022 12:27

Raf
Participant occasionnel
Date d'inscription: 25 Oct 2019
Messages: 17

Re: QGIS: Comptage d'entite par valeur de champ

Ce n'est pas ce que je cherche.
je ne veux pas le nombre de commune, je veux le nombre d'entité par commune par valeur de l'entité.

En gros en SQL, ca donnerait plutot

select 'commune_nsee', count(type_mobilier)

from 'commune', 'mobilier'

where 'commune_insee' = 'mobilier_insee'

group by 'commune_insee', 'type_mobilier'

mais en créant un champ de comptage pour chaque type de mobilier

Dernière modification par Raf (Fri 25 March 2022 12:36)

Hors ligne

 

#4 Wed 28 September 2022 07:51

PhilCAD64
Participant occasionnel
Date d'inscription: 26 Nov 2013
Messages: 31

Re: QGIS: Comptage d'entite par valeur de champ

J'ai actuellement le même problème. Je pose ici ce que j'ai tenté et ce que ça donne:
Couche 1 - linéaire - des Tronçons
Couche 2 - points - des anomalies avec un attribut gravité de 1 à 3
(mon champ GRAVITE est un champ virtuel mais en testant avec un champ classique ça ne change rien)


- 1
aggregate(layer:= 'Couche2',  aggregate:='count',expression:="GRAVITE"='1', filter:="CHAMPCOMMUN2"=attribute(@parent,'CHAMPCOMMUN1' ))
Ça me compte le nombre total des éléments du champ commun mais pas dont la GRAVITE est = 1

- 2
aggregate(layer:= 'Couche2',  aggregate:='count',expression:="CHAMPCOMMUN2"=attribute(@parent,'CHAMPCOMMUN1' ), filter:="GRAVITE"='1')
Ça me compte le nombre total des éléments dont la GRAVITE est = 1 dans l'ensemble de ma couche2

Dernière modification par PhilCAD64 (Wed 28 September 2022 08:30)

Hors ligne

 

#5 Wed 28 September 2022 09:00

PhilCAD64
Participant occasionnel
Date d'inscription: 26 Nov 2013
Messages: 31

Re: QGIS: Comptage d'entite par valeur de champ

Je viens de trouvé en tâtonnant:

aggregate(layer:= 'Couche2',  aggregate:='count',expression:='1', filter:="CHAMPCOMMUN2"=attribute(@parent,'CHAMPCOMMUN1' ) and "GRAVITE='1')

du coup expression n'a pas d'importance pour un count

Hors ligne

 

Pied de page des forums

Powered by FluxBB