ST_Centroid

计算空间对象的几何中心(即质心)。如果几何图形除多边形外还存在点、线串或同时存在此二者,则质心计算仅考虑多边形。类似地,如果除线串外还存在点,则质心计算不考虑点。

要计算 GEOGRAPHY 对象的质心,请参阅 STV_GeometrySTV_Geography 的示例。

行为类型

不可变

语法

ST_Centroid( g )

参数

g
需要计算质心的空间对象,类型为 GEOMETRY

返回

GEOMETRY(仅 POINT)

支持的数据类型

数据类型
GEOMETRY
Point
Multipoint
Linestring
Multilinestring
Polygon
Multipolygon
GeometryCollection

示例

以下示例显示了 ST_Centroid 的用法。

计算多边形的质心:

=> SELECT ST_AsText(ST_Centroid(ST_GeomFromText('POLYGON((-1 -1,2 2,-1 2,
   -1 -1))')));
  ST_AsText
------------
 POINT (-0 1)
(1 row)

计算多边形集合的质心:

=> SELECT ST_AsText(ST_Centroid(ST_GeomFromText('MULTIPOLYGON(((1 0,2 1,2 0,
   1 0)),((-1 -1,2 2,-1 2,-1 -1)))')));
               ST_AsText
--------------------------------------
 POINT (0.166666666667 0.933333333333)
(1 row)

此图显示了多边形集合的质心。