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 Mon 17 October 2016 22:23

laurent00
Participant assidu
Date d'inscription: 6 Aug 2007
Messages: 362

QGIS: calcul de stat dans polygone

bonsoir
j'ai une couche de point
je définie une couche de polygone
je souhaite calculer directement les stats de la couche point dans ces zones/polygones
est-ce possible ?

LJ

Hors ligne

 

#2 Tue 18 October 2016 09:35

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

Re: QGIS: calcul de stat dans polygone

Salut
Sans mention de la version de QGIS, je suppose que t'es sur la 2.16. Et ça m'arrange car la réponse est dans ses nouveaux outils d'agrégation. Voir http://qgis.org/fr/site/forusers/visual … xpressions

Hors ligne

 

#3 Wed 19 October 2016 00:04

laurent00
Participant assidu
Date d'inscription: 6 Aug 2007
Messages: 362

Re: QGIS: calcul de stat dans polygone

effectivement 2.16

j'ai testé cette expression

aggregate(layer:='quadrangulaire', aggregate:='count', expression:="q_azimut")


qui ramène le nbr de points total identique à toutes les zones
mais je n'arrive pas à obtenir le nbr de points par zone ...

j'ai testé ceci sans résultat

aggregate(layer:='quadrangulaire', aggregate:='count', expression:="q_azimut", concatenator:='$geometry')


j'ai tenté avec "relation_aggregate" mais elle semble ne pas fonctionner car impossible de l'activer dans la calculatrice (elle ne se met jamais en gras !!)

LJ

Dernière modification par laurent00 (Wed 19 October 2016 00:05)

Hors ligne

 

#4 Wed 19 October 2016 08:46

michel56
Participant assidu
Lieu: Lorient
Date d'inscription: 14 Jul 2012
Messages: 474

Re: QGIS: calcul de stat dans polygone

Tu vas dans Traitement > Boîte à outils

Ensuite Géotraitements Qgis > Outils d’analyse vectorielle > Compter les points dans les polygones

Dernière modification par michel56 (Wed 19 October 2016 08:52)


Opérateur cartographique & DAO & PHP.

Hors ligne

 

#5 Wed 19 October 2016 08:51

laurent00
Participant assidu
Date d'inscription: 6 Aug 2007
Messages: 362

Re: QGIS: calcul de stat dans polygone

est-ce que cela me permettra de faire des stats autre que le nombre de points
pas sur !

LJ

Hors ligne

 

#6 Wed 19 October 2016 08:56

michel56
Participant assidu
Lieu: Lorient
Date d'inscription: 14 Jul 2012
Messages: 474

Re: QGIS: calcul de stat dans polygone

non juste le nombre de points.

Mais il y a aussi des fonctions de stats dans la boite à outils mais je ne les ai jamais utilisées.


Opérateur cartographique & DAO & PHP.

Hors ligne

 

#7 Wed 19 October 2016 12:40

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

Re: QGIS: calcul de stat dans polygone

Bonjour,

j'ai tenté avec "relation_aggregate" mais elle semble ne pas fonctionner car impossible de l'activer dans la calculatrice (elle ne se met jamais en gras !!)


Cette fonction est disponible lorsqu'il existe une relation 1:n dans le projet (et peut-être même sur la couche concernée).

Je viens de tester en essayant avec des fonctions de relations spatiale et ça ne me renvoie rien de bon. Bizarre que ce ne soit pas évident à trouver, si faisable. Ca me semble être une opération courante, en matière d'agrégation.

Par contre, tu peux créer un champ dans ta couche point et y rapatrier l'id du polygone en superposition avec le plugin SpatialJoin( le plugin reffunctions est requis). Ensuite, tu crées la relation 1:n  et utilises la fonction relation_aggregate.
Ça ne te crée pas de nouvelles couches intermédiaires, tu crées juste un champ intermédiaire. Et ça a l'avantage de rester dynamique.
Par contre, je trouve que c'est un peu compliqué pour arriver à ses fins (on devient exigeant avec QGIS smile ). J'ai posté une demande sur les listes de diffusion utilisateur et développeur. A suivre

Hors ligne

 

#8 Thu 20 October 2016 21:40

laurent00
Participant assidu
Date d'inscription: 6 Aug 2007
Messages: 362

Re: QGIS: calcul de stat dans polygone

SANTANNA a écrit:

Par contre, tu peux créer un champ dans ta couche point et y rapatrier l'id du polygone en superposition avec le plugin SpatialJoin( le plugin reffunctions est requis). Ensuite, tu crées la relation 1:n  et utilises la fonction relation_aggregate.


ma relaton 1:n est bien créée je le contrôle en affichant les éléments d'information et je vois bien qu'a ma zone des id de points sont liés
mais dans la calculatrice relation_aggregate refuse de se mettre en gras ...

j'ai pas regardé les commentaires sur le post

SANTANNA a écrit:

utilisateur et développeur. A suivre ...


LJ

22:46
petite méprise !
dans relation-aggregate c le nom de la relation qu'il faut appeler et non celui de l'autre couche ....
LJ

Dernière modification par laurent00 (Thu 20 October 2016 22:47)

Hors ligne

 

#9 Thu 20 October 2016 22:58

laurent00
Participant assidu
Date d'inscription: 6 Aug 2007
Messages: 362

Re: QGIS: calcul de stat dans polygone

et avec un if j'arrive à compter ce que je veux

relation_aggregate('zone', 'count', if("q_azimut"<1,"q_azimut", ''))


maintenant il ne devrait pas être difficile de faire des camenberts sur chaque zone ...
c'est un peu moins direct que je l'aurais souhaité mais a priori suffisant pour ce que je veux faire ... car je n'ai que qlq colonnes à calculer
LJ

Dernière modification par laurent00 (Thu 20 October 2016 23:00)

Hors ligne

 

#10 Fri 28 October 2016 07:50

laurent00
Participant assidu
Date d'inscription: 6 Aug 2007
Messages: 362

Re: QGIS: calcul de stat dans polygone

bonjour
avec un if je pensais compter ce que je voulais mais cela ramène des résultats aberrants

le count total marche bien, mais lorsque je veux calculer les éléments > et < à zéro ça se gâte voir le rés en PJ

relation_aggregate('q_relation', 'count', if("q_azimut" >= 0, "q_azimut", ''))
et
relation_aggregate('q_relation', 'count', if("q_azimut" < 0, "q_azimut", ''))


la condition if ne semble pas bien répondre dans le relation_aggregate ...
mes valeurs s'étalent de -90 à + 90 avec 2 décimales
LJ

Dernière modification par laurent00 (Fri 28 October 2016 07:52)


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

Hors ligne

 

#11 Fri 28 October 2016 11:49

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

Re: QGIS: calcul de stat dans polygone

Salut,
Suite à la discussion initiée par ta demande, le paramètre permettant de faire l'agrégation croisée avec une couche a été implémenté. Sera disponible avec la version 3.0 donc. Si tu veux aller plus loin dans l'utilisation de ces fonctions ou penses à des options complémentaires, il ne faut pas hésiter à en discuter avec les développeurs, soit sur la liste de diffusion soit sur le hub.qgis.org (PS: une petite contribution en parallèle au projet reste toujours la bienvenue).

Mais ça ne résout pas pour l'instant ton problème. As-tu exploité les autres pistes évoquées dans la discussion, notamment l'utilisation de couche virtuelle ou une fonction Python ad'hoc?

Hors ligne

 

#12 Fri 28 October 2016 12:25

laurent00
Participant assidu
Date d'inscription: 6 Aug 2007
Messages: 362

Re: QGIS: calcul de stat dans polygone

non je n'ai rien testé d'autre option pour le moment ...

LJ

Hors ligne

 

Pied de page des forums

Powered by FluxBB