#1 Thu 16 September 2021 11:22
- jlavaure
- Participant assidu
- Date d'inscription: 20 Apr 2013
- Messages: 203
Centroid de polygone + transformation coordonnées
Bonjour Ă tous,
J'ai une table sur Postgres/Postgis avec des polygones en Lambert93 (2154), je souhaiterais obtenir la longitude et la latitude du centroid de chaque polygone en WGS84 (4326).
Avez-vous des idĂ©es de requĂȘtes ?
J'arrive d'un cÎté à transformer le référentiel :
Code:
SELECT st_transform(geom,4326) from ma_table;
De l'autre cÎté j'arrive à obtenir les coordonnées du centroid de chaque polygone :
Code:
SELECT ST_X(ST_centroid(geom)), ST_Y(ST_centroid(geom)) from ma_table;
Mais je n'arrive pas Ă "combiner" ces deux requĂȘtes pour obtenir le rĂ©sultat voulu.
Merci d'avance pour votre aide.
J
Hors ligne
#2 Thu 16 September 2021 11:33
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1566
Re: Centroid de polygone + transformation coordonnées
Bonjour,
Quelle est l'erreur que vous obtenez ? Ca doit venir de parenthÚses mal fermées ou autre erreur de syntaxe.
Code:
SELECT ST_X(ST_centroid(st_transform(geom, 4326))), ST_Y(ST_centroid(st_transform(geom, 4326))) from ma_table;
Nicolas
Hors ligne
#3 Thu 16 September 2021 12:31
- jlavaure
- Participant assidu
- Date d'inscription: 20 Apr 2013
- Messages: 203
Re: Centroid de polygone + transformation coordonnées
Merci ça fonctionne !
En effet c'était juste une histoire d'ordre d'appel des fonctions !
Super !
J
Hors ligne
#4 Wed 02 February 2022 12:04
- jlavaure
- Participant assidu
- Date d'inscription: 20 Apr 2013
- Messages: 203
Re: Centroid de polygone + transformation coordonnées
Bonjour,
Je remonte ce vieux sujet car j'ai une difficulté qui vient de s'ajouter.
Est il possible d'appliquer la requĂȘte prĂ©cĂ©dente mais Ă partir d'une polyligne -> buffer ?
Je pars d'une polyligne, je créer un buffer de 1m, de calcul de centroid que je transforme en WGS84.
Merci pour votre aide, je bloque un peu.
J
Hors ligne
#5 Wed 02 February 2022 16:29
- JP LLORENS
- Participant assidu
- Date d'inscription: 12 Nov 2008
- Messages: 231
Re: Centroid de polygone + transformation coordonnées
Bonjour.
Code:
with monbuffer as (select st_buffer(magéométrie, 1) as geom from matable -- je génÚre le buffer SELECT ST_X(ST_centroid(st_transform(monbuffer.geom, 4326))), ST_Y(ST_centroid(st_transform(monbuffer.geom, 4326))) from monbuffer ;
Vous pouvez remplacer ST_centroid par ST_PointOnSurface pour avoir un centroïde à l'intérieur du buffer quelque soit sa forme.
Cordialement
JP
Hors ligne

