ST_Centroid

Définition

La fonction ST_Centroid part d'un objet polygon ou multipolygon et renvoie le point correspondant au centre de l'enveloppe de la géométrie. Cela signifie que le centroïde se trouve à mi-chemin entre les étendues x et y minimales et maximales de la géométrie.

Syntaxe

sde.st_centroid (pl1 sde.st_geometry)
sde.st_centroid (mpl1 sde.st_geometry)

Type de retour

ST_Point

Exemple

Le technicien SIG municipal souhaite afficher les objets multipolygon des emprises de bâtiments comme points isolés dans une illustration de la densité de construction. Les emprises de bâtiments sont stockées dans la table bfp qui a été créée et remplie à l'aide des instructions ci-dessous :

CREATE TABLE bfp (
building_id integer,
footprint sde.st_geometry);

INSERT INTO bfp VALUES (
1,
sde.st_polygon ('polygon ((0 0, 0 10, 10 10, 10 0, 0 0))', 0)
);

INSERT INTO bfp VALUES (
2,
sde.st_polygon ('polygon ((20 0, 30 20, 40 0, 20 0))', 0)
);

INSERT INTO bfp VALUES (
3,
sde.st_polygon ('polygon ((20 30, 25 35, 30 30, 20 30))', 0)
);

La fonction ST_Centroid retourne le centroïde de chaque objet multipolygon d'emprise de bâtiment. La fonction ST_AsText convertit chaque point centroïde en représentation textuelle reconnue par l'application.

Oracle

SELECT building_id,
sde.st_astext (sde.st_centroid (footprint)) Centroid
FROM bfp;

BUILDING_ID                   Centroid

   1                     POINT  (5.00000000 5.00000000)
   2                     POINT  (30.00000000 10.00000000)
   3                     POINT  (25.00000000 32.50000000)

PostgreSQL

SELECT building_id,
sde.st_astext (sde.st_centroid (footprint)) 
AS centroid
FROM bfp;

building_id                  centroid

   1                     POINT  (5 5)
   2                     POINT  (30 10)
   3                     POINT  (25 33)

7/10/2012