#1 Tue 15 May 2012 16:31
- B.Arnaud
- Participant occasionnel
- Date d'inscription: 13 Jan 2011
- Messages: 19
QGIS: déterminer centroid de polygone
Bonjour,
J'essaye de déterminer les coordonnées des centroids d'une maille que je viens de créer.
J'ai tenté l'outils : vecteur->outils de géométrie-> centroid des polygones. Effectivement il me donne les centroids de ma maille, mais le problème est que dans la table attributaire il y a 5 colonnes (id; xmin; xmax; ymin; ymax). Je ne sais pas à quoi correspondent les "min" et "max", je ne vois pas comment obtenir les coordonnées des points sous la forme "id;x;y", c'est à dire sans qu'il y ai la présence des "min" et "max".
Si quelqu'un peu m'éclairer, merci d'avance.
Dernière modification par B.Arnaud (Tue 15 May 2012 16:31)
Hors ligne
#2 Wed 16 May 2012 11:02
Re: QGIS: déterminer centroid de polygone
Bonjour,
Pour créer deux champs X et Y, utilisez l'outil Vecteur -> Outils de Géométrie -> Exporter/Ajouter des colonnes de géométrie.
Hors ligne
#3 Thu 10 March 2016 10:03
- Lucien
- Participant actif
- Date d'inscription: 8 Mar 2016
- Messages: 104
Re: QGIS: déterminer centroid de polygone
Bonjour, je n'ai pas compris la solution de PA.
J'ai créé une grille de polygone avec l'outils vecteur -> outils de recherche -> grille vecteur
J'obtiens une table avec les champs ID, X_MIN, X_MAX, Y_MIN, Y_MAX
Je souhaite ajouter deux colonnes avec les coordonnées X et Y du centroïde de chaque maille, y a-t-il une fonction spécial?
Hors ligne
#4 Thu 10 March 2016 10:40
Re: QGIS: déterminer centroid de polygone
Bonjour,
J'imagine que vous avez généré une table de polygones qui à pour attributs les chmaps "ID, X_MIN, X_MAX, Y_MIN, Y_MAX"
Pour générer le x y des centroids de ces polygons en attribut, vous pouvez utiliser la calculatrice de champs :
x : x(centroid( $geometry))
y : y(centroid( $geometry))
Hors ligne
#5 Thu 10 March 2016 10:55
- Lucien
- Participant actif
- Date d'inscription: 8 Mar 2016
- Messages: 104
Re: QGIS: déterminer centroid de polygone
Oui j'ai généré une table de polygones qui a pour attributs les champs "ID, X_MIN, X_MAX, Y_MIN, Y_MAX"
L'expression indiquée ne fonctionne pas chez moi..., voilà comment se présente la grille en pièce jointe
Hors ligne
#6 Thu 10 March 2016 15:03
- Lucien
- Participant actif
- Date d'inscription: 8 Mar 2016
- Messages: 104
Re: QGIS: déterminer centroid de polygone
En attendant j'ai créé les points des centroïdes et j'ai jointé leur coordonnées X et Y (avec ma couche de polygone) par localisation.
Dans MapInfo il y avait les fonctions CentroidX(obj) et CentroidY(obj), il n'y a pas d'équivalent dans Qgis ?
Hors ligne
#7 Thu 10 March 2016 16:29
- Lucien
- Participant actif
- Date d'inscription: 8 Mar 2016
- Messages: 104
Re: QGIS: déterminer centroid de polygone
Réponse à moi même : dans QspatiaLite :
Coordonnée X du centroïde du polygone:
Code:
ST_X(ST_Centroid(Geometry))
Coordonnée Y du centroïde du polygone:
Code:
ST_Y(ST_Centroid(Geometry))
Hors ligne
#8 Thu 10 March 2016 16:40
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3941
Re: QGIS: déterminer centroid de polygone
Bonjour,
Dans MapInfo il y avait les fonctions CentroidX(obj) et CentroidY(obj), il n'y a pas d'équivalent dans Qgis ?
Avez-vous essayé la formule proposée par Dof? formule qui pourrait être simplifiée en x($geometry), la fonction x renvoyant le x soit du point soit du centroide en cas de géométrie non ponctuelle (cf. aide de la fonction)
Hors ligne
#9 Thu 10 March 2016 16:45
Re: QGIS: déterminer centroid de polygone
Merci pour le suivi. Désolé, j'ai pensé que vous aviez déjà créé vos centroïdes.
Hors ligne
#10 Tue 24 May 2016 09:22
- OliveT21
- Participant occasionnel
- Date d'inscription: 7 Dec 2006
- Messages: 39
Re: QGIS: déterminer centroid de polygone
Bonjour,
Je remonte le sujet car même avec toutes les explications trouvées, je ne parviens pas au résultat.
Dans MapInfo il y avait les fonctions CentroidX(obj) et CentroidY(obj), il n'y a pas d'équivalent dans Qgis ?
Je cherche à créer 2 nouvelles colonnes X et Y dans ma table d'objet polygones et les remplir avec les coordonnées X et Y des centroides.
C'était si simple sous MapInfo, mais je n'y arrive pas sous Qgis.
Merci de votre aide.
Hors ligne
#11 Tue 24 May 2016 09:47
- Lucien
- Participant actif
- Date d'inscription: 8 Mar 2016
- Messages: 104
Re: QGIS: déterminer centroid de polygone
Bonjour,
À partir de la 2.12 tu peux créer ta colonne directement dans la calculatrice de champ grâce à : x(geom) et y(geom)
(https://www.qgis.org/fr/site/forusers/v … ngelog212/)
Sinon, dans les versions d'avant en passant par SpatiaLite tu peux utiliser : ST_X(ST_Centroid(Geometry)) et ST_Y(ST_Centroid(Geometry))
Dernière modification par Lucien (Tue 24 May 2016 09:49)
Hors ligne
#12 Tue 24 May 2016 09:50
- OliveT21
- Participant occasionnel
- Date d'inscription: 7 Dec 2006
- Messages: 39
Re: QGIS: déterminer centroid de polygone
Bonjour,
Je suis en version 2.8.2 et la calculatrice de champ m'indique "L'expression est invalide" quand je mets x(geom) dans l'expression.
Je ne connais pas SpatiaLite, donc je ne peux pas m'y plonger.
Hors ligne
#13 Tue 24 May 2016 09:51
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3941
Re: QGIS: déterminer centroid de polygone
Bonjour,
C'est tout aussi simple sous QGIS: faites donc x($geometry) et y($geometry).
Dans la calculatrice de champs, vous avez un troisième panneau qui contient la description de chacune des fonctions disponibles; elle peut être utile par moments pour trouver les fonctions dont on a besoin.
EDIT: si vous êtes en 2.8, alors il devrait exister une fonction centroid qui renvoie l'objet centroide soit en "trichant" un peu, xmin(centroid($geometry))
Dernière modification par SANTANNA (Tue 24 May 2016 09:57)
Hors ligne
#14 Tue 24 May 2016 09:54
- OliveT21
- Participant occasionnel
- Date d'inscription: 7 Dec 2006
- Messages: 39
Re: QGIS: déterminer centroid de polygone
Bonjour,
J'ai toujours la même erreur "L'expression est invalide" avec cette fonction x($geometry).
Et le 3ème panneau n'est pas très locace sur la description des fonctions et leurs utilisations, c'est très très sommaire.
Hors ligne
#15 Tue 24 May 2016 09:59
- Lucien
- Participant actif
- Date d'inscription: 8 Mar 2016
- Messages: 104
Re: QGIS: déterminer centroid de polygone
-
Dernière modification par Lucien (Tue 24 May 2016 10:11)
Hors ligne
#16 Tue 24 May 2016 10:05
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3941
Re: QGIS: déterminer centroid de polygone
Et le 3ème panneau n'est pas très locace sur la description des fonctions et leurs utilisations, c'est très très sommaire.
Qu'auriez-vous aimé avoir de plus? QGIS est un projet qui vit des idées et apports de chacun donc si vous pensez que ce pourrait être plus clair, sur ce forum ou là, vous trouverez moyen de faire remonter vos idées/"réclamations" aux développeurs.
PS: j'ai édité ma réponse plus haut avec ce qui devrait être une solution en v2.8
Hors ligne
#17 Tue 24 May 2016 10:09
- Lucien
- Participant actif
- Date d'inscription: 8 Mar 2016
- Messages: 104
Re: QGIS: déterminer centroid de polygone
Merci Santanna je n'avais pas pensé à cette solution!
Hors ligne
#18 Tue 24 May 2016 10:11
- OliveT21
- Participant occasionnel
- Date d'inscription: 7 Dec 2006
- Messages: 39
Re: QGIS: déterminer centroid de polygone
Bonjour,
Désolé de vous avoir heurté. Je me suis résolu à venir poser la question sur le forum car je ne trouvais pas de réponse, ni dans le panneau descriptif de la fonction dont le contenu ne me parlait pas plus que ça, ni sur les forums.
Et je ne connais pas le langage SQL (ou si peu) pour mettre en oeuvre les autres alternatives proposées.
Merci de l'édition de la solution pour la version 2.8, je ne vois pas comment j'aurais pu la trouver tout seul.
Hors ligne
#19 Tue 24 May 2016 10:42
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3941
Re: QGIS: déterminer centroid de polygone
Désolé de vous avoir heurté. Je me suis résolu à venir poser la question sur le forum car je ne trouvais pas de réponse, ni dans le panneau descriptif de la fonction dont le contenu ne me parlait pas plus que ça, ni sur les forums.
C'est moi qui suis désolé que vous croyiez m'avoir heurté. Je vous invitais (en tout cas, c'est ce que j'essayais) juste à mieux préciser ce que vous auriez trouvé plus parlant, le genre d'éléments que vous auriez aimé y trouver. Désolé.
Hors ligne
#20 Tue 24 May 2016 10:58
- OliveT21
- Participant occasionnel
- Date d'inscription: 7 Dec 2006
- Messages: 39
Re: QGIS: déterminer centroid de polygone
Autant pour moi, désolé pour ce quiproco.
Je ne pensais pas qu'on pouvait faire remonter plus haut ce genre de recherche d'information.
En tout cas, la formule proposée mériterait d'être documentée car je ne l'ai trouvé nulle part.
Hors ligne
#21 Tue 24 May 2016 10:59
- J.San José
- Participant occasionnel
- Date d'inscription: 7 Sep 2015
- Messages: 14
Re: QGIS: déterminer centroid de polygone
Bonjour,
petite solution si vous cherchez à faire des points de surface (et non des centroïds), il y a l'extension realcentroid qui existe dans les plugins Qgis.
C'est simple, efficace et rapide, à la condition que vos géométries soient clean.
Cordialement.
Hors ligne
#22 Tue 24 May 2016 13:40
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3941
Re: QGIS: déterminer centroid de polygone
Autant pour moi, désolé pour ce quiproco.
Je ne pensais pas qu'on pouvait faire remonter plus haut ce genre de recherche d'information.
Sans vouloir faire du "non, c'est moi", "non, c'est plutôt moi"... Je pense vraiment qu'il faut que je réapprenne à écrire français calmement (peut-être avec plein de smileys contents?).
Ceci dit, la formule proposée sera documentée dans la prochaine version désormais. Et oui, il n'y a aucune barrière pour remonter les infos aux développeurs ou de participer aux projets selon vos capacités (techniques, financières, rédactionnelles, de traducteur, de testeur, ou des idées...) et à votre rythme. Toutes les portes sont open (Désolé les modos, si ça ressemble à du racolage).
@J.San José, sinon, sans créer de nouvelle couche, il y a aussi la fonction point_on_surface (mais dans les versions plus récentes de QGIS).
Hors ligne
#23 Tue 24 May 2016 14:24
- J.San José
- Participant occasionnel
- Date d'inscription: 7 Sep 2015
- Messages: 14
Re: QGIS: déterminer centroid de polygone
Thanks SANTANNA,
j'avais vu passé la fonction, et j'avoue que je n'ai toujours pas testé, je suis un papi du sig maintenant, j'ai mes habitudes...
Mais je vais tester à la prochaine occaz c'est un bon rappel.
A+
Hors ligne