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)