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

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

 

Pied de page des forums

Powered by FluxBB