Annonce
Pour sécuriser votre compte sur les forums du GeoRezo, nous vous proposons de changer votre mot de passe.
Vous allez recevoir un message pour effectuer ce changement de mot de passe.
Merci de bien respecter les règles préconisées.
#1 Thu 16 September 2021 11:22
- jlavaure
- Participant assidu
- Date d'inscription: 20 Apr 2013
- Messages: 202
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: 1538
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: 202
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: 202
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