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

Printemps des cartes 2024

#1 Thu 16 September 2021 11:22

jlavaure
Participant assidu
Date d'inscription: 20 Apr 2013
Messages: 201

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: 1535

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: 201

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: 201

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

 

Pied de page des forums

Powered by FluxBB