ST_Centroid
计算空间对象的几何中心(即质心)。如果几何图形除多边形外还存在点、线串或同时存在此二者,则质心计算仅考虑多边形。类似地,如果除线串外还存在点,则质心计算不考虑点。
要计算 GEOGRAPHY 对象的质心,请参阅 STV_Geometry 和 STV_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)
此图显示了多边形集合的质心。