#1 Fri 11 August 2017 17:35
- Ricola62
- Participant assidu
- Date d'inscription: 24 Apr 2012
- Messages: 167
[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 Sat 12 August 2017 10:57
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 (Sat 12 August 2017 10:59)
Jean-Marie
Azimut
Hors ligne