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 !.
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

#1 ven. 11 août 2017 17:35

Ricola62
Membre
Date d'inscription: 24 avril 2012
Messages: 85

[POSTGIS]Créer un polygone a partir de points

Bonjour,

Tout d'abord je débute sur POSTGRE/GIS;
j'ai 4 points  qui ont été positionné sur QGIS puis importé dans postgre, la table s'appelle 'try'
je voudrai a partir de ces 4 points créer un polygone afin d'extraire le centroide.
Cependant :
1) il faut pouvoir gérer l'ordre par lequel les points sont reliés
2)si je bouge un point le polygone bouge également et donc le centroide

J'ai élaboré cette expression sql mais elle ne fonctionne pas,
Pouvez vous m'aider svp?

Code:

CREATE VIEW spat.view AS
with points_ordonnes as (
    select try.geom
    from spat.try
    ORDER BY try.id
)
SELECT try.id, st_makepolygon(st_makeline(try.geom))AS geom
FROM points_ordonnes,spat.try
GROUP BY try.id;

Merci d'avance

Hors ligne

 

#2 sam. 12 août 2017 10:57

jmarsac
Membre
Lieu: NICE
Date d'inscription: 26 oct. 2005
Messages: 208
Site web

Re: [POSTGIS]Créer un polygone a partir de points

Bonjour,
dans ce cas, vous devez passer à st_makeline un tableau de points :

Code:

CREATE VIEW spat.view AS
WITH points_ordonnes AS (
    SELECT row_number() over() AS id, ARRAY (SELECT geom
    FROM spat.try
    ORDER BY id) AS ptsarray
)
SELECT id, st_makepolygon(st_makeline(points_ordonnes.ptsarray)) AS geom
FROM points_ordonnes;

en supposant que le tableau de points constitue bien un polygone

Dernière modification par jmarsac (sam. 12 août 2017 10:59)


Jean-Marie

Hors ligne

 

Pied de page des forums

Powered by FluxBB

Partagez  |