返回给定Geometry对象的几何中位点。
语法
geometry ST_GeometricMedian (geometry g , float8 tolerance , int maxIter , boolean failIfNotConverged);
参数
参数名称 | 描述 |
---|---|
g | 目标Geometry对象。 |
tolerance | 容差。 |
maxIter | 最大迭代次数。 |
failIfNotConverged | 是否在超过迭代次数后依旧没有找到时报错。 |
描述
- 该算法将不断迭代,直到对象之间的距离变化小于提供的公差参数为止。如果在maxIter次数之后未满足此条件,则该函数将产生错误并退出,除非failIfNotConverged设置为False。
- 如果未提供tolerance,则将基于输入对象的范围计算默认tolerance。
- 如果存在点的M值,则该值将被解释为它们的相对权重。
示例
对比ST_GeometricMedian和ST_Centroid:
SELECT ST_AsText(ST_GeometricMedian(geom)) as GeometricMedian, ST_AsText(ST_Centroid(geom)) as Centroid
from (SELECT 'MULTIPOINT((0 0), (0 1), (1 1), (2 0))'::geometry as geom) as test;
geometricmedian | centroid
--------------------------------------------+-----------------
POINT(0.665913838138866 0.666097415551148) | POINT(0.75 0.5)
(1 row)