#1 Mon 17 October 2016 22:23
- laurent00
- Participant assidu
- Date d'inscription: 6 Aug 2007
- Messages: 405
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: 3947
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: 405
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: 405
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: 3947
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 ). 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: 405
Re: QGIS: calcul de stat dans polygone
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
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: 405
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: 405
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)
Hors ligne
#11 Fri 28 October 2016 11:49
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3947
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: 405
Re: QGIS: calcul de stat dans polygone
non je n'ai rien testé d'autre option pour le moment ...
LJ
Hors ligne