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

Rencontres QGIS 2025

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

#1 Sun 14 April 2019 19:00

ODJAC33
Participant assidu
Date d'inscription: 6 Aug 2017
Messages: 240

QGIS: Comment calculer les coords moyennes de groupes d'éoliennes?

Bonjour à tous,
Je cherche une solution pour trouver le centre de gravité (coordonnées moyennes) de 927 groupes d'éoliennes, dont chaque éolienne est identifié par le nom du groupe suivi de "-n° de l'éolienne" (exemple si le groupe d'éoliennes E102 a 3 éoliennes, celles-ci auront comme identifiant E102-1, E102-2 et E102-3).
Je connais le géotraitement Vecteur, Outil d'analyse, Coordonnées moyennes, mais celui-ci s'applique à un seul groupe, comme l'appliquer d'un seul coup à 927 groupes?
Merci d'avance de vos conseils.

Hors ligne

 

#2 Mon 15 April 2019 17:25

TLSR
Participant occasionnel
Date d'inscription: 1 Feb 2019
Messages: 17

Re: QGIS: Comment calculer les coords moyennes de groupes d'éoliennes?

Bonjour,

Pour réaliser ce traitement, tu peux réaliser une enveloppe convexe (fonction disponible dans les traitements vecteurs) pour chacune de tes zones (en s'appuyant sur l'identifiant des zones) ensuite, calculer le centroïde de chaque zone, et enfin les coordonnées de chaque point. 

PS: Pour isoler l'identifiant du groupe (E102 par exemple), si il n'est pas présent dans un champs (pour lui seul), tu peux l'isoler avec la fonction left() et sélectionner les 4 premiers caractères de ta chaîne.

N'hésites pas si tu a des questions.

Hors ligne

 

#3 Tue 16 April 2019 11:57

Sylvain M.
Participant assidu
Lieu: Saint-Pierre-des-Nids (53)
Date d'inscription: 8 Sep 2005
Messages: 995

Re: QGIS: Comment calculer les coords moyennes de groupes d'éoliennes?

Après avoir créé le champ d'identifiant du groupe (avec la fonction left() ), tu dois pouvoir créer une couche de "multi-points" avec l'outil "Vecteur > Outils de Géométrie > De morceaux uniques à morceaux multiples", en te basant sur ce champ.

Ensuite, tu pourras utiliser les différentes fonctions de calcul de centroïde d'entités sur cette couche de multipoint, via la calculatrice de champ par exemple.


Sylvain M.

Hors ligne

 

#4 Tue 16 April 2019 13:08

ODJAC33
Participant assidu
Date d'inscription: 6 Aug 2017
Messages: 240

Re: QGIS: Comment calculer les coords moyennes de groupes d'éoliennes?

Merci à vous deux pour vos réponses.
J'ai réussi à créer le champ d'identifiant du groupe avec la fonction left : j'ai un champ en plus dans ma base qui s'appelle Id Groupe et qui comporte les 5 premiers caractères de l'identifiant de mes éoliennes. Par exemple si j'ai 3 éoliennes dont l'attribut Nom est E0102-1, E0102-2 et E0102-3, le champ Id Groupe de chacune de ces 3 éoliennes vaudra E0102.
C'est après que j'ai du mal. Sylvain, tu me conseilles d'utiliser la fonction De morceaux uniques à morceaux multiples mais je ne la trouve pas, je ne trouve que la fonction De morceaux multiples à morceaux unique et TLSR, je n'arrive pas à calculer une enveloppe convexe appliquer à un semis de points car ma base de données d'éoliennes c'est un semis de points.
L'idéal serait que j'arrive à relier les éoliennes d'un même groupe par des segments pour former une polyligne fermée et donc une surface (par groupe, E102 dans mon exemple), dont je pourrais calculer le centroïde.
Merci pour vos conseils.

Hors ligne

 

#5 Tue 16 April 2019 14:03

TLSR
Participant occasionnel
Date d'inscription: 1 Feb 2019
Messages: 17

Re: QGIS: Comment calculer les coords moyennes de groupes d'éoliennes?

ODJAC33 a écrit:

L'idéal serait que j'arrive à relier les éoliennes d'un même groupe par des segments pour former une polyligne fermée et donc une surface (par groupe, E102 dans mon exemple), dont je pourrais calculer le centroïde.
Merci pour vos conseils.


C'est le principe de l'enveloppe convexe (cela crée un polygone plutôt qu'une polyligne). Désolé, je n'ai peut-être pas assez détaillé :
- Vecteur - Outils de geotraitement - Enveloppe convexe
- Couche en entrée : ta couche de point
  Champ : Ton champ d'ID de groupe
  Méthode : Création d'enveloppes convexes basées sur un champ de saisie
Cette outil va créer une couche de polygone pour chacune de tes "zones", ou chaque sommet du polygone sera un point de ta couche eolienne.

Hors ligne

 

#6 Tue 16 April 2019 15:10

ODJAC33
Participant assidu
Date d'inscription: 6 Aug 2017
Messages: 240

Re: QGIS: Comment calculer les coords moyennes de groupes d'éoliennes?

Champ : Ton champ d'ID de groupe
Excuses moi, mais dans l'interface de l'outil Enveloppe Convexe, je ne vois pas où l'on peut spécifier un champ sur lequel l'algo va s'appliquer.
Comme paramètres, je n'ai qu'un fichier en entrée (couche source, mon fichier de points éoliennes) et un fichier en sortie (Enveloppe convexe).
J'utilise la 3.4.4.
Merci encore.

Hors ligne

 

#7 Tue 16 April 2019 16:57

TLSR
Participant occasionnel
Date d'inscription: 1 Feb 2019
Messages: 17

Re: QGIS: Comment calculer les coords moyennes de groupes d'éoliennes?

Ah, effectivement je suis sur la version 2.18.24. C'est étonnant que cette fonctionnalité ne soie pas maintenue. Je n'ai pas accès à Qgis 3.4 dans l'immédiat, mais je te suggère de faire une recherche dans la boite à outil, peut-être existe-t-il plusieurs algo pour faire des enveloppes convexe. Je regarde sur 3.4 dès que je peux.

Hors ligne

 

#8 Tue 16 April 2019 17:57

carteq
Participant assidu
Date d'inscription: 8 Mar 2008
Messages: 829

Re: QGIS: Comment calculer les coords moyennes de groupes d'éoliennes?

Utilisez l'outil "Regrouper" pour faire des multipoints.

Hors ligne

 

#9 Tue 16 April 2019 18:37

ODJAC33
Participant assidu
Date d'inscription: 6 Aug 2017
Messages: 240

Re: QGIS: Comment calculer les coords moyennes de groupes d'éoliennes?

j'ai également la 2.18 qui effectivement n'a pas la même interface pour le calcul des enveloppes convexes.
Mes enveloppes convexes sur les groupes d'éoliennes ont super bien fonctionné (ainsi que les centroïdes qui ont suivi).
Un grand merci.

Hors ligne

 

#10 Wed 17 April 2019 09:36

ODJAC33
Participant assidu
Date d'inscription: 6 Aug 2017
Messages: 240

Re: QGIS: Comment calculer les coords moyennes de groupes d'éoliennes?

Suite de cet échange : j'ai calculé mes centres de gravité sur les enveloppes convexes, mais je m'aperçois que ça serait peut-être mieux de les calculer sur des polygones dont les sommets joignent chaque éolienne de chaque groupe (ce qui n'est pas le cas des enveloppes convexes qui font des raccourcis dès qu'il y a une concavité).
D'où ma question toute simple : existe t'il un outil qui pourrait me générer des polygones pour chaque groupe (ces polygones passant par toutes les éoliennes de chaque groupe)?
Dans l'image jointe on voit bien que si l'on calcule le centre de gravité de l'enveloppe convexe, ça ne sera pas totalement exact car l'enveloppe convexe a  "zappé"4 points. Il faudrait un polygone qui relie tous les points (éoliennes).
Merci d'avance.


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

Hors ligne

 

#11 Wed 17 April 2019 14:06

carteq
Participant assidu
Date d'inscription: 8 Mar 2008
Messages: 829

Re: QGIS: Comment calculer les coords moyennes de groupes d'éoliennes?

Si on utilise des multipoints pour représenter chaque groupe, peut-on obtenir le centroid des multipoints ? À partir de là, on pourrait regrouper encore ces centroids en un multi-point et obtenir le centroid, qui serait le centre de gravité.

Hors ligne

 

#12 Wed 17 April 2019 14:12

TLSR
Participant occasionnel
Date d'inscription: 1 Feb 2019
Messages: 17

Re: QGIS: Comment calculer les coords moyennes de groupes d'éoliennes?

Effectivement, l'algorithme d'enveloppe convexe va créer ...des enveloppe convexes. Cependant, il existe des algorithmes pour créer des enveloppes concaves, mais il ne me semble pas que tu puisses te baser sur un champs pour définir tes zones. Toutefois tu peux te renseigner grâce à ce lien.
http://www.portailsig.org/content/sur-l … enir-forme

Sinon, je viens de voir qu'il existait un outil 'Coordonnées moyennes' dans Vecteur, outils d'analyse. Tu peux indiquer un champ d'identifiant. Je n'ai pas essayé mais j'imagine que ça fonctionne.

Hors ligne

 

#13 Wed 17 April 2019 15:30

Sylvain M.
Participant assidu
Lieu: Saint-Pierre-des-Nids (53)
Date d'inscription: 8 Sep 2005
Messages: 995

Re: QGIS: Comment calculer les coords moyennes de groupes d'éoliennes?

Ou sinon, en exportant la table des éoliennes avec leur XY respectifs, faire le calcul tout bête de la moyenne de X et moyenne de Y pour chaque ensemble : via un tableau croisé dynamique Excel par exemple, puis en créant la couche de points correspondants (via l'ajout de la table CSV correspondante)


Sylvain M.

Hors ligne

 

#14 Wed 17 April 2019 16:21

TLSR
Participant occasionnel
Date d'inscription: 1 Feb 2019
Messages: 17

Re: QGIS: Comment calculer les coords moyennes de groupes d'éoliennes?

Sylvain M. a écrit:

Ou sinon, en exportant la table des éoliennes avec leur XY respectifs, faire le calcul tout bête de la moyenne de X et moyenne de Y pour chaque ensemble : via un tableau croisé dynamique Excel par exemple, puis en créant la couche de points correspondants (via l'ajout de la table CSV correspondante)


J'avais pensé à cette solution, néanmoins, cela ne fonctionne pas. Imagine que tu aies une zone avec 10 points très rapprochés au nord et un seul point au sud. Pour les Y par exemple, la moyenne va être calculée sur les 11 valeurs. Et ta valeur moyenne Y va donc être fortement influencé par les valeurs importantes (les 10 points situés au nord) et ton point "moyen" aura des coordonnées bien plus proche des points du nord. D'un point de vue statistiques, sur la série de valeurs, la moyenne est correct. Mais spatialement, elle ne représente pas le centroïde de la zone. Avec cette méthode, plus un espace de la zone comprendra de points, plus les coordonnées moyennes obtenues se rapprocheront de cette zone.

Cette méthode peut-être appliquée uniquement si l'on considère les Xmin / Xmax et Ymax / Ymin de l'ensemble de points, les limites de l'emprise. Et ce calcul renvoie exactement la même chose que le centroïde d'une enveloppe convexe. Puisqu'il ne prend pas en compte le fait qu'il puisse y avoir des concavités.

PS : Je voie que vous parlez de l'outil de tableau croisé dynamique sur Excel, je me permets de vous suggérer l'extension 'Group Stats' disponible sur Qgis qui permet à peu de chose près les mêmes fonctionnalités sur Qgis. Cela peut s'avérer pratique.

Hors ligne

 

#15 Wed 17 April 2019 17:04

ODJAC33
Participant assidu
Date d'inscription: 6 Aug 2017
Messages: 240

Re: QGIS: Comment calculer les coords moyennes de groupes d'éoliennes?

Merci beaucoup de vos suggestions.
TLSR j'ai suivi ton conseil avec l'outil coordonnées moyennes que l'on peut lier à un champ. Je l'ai donc tout simplement lié à mon champ Id Groupe et ça a super bien marché.
Concernant ta remarque sur les 10 points au Nord et le point au Sud, l'outil "Coordonnées moyennes" propose une pondération qui pourrait rendre la solution plus acceptable spatialement.
A noter que j'ai comparé les résultats avec l'enveloppe convexe et ceux obtenus avec l'outil "coordonnées moyennes" : on trouve des résultats très proches sauf en cas de distribution concave des points comme dans l'image que j'avais jointe (75 m. d'écart entre les deux points tout de même).
Encore un grand merci et à la prochaine pour d'autres échanges passionnants

Hors ligne

 

#16 Wed 17 April 2019 17:14

carteq
Participant assidu
Date d'inscription: 8 Mar 2008
Messages: 829

Re: QGIS: Comment calculer les coords moyennes de groupes d'éoliennes?

Selon mes tests, "Regrouper" avec Id_group, puis "Centroid" sur le résultat donne exactement le même résultat final.

Hors ligne

 

Pied de page des forums

Powered by FluxBB