ST_Centroid

Definition

ST_Centroid wählt ein Polygon oder Multipolygon aus und gibt den Punkt in der Mitte des Envelope der Geometrie zurück. Dies bedeutet, dass sich der Schwerpunkt auf halber Strecke zwischen der minimalen und maximalen X- und Y-Ausdehnung der Geometrie befindet.

Syntax

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

Rückgabetyp

ST_Point

Beispiel

Der städtische GIS-Fachmann möchte die Multipolygone von Gebäudegrundrissen in einer Bebauungsgrafik als einzelne Punkte anzeigen. Die Gebäudegrundrisse sind in der Tabelle "bfp" gespeichert, die mit den folgenden Anweisungen erstellt und aufgefüllt wurde:

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)
);

Die Funktion ST_Centroid gibt den Schwerpunkt jedes Gebäudegrundriss-Multipolygons zurück. Die Funktion ST_AsText wandelt jeden Schwerpunkt in eine Textbeschreibung um, die von der Anwendung erkannt wird.

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